HIP-Fortran is in its infancy and Fluid Numerics is ready to help users get started. We are currently focusing on building tests to support Continuous Integration and creating live training modules, documentation, and codelabs. If you have requests for more HIP API exposure, would like to report bugs, or need guidance on implementation not covered in documentation or test, open a new issue on the Github page.
Fluid Numerics offers consulting and hands-on coding to assist you and your team with code refactoring, GPU porting, GPU optimization, and multi-GPU acceleration. When you engage us for support, a significant portion of our service fee is reinvested into R&D accounts at Fluid Numerics to allow us to continue to support the open-source HIP-Fortran.
As you build expertise in GPU programming and working with HIP-Fortran, we want to hear from you! Fluid Numerics is ready to help give you a virtual stage to share your experience and lessons learned with the rest of the HPC community.
HIP-Fortran is meant to be a layer that allows Fortran developers to accelerate applications with both AMD and Nvidia GPUs. HIP-Fortran is regularly tested on Nvidia GPU platforms, but consistent testing on AMD platforms is still wanting. Support this project by providing access to AMD GPU systems or donating AMD GPU cards to Fluid Numerics to set up a hip-fortran CI server.
Fluid Numerics incurs expenses for time & labor and cloud computing to maintain and support the HIP-Fortran repository, codelabs, tutorials, demos, CI infrastructure, and mini-app testing. Consider donating funds to Fluid Numerics that will be reserved for these expenses.
A simple example program is shown that demonstrates how to :
Create device (GPU) pointers
Copy data from host to device and device to host
How to launch a simple HIP kernel from Fortran
How to build a hip-fortran application
In this example, we have three files
main.f03 : The main Fortran program
my_module.f03 : A Fortran module that defines the kernel interface
my_module_hip.cpp : The C++ code that defines the HIP Kernel and the kernel wrapper to launch the kernel
Have installed hip-fortran under /opt/hip-fortran,
Are using the gfortran compiler,
Are using the included modulefile,
Have the hipcc compiler and all necessary dependencies,
You can build this application with