Call For Papers: Distributed & Heterogeneous Programming in C/C++

The call for papers is now open for DHPCC++19 and closes on 27th January.

DHPCC++, 13 May 2019, Northeastern University, Boston, USA

by the DHPCC++

From the article:

This will be the 3rd DHPCC++ event in partnership with IWOCL, the international OpenCL workshop with a focus on heterogeneous programming models for C and C++, covering all the programming models that have been designed to support heterogeneous programming in C and C++.

Many C++ programming models exist including SYCL, HPX, KoKKos, Raja, C++AMP, HCC, Boost.Compute, and CUDA. This conference aims to address the needs of both HPC and the consumer/embedded community where a number of C++ parallel programming frameworks have been developed to address the needs of multi-threaded and distributed applications. The C++11/14/17 International Standards have introduced new tools for parallel programming to the language, and the ongoing standardization effort is developing additional features which will enable support for heterogeneous and distributed parallelism into ISO C++ 20/23. This conference is an ideal place to discuss research in this domain, consolidate usage experience, and share new directions to support new hardware and memory models with the aim of passing that experience to ISO C and C++.

Topics of interest include, but are not limited to:

  • Future Heterogeneous programming C/C++ proposals (SYCL, Kokkos, Raja, HPX, C++AMP, Boost.Compute, CUDA …)
  • ISO C/C++ related proposals and development including current related concurrency, parallelism, coroutines, executors
  • C/C++ programming models for OpenCL
  • Language Design Topics such as parallelism model, data model, data movement, memory layout, target platforms, static and dynamic compilation
  • Applications implemented using these models including Neural Network, machine vision, HPC, CFD as well as exascale applications
  • C/C++ Libraries using these models
  • Integration of these models with other programming models
  • Compilation techniques to optimize kernels using any of (clang, gcc, ..) or other compilation systems
  • Performance or functional comparisons between any of these programming models
  • Implementation of these models on novel architectures (FPGA, DSP, …) such as clusters, NUMA and PGAS
  • Using these models in fault-tolerant systems

First videos from Meeting C++ 2018 are online!

Right now its the lightning talks which are being uploaded, followed by the first keynote tomorrow!

Meeting C++ 2018 Videos

by Jens Weller

The talks will follow in the coming weeks. Over the weekend the keynotes and lightning talks should be online.

C++Now 2019 Call for Submissions is Live

C++NowC++Now 2019 will be held in Aspen, May 5–10, 2017.

C++Now 2019 Call for Submissions

From the invitation:

The C++Now 2019 Call For Submissions is open! We invite all members of the C++ community, including first time submitters, to submit session proposals to the 8th annual C++Now Conference: C++Now 2018 (Aspen CO, USA, May 5 – 10, 2019).

C++Now builds upon the resounding success of previous BoostCon and C++Now conferences. We look forward to considering your proposals. You will be joining leading speakers from the entire C++ community in making C++Now 2018 better than ever.

Haifa::C++ meetup - Future direction of C++ and C++20: on the road towards heterogeneous programming

The upcoming Haifa::C++ meetup (Dec. 18) will feature a special talk:

Future direction of C++ and C++20: on the road towards heterogeneous programming

By Michael Wong

From the event description:

C++ 20 is sure to be a major release but have you ever wondered if there is a direction to C++?
The first half of this talk will devote to the Directions Groups' description of where future C++ is heading and show some of the features that have already landed towards C++20. Next, the current status of parallel programming support in C++ will be discussed, along with an outline of the upcoming features related to parallelism in C++20 and TSs. Lastly, the way C++ moves towards heterogeneous support will be highlighted, describing changes that started in C++11 with lambda, pushed forward with C++17 with Thread of Execution, and soon to enter C++20 with executors. These form a subtle but definite direction towards heterogeneous programming support.


Madrid Cpp meetup: Bare metal programming

New Madrid C++ comin' atcha:

Embedded systems: Bare metal programming

By Madrid C/C+

In Spanish from the event brief: 

Acabamos el año con uno de los meetups más esperados de la temporada: sistemas embebidos. Nos adentramos en un terreno inexplorado por muchos de nosotros, pero que tienen gran relevancia en el mundo industrial: IoT, domótica, industria del automóvil,...

How to build a JIT compiler in C++ with LLVM—Mark Leone

At the December 2018 meetup of Utah C++ Programmers, Mark Leone will give us a presentation on how to build a JIT compiler in C++ with LLVM. Food will be provided, so please RSVP so we have a proper headcount.

How to build a JIT compiler in C++ with LLVM

by Mark Leone

About the meetup:

In this talk I'll show how to compile a simple programming language into machine code using the LLVM compiler toolkit. I'll start with a simple lexer (using re2c) that converts a stream of characters into a stream of tokens (e.g. numbers and identifiers), followed by a simple parser (using recursive descent) that produces a syntax tree. Then I'll show how to generate LLVM intermediate code (IR), optimize it, and generate machine code using the LLVM JIT engine. Full source code will be available afterwards.

No compiler experience will be required, although a reasonable familiarity with C++ will be assumed. Check out the LLVM Tutorial for a preview of similar material.

About the speaker: Mark Leone has been working with C++ as a graphics software engineer for 20 years. He recently joined the OptiX ray tracing team at NVIDIA here in Salt Lake City. He has over two dozen movie credits for his previous work at Pixar and Weta Digital (in New Zealand).

Meeting C++ and Meeting Embedded trip report—Conan C/C++ Package Manager

Were you there? 

Meeting C++ and Meeting Embedded trip report

by Conan C/C++ Package Manager

From the article:

On Wednesday, before Meeting C++, we attended and presented a talk at Meeting Embedded, a new conference about many topics related to embedded systems. C++ and C had a relevant role in this conference, obviously (accordingly to Dan Saks statistics around 60% in embedded code is C, then around 20% is C++, followed by assembly), but where other topics presented, like Rust, protocols for embedded (MQTT), academic and professional education, real-time systems.

We did our own talk Continuous Integration of C/C++ for embedded and IoT with Jenkins, Docker and Conan, which went quite well, especially considering that we were running a real demo, live updating the embedded code in a Raspberry PI, that was built with Docker in Jenkins, using cross-compiled (from Windows) packages, and uploaded to Artifactory, all of that done in the live demo...

Pacific++ 2018: C++ Past vs. Future—Titus Winters

Did you see it?

Pacific++ 2018: C++ Past vs. Future

by Titus Winters

From the video:

Over the last 35 years, C++ has remained a constant fixture in the programming landscape. With advancements in the language through C++11, 14, and 17, we've created new dialects that have breathed new life into C++. With C++ Core Guidelines and a rich community of authors and speakers providing guidance on C++, it is easier now to steer clear of problem areas and hopefully stay in the "good parts" of the language.
Or at least, that's what we'd like. In practice, many habits of C++ programmers are unsafe and will be hard to keep working. The triple perils of ADL, ODR, and ABI leave a wide assortment of pitfalls for code maintenance. Many systems happen to work, but perhaps more out of luck than actual correctness.
How do we explain this dichotomy? How is the language better than it ever has been, and at the same time so dangerous and burdened with silent pitfalls and legacy? Can the standard evolve over time to reduce these perils? More importantly: should it?
In this talk I'll remind people of how precarious most C++ code is in the face of change (like advancing to a new language version), and discuss the most fundamental issue facing the committee these days: how to balance between the legacy code of the past and the yet-to-be-written code of the future.