That’s correct. hipfort exposes the HIP API through ISO_C_BINDING. GPU memory management can be handled directly in Fortran with this. However, GPU kernels (global and device types) are written in C++/HIP and we currently recommend writing wrapper routines in C++ that call hipLaunchKernelGGL; those wrapper routines can then be exposed to Fortran through ISO_C_Binding.
I’m currently working on a few videos that will be posted to our “Maintaining Scientific Software” playlist on youtube. Coincidentally, I’m looking for folks who would like to share their stories on maintaining scientific software…