Over the last decade, efficient and portable GPU programming has become a necessary evil for applications expecting to run efficiently on modern supercomputers.
The Heterogeneous-compute Interface for Portability (HIP) is a C++ Runtime API and kernel language that allows developers to create portable applications for AMD and NVIDIA GPUs from single source code.
HIPFort exposes the HIP APIs to Fortran applications via standard ISO_C_BINDING interfaces. The APIs also include interfaces to vendor-specific, highly optimized libraries for dense and sparse linear algebra, FFTs, and machine learning routines.
In this talk, current and future implementations of HIPFort will be discussed, with a particular focus on the pros and cons of the various Fortran/C interoperability features introduced over the years by the Fortran standards.