AMD Publishes Open-Source "GPUFORT" As Newest Effort To Help Transition Away From CUDA
I've just been informed by AMD that they have now made their code public to a new project called GPUFORT. This new GPUFORT project will live under the Radeon Open eCosystem (ROCm) umbrella and is their latest endeavor in helping developers with large CUDA code-bases transition away from NVIDIA's closed ecosystem.
There is already HIPify and other efforts made by AMD the past several years to help developers migrate as much CUDA-specific code as possible to interfaces supported by their Radeon open-source compute stack. Most of those efforts to date have been focused on C/C++ code while GPUFORT is about taking CUDA-focused Fortran code and adapting it for Radeon GPU execution. GPUFORT supports the source-to-source translation of CUDA Fortran and OpenACC-based Fortran code over to OpenMP 4.5+ for GPU execution or Fortran + HIP C++ code.
GPUFORT at this point is a research project and not a compiler itself but rather a Python code-base carrying out the source-to-source translation. At least at this stage AMD engineers don't expect GPUFORT to create a fully-working, automated solution but for at least more complex code-bases will likely require some manual reviewing and fixing of the auto-generated code.
With limited resources and time, the GPUFORT developers have already used the tool successfully for converting various real-world HPC software to OpenMP Fortran / HIP C++ code with great success -- and performant relative to the original NVIDIA-focused Fortran code.
AMD has made the GPUFORT code public under an MIT license. Those interested in giving it a try or learning more about this latest ROCm sub-project can visit the new project repo on GitHub.
There is already HIPify and other efforts made by AMD the past several years to help developers migrate as much CUDA-specific code as possible to interfaces supported by their Radeon open-source compute stack. Most of those efforts to date have been focused on C/C++ code while GPUFORT is about taking CUDA-focused Fortran code and adapting it for Radeon GPU execution. GPUFORT supports the source-to-source translation of CUDA Fortran and OpenACC-based Fortran code over to OpenMP 4.5+ for GPU execution or Fortran + HIP C++ code.
GPUFORT at this point is a research project and not a compiler itself but rather a Python code-base carrying out the source-to-source translation. At least at this stage AMD engineers don't expect GPUFORT to create a fully-working, automated solution but for at least more complex code-bases will likely require some manual reviewing and fixing of the auto-generated code.
With limited resources and time, the GPUFORT developers have already used the tool successfully for converting various real-world HPC software to OpenMP Fortran / HIP C++ code with great success -- and performant relative to the original NVIDIA-focused Fortran code.
AMD has made the GPUFORT code public under an MIT license. Those interested in giving it a try or learning more about this latest ROCm sub-project can visit the new project repo on GitHub.
37 Comments