AMD has placed their translation tool, GPUFORT, into open source, allowing more transparency from the company for developers and enthusiasts to utilize the code and build off of it. This is speculated that it is in response to NVIDIA's hold on the parallel computing industry with their own tool, CUDA.
GPUFORT "aims to offer a translation toool so that large code bases in CUDA can work outside of the closed ecosystem of the green giant," reports website Itsfoss. GPUFORT is utilized under the Radeon Open Ecosystem (ROCm).
The limitations developers have had thanks to NVIDIA keeping their CUDA proprietary has forced many to work with their tool without any alternatives. AMD recognized the need for another option for users and have worked to bring mechanisms to utilize specific CUDA coding to something more compatible with their Radeon technology.
AMD's previous projects utilized both C and C++ programming. GPUFORT is different in that it translates from "source-to-source ... of CUDA Fortran and Fortan code based on OpenACC to OpenMP 4.5+ for execution on GPU or Fortran + HIP C++ code."
It is also noted that GPUFORT is a research project and not a form of a compiler. It has a Python based coding in it's source-to-source translating processes. GPUFORT is not a complete solution and is also not automated, so it needs a manual correction and review process to generate what is needed from CUDA-based coding.
Currently, GPUFORT, along with the Python-based coding, only perform minor syntax checks instead of full translation. In it's current state, it is only meant to translate HPC applications into compatible code formats that are supported by the AMD ROCm ecosystem. Engineers at AMD admit that GPUFORT currently does an inadequate performance at "analyzing which parts of the code can be downloaded and which cannot, ... reorganizing the loops and the assignments to maximize the available parallelism," and "does not implement the complete OpenACC standard."
The source code for GPUFORT is published on GitHub under the MIT license, which is what AMD typically uses when deciding to release a project. In the code repository you can also find the installation guide and a slideshow explaining what the project at hand is and what it covers.