NERSC, ALCF, Codeplay Partner on SYCL GPU Compiler

The National Energy Research Scientific Computing Center (NERSC) at Lawrence Berkeley National Laboratory (LBNL) and Argonne Leadership Computing Facility (ALCF) are working with Codeplay Software to enhance the LLVM SYCL GPU compiler capabilities for Nvidia A100 GPUs.

The collaboration is designed to help NERSC and ALCF users, along with the HPC community in general, produce high performance applications that are portable across compute architectures from multiple vendors, the organizations said.

UK-based Codeplay is developer of compilers and tools for different hardware architectures. It has been an implementer of SYCL compilers and a contributor to open source support for Nvidia V100s through the DPC++ project. A100s are available in the ThetaGPU extension of ALCF’s “Theta” Cray XC40 supercomputer and will power NERSC’s Perlmutter supercomputer.

SYCL, an open standard maintained under The Khronos Group, was first released in 2014 and is a royalty-free, cross-platform abstraction layer that enables code for heterogeneous processors to be written using standard ISO C++ with the host and kernel code for an application contained in the same source file. SYCL has been closely aligned to OpenCL, but over time has evolved into a distinct programming model. Under the new contract, Berkeley Lab and Argonne researchers will work with Codeplay engineers to enhance the LLVM-based DPC++ open source compiler, based on the SYCL 2020 standard, to support NVIDIA A100 GPUs.

SYCL will be supported on the forthcoming Department of Energy Aurora exascale supercomputer to be housed at Argonne, and, with this work can be used with Perlmutter.

“With thousands of users and a wide range of applications using NERSC’s resources, we must support a wide range of programming models,” said Brandon Cook, application performance specialist at NERSC. “In addition to directive-based approaches, we see modern C++ language-based approaches to accelerator programming, such as SYCL, as an important component of our programming environment offering for users of Perlmutter.”

“Further, this work supports the productivity of scientific application developers and users through performance portability of applications between Aurora and Perlmutter.” “The ALCF is excited to see that Perlmutter will be supporting the SYCL programming model via DPC++,” said Kalyan Kumaran, director of technology at the ALCF.

“As a key programming model for Argonne’s upcoming exascale system, SYCL and DPC++ will benefit the broader DOE community by providing portability of accelerator programming models across DOE computing facilities.” “We are delighted to see the SYCL programming standard being embraced by the U.S. national labs and providing scientists developing accelerated C++ with a standardized software platform,” said Andrew Richards, founder and CEO of Codeplay Software. “Codeplay is a big believer in open standards and has worked extensively within Khronos to define and release SYCL 2020, which includes many new features such as memory handling for higher overall system performance.”