Environment
User Guide
Training Materials
KAUST provides instructional materials about the programming environments on Shaheen.
Programming Environments
Shaheen provides three different programming environments
There are three different compiler environments, each with their own compilers:
PrgEnv-cray
(crayftn, craycc, crayCC)PrgEnv-intel
(ifort, icc, icpc)PrgEnv-gnu
(gfortran, gcc, g++)
According to the documentation:
All applications that will run in parallel on the Cray XC should be compiled with standard language wrappers:
cc
for C,CC
for C++, andftn
for Fortran.
Note
Using the ftn
wrapper means that the appropriate Fortran compiler
will be used, regardless of the programming environment.
No additional MPI flags are needed as they are included by wrappers.
Again, according to the documentation:
There is no universally fastest compiler – but performance depends on the application, even input. However Cray is trying to excel with the Cray Compiler Environment. Compiler flags do matter – be ready to spend some effort finding the best ones for your application.