CppCon is the annual, week-long face-to-face gathering for the entire C++ community. The conference is organized by the C++ community for the community. You will enjoy inspirational talks and a friendly atmosphere designed to help attendees learn from each other, meet interesting people, and generally have a stimulating experience. Taking place this year in Aurora, Colorado, near the Denver airport, and including multiple diverse tracks, the conference will appeal to anyone from C++ novices to experts.
Khronos Standards Sessions
The Future of C++ Parallel and Concurrency Safety Guidelines
Date and Time: September 14 | 12:00–13:00 Speakers: Ilya Burylov (Intel), Michael Wong (Codeplay and SYCL Working Group Chair) Website: Click here
There has never really been any guidelines for safe parallel/concurrency C++. This is not an oversight. The challenge of creating safety standards and guidelines has been so involved that just focusing on the rules for sequential programming has consumed most group's time, especially as they track a rapidly changing C++ Standard. There have been only a few concurrency related-rules in HIC++, SEI CERT C++, C++CG, WG23, Khronos Safety forum(SCAF), as well as several European H2020 projects, though none of them are specifically for static analyzers, with a mixture of meta-guidelines and specific guidance. However, they have formed a useful starting point Over the last 2 years, I have been working with experts from various Safety Groups including WG23, SG1, and MISRA to develop a set of guidelines for safe concurrency and have developed nearly 100 rules which I plan to put into C++CG, and MISRA C++. We have needed this collaboration among all the groups because not everyone who is a concurrency expert is a safety experts, and vice versa. Many more people are experts in neither domain, and need to still understand how to program parallelism and concurrency safely.
Date and Time: September 15 | 7:30–8:30 Speakers: Herb Sutter (Microsoft), Bjarne Stroustrup (Morgan Standley), Bryce Adelstein Lelbach (NVIDIA), Hana Dusíková (AVAST), Inbal Levi (SolarEdge), JF Bastien (Toyota) Michael Wong (Codeplay and SYCL Working Group Chair), Tony Van Eerd (Christie Digital) Website: Click here
Bring your questions! This panel of representative members of the C++ standards committee is ready to discuss everything from the just-completed C++20, to how the committee is working online as we start the C++23 cycle, and what to look forward to in Standard C++ in the coming years.
How to program embedded devices using C++
Date and Time: September 15 | 13:30–14:30 Speakers: Michael Wong (Codeplay and SYCL Working Group Chair) Website: Click here
SYCL 2020 talk: Heterogeneous Programming in C++ with SYCL 2020
Date and Time: September 16 | 9:00–10:00 Speakers: Gordon Brown (Codeplay) & Michael Wong (Codeplay and SYCL Working Group Chair) Website: Click here
This talk will present the current state of the SYCL ecosystem, including the supported implementations of which now there are four; ComputeCpp, DPC++, hipSYCL and triSYCL, as well as the range of platforms that are now supported by SYCL via these implementations. It will take a close look specifically at supporting Nvidia GPUs via DPC++’s CUDA backend, as this was a widely requested feature by SYCL developers in the C++ community.
This talk will then take a deep dive into the new features that SYCL 2020 is introducing and how these will improve SYCL application development for C++ developers.
Finally, this talk will end with a look at the SYCL standard, and where we hope to see it going in the future.
SYCL Tutorial: GPU Programming in Modern C++
Date and Time: September 21-23 | 11:00–17:00 Speakers: Gordon Brown (Codeplay) & Michael Wong (Codeplay and SYCL Working Group Chair) Website: Click here
GPU Programming in Modern C++ is a two-day training course with programming exercises taught by Gordon Brown and Michael Wong. It is offered online from 11AM to 5PM Eastern Time (EDT), Monday September 21st through Wednesday September 23rd, 2020 (after the conference).
We will also encourage attendees to pre-setup a SYCL implementation on the laptop they attend with. Attendees will be contacted about this before the class.