PGI is superseded by the NVHPC module, but both approaches should work.
Software: PGI
PGI provides tools to develop programs in a heterogeneous environment (CPUs & GPUs):
- Fortran, C++17, C compilers
- CUDA Fortran
- OpenMP 4.5 (multicore CPUs)
- OpenACC 2.6 (multicore CPUs & GPUs)
- AVX-512
- PGI compiler assisted software testing
- Debugging tools to investigate differences between CPU & accelerators
- Profiling tools
The PGI license is made available through the HPC.NRW Kompetenznetzwerk.
Setup
The PGI license is currently only available on our fugg1 node. Connect to it from within the university network via
ssh fugg1.pleiades.uni-wuppertal.de
Additionally you need to setup your user environment:
export PGI="/beegfs/pgi"
export PATH="${PGI}/linux86-64/20.4/bin":$PATH
export MANPATH=$MANPATH:"${PGI}/linux86-64/20.4/man"
export LM_LICENSE_FILE=$LM_LICENSE_FILE:"${PGI}/license.dat"
This can also be done via
source /beegfs/pgi/scripts/setup.sh
Consider putting this into your bashrc, if you have to call it regularly!
Small Fortran Test
To check if the compilers work, lets create a small Fortran program hello.f90
:
print *, "Hello world"
end
Now compile and execute it via:
pgfortran -o hello hello.f90
./hello
Additional Resources
Get an overview of possible command line options via the man pages, e.g. man pgfortran
or through the -help
flag. (not -h
or --help
!)
There is a lot of information on the PGI page as well:
- Dokumentation
- User Guide
- Profiler User Guide
- OpenACC User Guide
- Tutorials
- Porting & Tuning Guides (requires account and login)