Next Toronto LLVM Meetup - Thursday, February 27, 2020


We are hosting our next LLVM / Clang Social Meetup in Toronto on Thursday, February 27, 2020. So if you are around the Toronto-area on February 27th, come out for a chance to meet your fellow community members and listen to the talk.

If you would be interested in attending this event or other events in future, please join the LLVM-Clang-Toronto-socials group on meetup:

The following is the schedule for the meetup:

Time: 6:00 pm (presentations start at 6:30 pm).


The front building door has restricted after hours access so please arrive before 7pm.


6:00 – 6:30 pm Social Interaction
6:30 – 7:30 pm Presentation (“Khronos SYCL and oneAPI: Heterogeneous Programming with Modern C++ and Machine Learning” - Presented by Michael Wong)
7:30 – 8:00 pm Q &A / Discussions.


Mozilla Toronto
366 Adelaide St W‎. Suite 500
Toronto, ON M5V 1R9, Canada

The event will be in the Union Commons which is through the doors on the right if you are facing the reception desk.

Public Transport:

We are a 5-10 minute walk from Toronto’s subway system (St. Andrews Station), but the 501 Queen streetcar (2 minutes North of the office), 510 Spadina streetcar (just West of the office) and 504 King street (1 minute South of the office) are also easy to use and provide frequent service.

Talk Abstract:

“Khronos SYCL and oneAPI: Heterogeneous Programming with Modern C++ and Machine Learning”
Presented by Michael Wong (

SC19 was my twelfth trip to the International Conference for High Performance Computing, Networking, Storage and Analysis, I recall my first event was SC08. In a way we have come full circle, first making C available to the heterogeneous world in 2008 through OpenCL, and now making modern C++ available in 2019. During that time, we had already gained a great deal of experience with making Modern C++ heterogeneous, with examples from OpenMP, Kokkos, Raja, C++ AMP, HPX, and SYCL. We are now in the process of bringing that experience to ISO C++.

For me personally, I have been dreaming of something like SYCL and oneAPI since I was involved with OpenMP. Even back then, I had always wished there was one programming model that could be used to serve both the HPC and the embedded space—instead of multiple models. SYCL helps to satisfy that goal.

The C++ Direction Group has set a future direction for C++ and includes recommendation for C++ in the short and medium term. The first half of this talk will devote to the issue of 3Ps: Performance, Portability and Productivity. The other parts will consider the C++ Directions Group’s description of where future C++ is heading. It also includes a guidance towards Heterogeneous C++.

The rest of this talk presents some of the challenges and solutions to implement a Heterogeneous C++ standard in Clang based on our implementation of Khronos’s SYCL language with Codeplay’s ComputeCpp compiler and my previous experience with OpenMP/OpenACC, with the fast growth of C++ and clang being a platform of choice to prototype many of the new C++ features. We also demonstrate the ecosystem that Codeplay has built to support Machine Learning using SYCL.