This repository is intended to host several examples of accelerating code using OpenACC with NVIDIA GPUs. The examples are very simplistic, and are provided only as a proof-of-concept for various features. Therefore, the examples serve as basic guidelines on how to properly benefit from such OpenACC features. The table below provides the list of available examples (subdirectories) with the targeted intention. The order more and less reflects going from simple/easy material to intermediate-level concepts.
Example | Use Case | Purpose |
---|---|---|
pi | Different Ways to Compute pi | Basic Practice |
Allocatable Arrays | 2D Gaussian Curve | Host/Device data transfer for allocatable arrays |
Derived Types | 2D Gaussian Curve | Host/Device data transfer for allocatable arrays within derived types |
Lissajous | Lissajous 3D Knots | Asynchronous device task management |
OpenACC Book | Fortran version of examples in Parallel Programming with OpenACC, 1st Edition |
- Fortran 90
- PGI compiler
- Accelerator (GPU or Xeon Phi)