The emergence of software libraries is critical for the advancement of scientific research in a variety of fields. The COLA software library, which is designed for lattice QCD and written in a combination of modern Fortran and C/C++, is one such software library. For a long time, the library has served as the computational foundation for the CSSM lattice research programme. However, as the hardware landscape evolves, the library must be updated to ensure optimal performance and portability.
In recent years, Intel and NVIDIA have dominated the HPC domain, but with the arrival of AMD-based systems in the supercomputing Top 500, the status quo has changed. The first supercomputer to achieve a HPL benchmark greater than 1 exaflop/s was Frontier, based at the Oak Ridge National Laboratory. Frontier is a HPE Cray EX system featuring AMD EPYC “Trento” cores and Radeon Instinct MI250X accelerators.
As research groups typically have allocations on a variety of machines, it is essential to ensure platform and performance portability for scientific codes. To adapt the COLA software library to the AMD EPYC platform, the Fortran components of COLA were modified as they did not use any vendor or architecture-specific features.
NVIDIA CUDA C/C++ was the first to introduce GPU acceleration for the COLA fermion matrix inverter. The success of NVIDIA in bringing to market devices aimed at the HPC community can be attributed to CUDA’s dominance for GPU-accelerated codes. Because of the significant effort put into developing the CUDA programming environment, it has become the preferred option for GPU acceleration.
The evolution of the COLA software library is an ongoing process. Future work will explore the question of performance portability in the context of continuing to evolve the COLA software library. This will ensure that the library is optimized for the latest hardware architectures, making it accessible to researchers using different systems.
Finally, software library evolution is critical for ensuring optimal performance and portability of scientific codes. The evolution of the COLA software library to accommodate today’s hardware landscape, including AMD-based systems, is critical for furthering scientific research in the field of lattice QCD. The use of NVIDIA CUDA C/C++ for GPU acceleration has also helped to improve the library’s performance. Future work on performance portability will ensure that the library remains accessible to researchers using different systems, making it a valuable tool for advancing lattice QCD research.