Codeplay joins together with the SYCL community at SC20 online
The SuperComputing Conference (SC20) is the largest gathering of HPC professionals in the world and normally would bring more than 11,000 attendees together in a huge conference facility. For the first time, however, like most other conferences this year, SC20 is running online. That doesn't mean that attendees will somehow have an inferior experience, the program has retained a large part of the normal schedule with countless sessions to attend and watch, and the added benefit of watching many of the sessions at your own leisure. This year Codeplay is involved in several sessions at SC20 that I'll touch on below alongside others that are highly relevant to the developer community. It's also worth noting that SYCL™ is involved or named in >10 sessions this year, demonstrating the support it is seeing amongst the HPC developer community.
Last year there was a visible shift in the landscape of HPC programming at SC19, with significant growth in the number of sessions focused on the use of C++ in supercomputers across the industry, you can find out more about last year's C++ and SYCL activities in this blog post. What's also becoming clear is that HPC developers are looking for an alternative to being locked in by proprietary programming models, in particular CUDA™, and this is driving the interest in SYCL which is growing rapidly.
If you are new to SYCL, it is an open standard specification from the Khronos® Group defining a single-source C++ programming layer that allows developers to leverage C++ features on a range of heterogeneous devices. A heterogeneous device is a platform with one or more CPUs with additional acceleration devices like GPUs, DSPs, FPGAs and AI/ML chips. SYCL takes advantage of heterogeneous hardware architectures that enable parallel execution to provide a foundation for creating efficient, portable, and reusable middleware libraries and accelerated applications. If you want to find out more about SYCL, the SYCL.tech community website is a good place to start. You'll also hear a lot of people talking about oneAPI at SC20, this is a cross-industry, open, standards-based unified programming model being spearheaded by Intel and at the heart of it is SYCL. oneAPI defines a set of frameworks and libraries that can work seamlessly with SYCL to deliver portable performance.
So what sessions should you look out for this year at SC20?
The conference kicks off with the tutorial sessions on the 9th November, and this year there is a SYCL tutorial that has participation from all the SYCL implementers. This is a half-day introduction to programming with SYCL and will help developers learn the fundamentals. Join the tutorial session entitled HPC Application Development Using C++ and SYCL with presentations and exercises by Gordon Brown (Codeplay), Rod Burns(Codeplay), Aksel Alpay (Heidelberg University), Tim Mattson (Intel), and Ronan Keryell(Xilinx).
Intel's™ oneAPI initiative was fully launched in beta last year at SC19 and this year on the 12th and 13th November alongside SC20, Intel is organizing the first oneAPI Developer Summit. Codeplay will be involved in this event and Codeplay CEO Andrew Richards will deliver a keynote talk Building an open AI & HPC ecosystem explaining how developers can use SYCL and oneAPI to build portable HPC applications with great performance. On the 13th November Codeplay CTO Ruyman Reyes joins a panel to discuss oneAPI tools, and I am sure he will be emphasizing how crucial SYCL is to enable all the tools developers need.
The P3HPC Workshop is a day long event on the 13th November hosted by Argonne National Labs who are currently preparing for the Aurora Exascale supercomputer. This workshop occurs each year at SuperComputing and this year there are a couple of SYCL talks. Firstly, a hot topic right now is Exascale computing and there are several organizations vying to be the first to build a supercomputer with Exascale capabilities. The talk Tracking Performance Portability on the Yellow Brick Road to Exascale by the University of Bristol delves into some interesting statistics and benchmarks on the best candidates for delivering performance and portability in the exascale era of supercomputers. Mehdi Goli from Codeplay is also presenting his paper Cross-Platform Performance Portability of DNN Models using SYCL and will present the results of our research into performance for deep neural network libraries. Finally, the workshop closes with a paper from Oak Ridge National Laboratory researchers Beau Johnston, Jeffrey S. Vetter, and Josh Milthorpe. Their paper Evaluating the Performance and Portability of Contemporary SYCL Implementations will show results from the SYCL-bench open-source benchmarks project on a variety of hardware.
On the same day is the WACCPD workshop, where Aaron Walden from NASA will be presenting on Performance and Portability of a Linear Solver Across Emerging Architectures including their use of SYCL.
You are also likely to see presentations that include SYCL work at H2RC - The sixth International Workshop on Heterogeenous High-Performance Reconfigurable Computing.
As I've already highlighted SYCL is a key part of oneAPI, and on Tuesday Sepetember 17 there is a panel session featuring various organizations entitled The oneAPI Software Abstraction for Heterogeneous Computing at SC20. The panel features Khronos SYCL Chair and Codeplay Distinguished Engineer Michael Wong alongside Rafael Asenjo (University of Malaga, Spain), Erik Lindahl (Stockholm University), Xiaozhu Meng (Rice University), David Hardy (University of Illinois), and Maria Garzaran (Intel). There are expected to be some interesting questions and debates about the future direction and development of the oneAPI initiative and it will be worth watching this session on November 17th.
The Birds of a feather sessions at SuperComputing are designed to enable maximum interaction from the audience, rather than just a set of presentations. This year, on Thursday, November 19, there is a joint ISOC++ and SYCL BoF hosted by Michael Wong from Codeplay and Professor Simon Mcintosh-Smith from the University of Bristol. This year there will be a truly global audience and this is a great opportunity to bring your own topics to the group to be discussed with the SYCL community. There will be a 30 minute presentation covering the SYCL 2020 and C++20 by Michael Wong, followed by a live panel consisting of experts from the SYCL and ISO C++ communities. This was possible because many experts cross both SYCL and ISO C++ committees and this year we are very happy to have Professor Bjarne Stroustrup, the creator of C++ joining us from Columbia University and Morgan Stanley to discuss ISO C++. We also get a chance to have many people who normally don't or can't attend SC20, including
- The implementer of hipSYCL, Aksel Alpay
- Intel Senior Fellow Geoff Lowney from oneAPI
- Tom Deakin developer of the Bristol BabelStream benchmark
- Ronan Keryell lead of the triSYCL project and ISO C++ SG1
- Nevin Liber of ANL who is a C++ Library Evolution Group co-chair working on the Aurora Supercomputer
- Brandon Cook who works on various Intel/Nvidia™ systems at LBNL
- Hal Finkel with experience working on the Aurora supercomputer but also an INCITS (US Standards Associaton) vice-chair to C++
- Medhi Goli on Codeplay Research and Nvidia implementation of SYCL
- Michael Wong who is a Chair of ISO C++ Directions Group, as well as chair of SYCL.
Join the Khronos SYCL 2020 Release and ISO C++ 20 status and future directions BoF on the 19th of November to ask the live panelists questions in real-time regarding SYCL and ISO C++.
The last thing I'd like to cover is that while It's safe to say it will be a busy week at SC20, if you'd like to organize a specific time to talk to our team during SC20 get in touch via our contact form or via Twitter and we will set something up.
SYCL and Khronos are trademarks of the Khronos Group Inc. Nvidia and CUDA are registered trademark of NVIDIA Corporation. Intel is a trademark of Intel Corporation in the U.S. and/or other countries.