Portable GPU Programming
About
This site is dedicated to sharing useful and educational materials pertaining to scientific computing. The scope of this documentation is meant to cover portable GPU Programming in C/C++, Fortran, and Python. As it happens, discussing this material will require diving into topics around mathematical modeling and working on supercomputers with job schedulers.
This repository is still in its early stages and we have a lot of work ahead. If you have something you would like to contribute - fork this repository and open a pull request!
Mentored Sprints
Much of this repository is possible only because of the experience Fluid Numerics has gained in working with Pawsey Supercomputing Centre through Mentored Sprints. Researchers participating in the PaCER projects at Pawsey have allowed us to pubicly share the reports we have developed as part of mentored sprints. You may find these reports helpful, as they describe detailed stories of porting and optimizing real applications for AMD GPUs. Stay tuned as we get all of these reports cleaned up and published online!
Codelabs
Codelabs are hands-on tutorials that you can use to learn GPU programming.
Below is a complete list of the hands-on codelabs we currently have published :
Portable GPU Programming
- Build a GPU Accelerated Application with HIP in C/C++
- Build a GPU Accelerated Application with HIPFort in Fortran
- Build a GPU Accelerated Application with OpenMP in C/C++
- Build a GPU Accelerated Application with OpenMP in Fortran
Acknowledgements
We are extremely grateful for support and collaboration from the following organizations :
- Pawsey Suprcomputing Centre
- Advanced Micro-Devices (AMD)