The SuperComputing Conference (SC21) is the largest gathering of HPC professionals in the world and this year is being held as a hybrid event with both online and in person activities happening. One of the benefits I have found from online events is that it's possible to bring together a much wider group of experts with specific competencies. The SYCL tutorials that I have organized this year have been able to feature individuals from a wide range of organizations which just would not be possible if these were held physically.
This year there are lots of sessions that are highly relevant for SYCL developers and the wider community.
There continues to be a trend in HPC of developers looking to C++ as a programming language for their existing and future project development. Beyond that developers are moving to avoid specific proprietary programming models, like CUDA™, that ties them to a specific vendor processor. In particular, the National Laboratories in the United States have laid out the options they would like to offer to researchers using the pre-exascale and exascale supercomputers, with SYCL helping to provide both performance and portability of C++ code across all machines.
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 SC21, in particular at the oneAPI Developer Summit. oneAPI 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 SC21?
Sunday 14th November
It may still be the weekend but there are lots of workshops and events happening, and here's a summary of all the most relevant sessions.
The oneAPI Developer Summit is an all day event being held online where the focus is on how a wide range of organizations are using SYCL to develop high performance applications for large systems. At this event you can join Senior Software Engineer Joe Todd from Codeplay to learn how to port your code from CUDA to SYCL using DPC++ and still get great performance on Nvidia GPUs. This is a workshop including a demonstration of how to achieve this with real code. You can also find out about how Finlay Marno, who recently joined Codeplay from Edinburgh University, and Danial Chitnis accelerated the LU decomposition algorithm using SYCL. There are many other relevant sessions and you can find the full schedule on the website.
Multiple SYCL compilers are using the LLVM compiler infrastructure including ComputeCpp and hipSYCL. In particular the DPC++ project has begun the process of upstreaming SYCL into the main LLVM compiler project. It's therefore relevant to see Codeplay Distinguished Engineer and SYCL Working Group Chair Michael Wong making the keynote talk at the "7th Annual Workshop on the LLVM Compiler Infrastructure in HPC" and we expect to hear more about how developers are benefitting from all these contributions to LLVM in other talks.
Tom Deakin from the University of Bristol has been working on performance portability research for years and has many published research papers on the topic. He will present at HiPar21on scoped parallelism as an extension to the existing hierarchical parallelism in SYCL alongside the co-authors of this paper. This will be an interesting talk where it will be possible to see direct comparisons of using SIMT, hierarchical parallelism and scoped parallelism paradigms.
Lawrence Berkeley National Laboratory are starting to run applications on the pre-exascale Perlmutter supercomputer. Vincent Pascuzzi from LBNL will present a paper co-authored with Mehdi Goli from Codeplay where he demonstrates cross-platform portability of random number generation using the oneMKL library. The results are at par with native implementations for Nvidia and AMD hardware proving that SYCL can achieve this portability goal.
Monday 15th November
The H2RC workshop focuses on high performance reconfigurable computing and Michael Kisner from Intel will present Device_global, new extension for SYCL introducing device-scoped allocations to enhance performance and usability.
Tuesday 16 November
The SYCL Birds of a Feather returns to SuperComputing, hosted by Simon Mcintosh-Smith, Codeplay's Michael Wong and James Broadman. Expect participation from all the world's SYCL experts so this is an opportunity to ask your most difficult SYCL questions to those who are defining the specification.
Wednesday 17 November
The C++ Birds of a Feather at SuperComputing is very relevant because SYCL is closely aligned with the ISO C++ standard. This BoF is hosted by Codeplay's Michael Wong and Bjarne Stroustrup so is a unique opportunity to ask questions and join the discussion on where C++ is going in an increasingly heterogeneous world.
Friday 19th November
On the closing day experts including Samantika Sury and John Pennycook from Intel will present a session entitled "A Holistic Systems Approach to Leveraging Heterogeneity" as part of PEHC. During the presentation the authors will detail the vision for oneAPI (with SYCL at its heart) that addresses the challenges of heterogeneous computing.
These are only a small number of the total talks at SuperComputing and whether you are planning on attending in person or online you won't run out of sessions to attend.