BayLibre is Powering Supercomputers with GCC Enhancements

For the past couple of years, BayLibre’s Compiler team has been at the forefront of GCC enhancement, mandated by Oak Ridge National Laboratory to deliver advancements for GPU accelerator offloading. This work is vital for the world’s most powerful supercomputers, ensuring they achieve necessary computational capabilities within an affordable power envelope.

A Legacy of Open-Source Contribution

Composed of GNU toolchain maintainers and contributors, many of whom joined BayLibre in 2024 from CodeSourcery/Mentor/Siemens, the BayLibre Compiler Services Team has a proven track record. Their upstream contributions date back to the early 2000s, with current team members having committed over 3,000 patches to the GCC mainline repository since 2010, and more than 1,500 since 2019.

Beyond features development, the team regularly contributes bug fixes, cleanups, documentation, and code reviews for GCC code supporting accelerator programming languages (OpenMP and OpenACC), NVPTX and AMD GCN back ends, and more. In addition, the team actively participates in the OpenMP and OpenACC specification process.

Key Achievements in Accelerator Support

In 2020, the team began integrating missing OpenMP 4.5 features into GCC, supporting both AMD and Nvidia GPUs. Mandated by ORNL, significant milestones have been achieved in the following, including:

  • Adding OpenMP 5.0 / 5.1 / 5.2 support for AMD and Nvidia
  • Adding OpenACC 2.7 support for AMD and Nvidia
  • Adding GPU C++ Freestanding Standard Library for AMD and Nvidia
  • Adding OpenMP Interoperability Support for Nvidia’s CUDA, and AMD’s HIP and HSA
  • Taking the first steps in performance optimization

The Road Ahead: Performance and Portability

The team is now preparing for the next phase of this work. This involves porting compiler support to the latest versions of base languages (C, C++, Fortran) and upgrading to the newest OpenMP and OpenACC specifications. Another key focus will be defining a general methodology for performance improvement, including optimizing both GPU kernel launch times and code generation to make best use of GPU capabilities.

All the work completed and ongoing by the BayLibre Compiler Services Team, being open-source solutions, offers benefits to supercomputer users worldwide. By facilitating the portability of user code between systems with and without accelerators, they are participating in shaping the future of high-performance computing.

BayLibre’s development work to improve this well-known tool (GCC) has the potential to benefit the whole HPC community,” said David Bernholdt, distinguished R&D staff member at Oak Ridge National Laboratory.

We are excited about the continued impact of these contributions on the supercomputing landscape!