Programming Environment


By default, all users on CRAY XC40 start with the Cray programming environment loaded (PrgEnv-cray) and the MPI (cray-mpich) and Cray LibSci (cray-libsci includes BLAS, LAPACK and ScaLAPACK) libraries included in their environment.


module list //Show list of already loaded modules
module avail //Show list of available dynamically loadable modules
module show [module name] //this shows the environment paths for given module
module load [module name] //to load a specified module to current environment
module unload [module name] //to unload a specified module to current environment
module help [module name] //to help about required module
module swap PrgEnv-cray PrgEnv-intel                                                                                                                                                                                                         //By default the Cray programming environment is loaded. If you want to change this and load Intel programming environment you will need to unload the Cray programming environment module and then load the Intel programming environment module. This can be achieved by swapping. In this example, swap Prg-Env-cray (default) with that of Intel programming environment module.

For running CPU based jobs load the following module

module load craype-broadwell         //compiling for CPU nodes   

For running accelerator based jobs (Xeon Phi) load the following modules

module load craype-mic-knl  //compiling for Phi nodes(native mode)  

For running GPU based jobs load the following modules

module swap PrgEnv-cray PrgEnv-gnu  //swap environment from cray to gnu
module switch gcc/5.2.0 gcc/4.8.2 //swap gcc version
module load cray-mpich //load cray mpi
module load craype-ivybridge                               //load processor module


If you want to switch from one processor type to another, first unload the already loaded processor module then load the needed processor module.