Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

No Format
$ module load prgenv/gnu
load$ prgenv gnu (EC_COMPILER_FAMILY, EC_COMPILER_VERSION, FC, F90, F77, CC, CXX, I_MPI_CC, I_MPI_CXX, I_MPI_F90)
load gcc 8.4.0 (GCC_DIR, GCC_VERSION, PATH, MANPATH, INFOPATH)module list

Currently Loaded Modules:
  1) gcc/8.3.1   2) prgenv/gnu

You may then load a different version of the compiler if you wish to do so.

Warning

You may load a compiler module on its own, but this will not enable the environment corresponding to its family and thus not enabling all the specific flavoured modules for that compiler family and version


Tip

Alias Aliases are provided for all prgenvs for convenience, so:

No Format
module load prgenv/gnu

is equivalent to:

No Format
module load pg


...

No Format
$ module load prgenv/gnu
load$ prgenvmodule gnu (EC_COMPILER_FAMILY, EC_COMPILER_VERSION, FC, F90, F77, CC, CXX, I_MPI_CC, I_MPI_CXX, I_MPI_F90)
load gcc 8.4.0 (GCC_DIR, GCC_VERSION, PATH, MANPATH, INFOPATH)load fftw
$ echo $FFTW_DIR
/usr/local/apps/fftw/3.3.8/GNU/8.4
$ module load fftw
load fftw 3.3.8 (FFTW_DIR, FFTW_VERSION, FFTW_INCLUDE, FFTW_LIB, FFTWF_LIB, PATH, MANPATH, INFOPATH)
$ echo $FFTW_DIR
/usr/local/apps/prgenv/intel

Due to MODULEPATH changes, the following have been reloaded:
  1) fftw/3.3.8/GNU/8.4
$ module load prgenv/intel
unload prgenv gnu (EC_COMPILER_FAMILY, EC_COMPILER_VERSION, FC, F90, F77, CC, CXX, I_MPI_CC, I_MPI_CXX, I_MPI_F90)
unload gcc 8.4.0 (GCC_DIR, GCC_VERSION, PATH, MANPATH, INFOPATH)
unload fftw 3.3.8 (FFTW_DIR, FFTW_VERSION, FFTW_INCLUDE, FFTW_LIB, FFTWF_LIB, PATH, MANPATH, INFOPATH)
load prgenv intel (EC_COMPILER_FAMILY, EC_COMPILER_VERSION, FC, F90, F77, CC, CXX, I_MPI_CC, I_MPI_CXX, I_MPI_F90)
load intel-mkl 19.0.5 (MKL_VERSION, CPATH, LD_LIBRARY_PATH, PKG_CONFIG_PATH)
load intel 19.0.5 (INTEL_DIR, INTEL_VERSION, PATH, CPATH, LD_LIBRARY_PATH, MANPATH  and many others)
load fftw 3.3.8 (FFTW_DIR, FFTW_VERSION, FFTW_INCLUDE, FFTW_LIB, FFTWF_LIB, PATH, MANPATH, INFOPATH)

Due to MODULEPATH changes, the following have been reloaded:
  1) fftw/3.3.8

The following have been reloaded with a version change:
  1) prgenv/gnu => prgenv/intel

$ module list

Currently Loaded Modules:
  1) intel-mkl/19.0.5   2) intel/19.0.5   3) prgenv/intel   4) fftw/3.3.8

$ echo $FFTW_DIR
/usr/local/apps/fftw/3.3.8/INTEL/19.0

Multiple compilers in the same prgenv

It is possible to have more than one compiler loaded in parallel, but all the tools and libraries will be loaded based on the active prgenv.



The following have been reloaded with a version change:
  1) prgenv/gnu => prgenv/intel

$ module list

Currently Loaded Modules:
  1) intel-mkl/19.0.5   2) intel/19.0.5   3) prgenv/intel   4) fftw/3.3.8

$ echo $FFTW_DIR
/usr/local/apps/fftw/3.3.8/INTEL/19.0

Multiple compilers in the same prgenv

It is possible to have more than one compiler loaded in parallel, but all the tools and libraries will be loaded based on the active prgenv.

No Format
$ module load prgenv/gnu
$ module load intel
$ module load fftw
No Format
$ module load prgenv/gnu
load prgenv gnu (EC_COMPILER_FAMILY, EC_COMPILER_VERSION, FC, F90, F77, CC, CXX, I_MPI_CC, I_MPI_CXX, I_MPI_F90)
load gcc 8.4.0 (GCC_DIR, GCC_VERSION, PATH, MANPATH, INFOPATH)
$ module load intel
load intel-mkl 19.0.5 (MKL_VERSION, CPATH, LD_LIBRARY_PATH, PKG_CONFIG_PATH)
load intel 19.0.5 (INTEL_DIR, INTEL_VERSION, PATH, CPATH, LD_LIBRARY_PATH, MANPATH  and many others)
$ module load fftw
load fftw 3.3.8 (FFTW_DIR, FFTW_VERSION, FFTW_INCLUDE, FFTW_LIB, FFTWF_LIB, PATH, MANPATH, INFOPATH)
$ module list

Currently Loaded Modules:
  1) gcc/8.4.0   2) prgenv/gnu   3) intel-mkl/19.0.5   4) intel/19.0.5   5) fftw/3.3.8

$ gcc --version
gcc (ECMWF) 8.4.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ icc --version
icc (ICC) 19.0.5.281 20190815
Copyright (C) 1985-2019 Intel Corporation.  All rights reserved.

$ echo $FFTW_DIR
/usr/local/apps/fftw/3.3.8/GNU/8.4

...

No Format
$ module load prgenv/expert
load prgenv expert 
$ module avail expert

-------------------------------------------------------------------------------------- Global Aliases ---------------------------------------------------------------------------------------
   pa -> prgenv/amd    pe -> prgenv/expert    pg -> prgenv/gnu    pi -> prgenv/intel    pp -> prgenv/pgi

------------------------------------------------------------------------- /usr/local/apps/modulefiles/lmod/prgenvs --------------------------------------------------------------------------
   prgenv/expert (E,L,e)

--------------------------------------------------------------------- /usr/local/apps/modulefiles/lmod/flavours/expert ----------------------------------------------------------------------
   boost/1.61.0:gnu:4.8.5                           hpcx-openmpi/2.6.0:gnu:8.4                         netcdf4-parallel/4.6.2:intel:19.0:ompi:3.1 (D)
   boost/1.61.0:gnu:4.8.4  5                           hpcx-openmpi/2.6.0:gnu:98.34                         netcdf4-parallel/4.6.2:gnu:4.8:intel:19.0:ompi:3.1 (D)
   boost/1.61.0:gnu:98.34                             hpcx-openmpi/2.6.0:intelgnu:19.09.3                     (D)    netcdf4/4.6.2:gnu:4.8.4
   boost/1.61.0:intelgnu:19.09.3                         (D)    intelhpcx-mpiopenmpi/182.6.0.4:gnuintel:419.80                 (D)          netcdf4/4.6.2:gnu:98.34
   fftwboost/31.361.80:gnuintel:419.80                           (D)    intel-mpi/18.0.4:gnu:4.8.4                           netcdf4/4.6.2:intel:19.0                   (D):gnu:9.3
   fftw/3.3.8:gnu:4.8.4                               intel-mpi/18.0.4:gnu:98.34                           openblasnetcdf4/04.36.92:gnuintel:4.819.0                   (D)
   fftw/3.3.8:gnu:98.34                               intel-mpi/18.0.4:intelgnu:18.09.3                           openblas/0.3.9:gnu:4.8.4
   fftw/3.3.8:intelgnu:19.09.3                           (D)    intel-mpi/18.0.4:intel:1918.0                        openblas/0.3.9:gnu:98.34
   hdf5-parallelfftw/1.10.4:gnu:43.3.8:impiintel:19.0                     (D)    intel-mpi/1918.0.54:gnuintel:4.8   19.0                        openblas/0.3.9:intelgnu:19.0                  (D)9.3
   hdf5-parallel/1.10.4:gnu:4.8:ompiimpi:319.1 0           intel-mpi/19.0.5:gnu:4.8.4                           openmpiopenblas/0.3.1.4.3:gnu:8.49:intel:19.0                  (D)
   hdf5-parallel/1.10.4:gnu:4.8.4:hpcxompi:23.61            intel-mpi/19.0.5:gnu:98.34                           openmpi/3.1.4.3:gnu:98.34
   hdf5-parallel/1.10.4:gnu:8.4:impihpcx:192.06            intel-mpi/19.0.5:intelgnu:18.0    9.3                    openmpi/3.1.4.3:intel:19.0                  (D)openmpi/3.1.4.3:gnu:9.3
   hdf5-parallel/1.10.4:gnu:8.4:ompiimpi:319.10            intel-mpi/19.0.5:intel:1918.0                    (D)    parmetisopenmpi/43.01.3:gnu:4.83:impi:19.0intel:19.0                 (D)
   hdf5-parallel/1.10.4:gnu:98.34:hpcxompi:23.61            netcdf4intel-parallelmpi/419.60.25:gnu:4.8:impi:intel:19.0                 (D)    parmetis/4.0.3:gnu:4.8:ompiimpi:319.10
   hdf5-parallel/1.10.4:gnu:9.3:impihpcx:192.06            netcdf4-parallel/4.6.2:gnu:4.8:ompiimpi:319.1 0           parmetis/4.0.3:gnu:4.8.4:hpcxompi:23.61
   hdf5-parallel/1.10.4:gnu:9.3:ompiimpi:319.10            netcdf4-parallel/4.6.2:gnu:4.8.4:hpcxompi:23.61            parmetis/4.0.3:gnu:8.4:impihpcx:192.06
   hdf5-parallel/1.10.4:intelgnu:199.03:impiompi:19.03.1            netcdf4-parallel/4.6.2:gnu:8.4:impihpcx:192.06            parmetis/4.0.3:gnu:8.4:ompiimpi:319.10
   hdf5-parallel/1.10.4:intel:19.0:ompiimpi:319.10    (D)    netcdf4-parallel/4.6.2:gnu:8.4:ompiimpi:319.10            parmetis/4.0.3:gnu:98.34:hpcxompi:23.61
   hdf5-parallel/1.10.4:gnu:4.8                :intel:19.0:ompi:3.1  (D)              netcdf4-parallel/4.6.2:gnu:98.34:hpcxompi:23.61            parmetis/4.0.3:gnu:9.3:impihpcx:192.06
   hdf5/1.10.4:gnu:4.8.4                              netcdf4-parallel/4.6.2:gnu:9.3:impihpcx:192.06            parmetis/4.0.3:gnu:9.3:ompiimpi:319.10
   hdf5/1.10.4:gnu:98.34                              netcdf4-parallel/4.6.2:gnu:9.3:ompiimpi:319.1 0           parmetis/4.0.3:intelgnu:199.03:impiompi:193.01
   hdf5/1.10.4:intelgnu:19.09.3                          (D)    netcdf4-parallel/4.6.2:intelgnu:199.03:impi:19.0ompi:3.1            parmetis/4.0.3:intel:19.0:ompiimpi:3.1         (D)

Example:

A user wants to use both gcc and intel at the same time, having openblas built for gnu but fftw built for intel:

No Format
$ module load prgenv/expert
load prgenv expert 
$ module load gcc/8.4 intel/19 fftw/3.3.819.0
   hdf5/1.10.4:intel:19.0                    (D)    netcdf4-parallel/4.6.2:intel:19.0:impi:19.0        parmetis/4.0.3:intel:19.0:ompi:3.1         (D)

Example:

A user wants to use both gcc and intel at the same time, having openblas built for gnu but fftw built for intel:

No Format
$ module load prgenv/expert
$ module load gcc/8.4 intel/19 fftw/  openblas/0.3.9:gnu:8.4
load gcc 8.4.0 (GCC_DIR, GCC_VERSION, PATH, MANPATH, INFOPATH)
load intel-mkl 19.0.5 (MKL_VERSION, CPATH, LD_LIBRARY_PATH, PKG_CONFIG_PATH)
load intel 19.0.5 (INTEL_DIR, INTEL_VERSION, PATH, CPATH, LD_LIBRARY_PATH, MANPATH  and many others)
load fftw 3.3.8:intel:19.0 (FFTW_DIR, FFTW_VERSION, FFTW_INCLUDE, FFTW_LIB, FFTWF_LIB, PATH, MANPATH, INFOPATH)
load openblas /0.3.9:gnu:8.4 (OPENBLAS_DIR, OPENBLAS_VERSION, OPENBLAS_INCLUDE, OPENBLAS_LIB)
$ module list

Currently Loaded Modules:
  1) prgenv/expert (E)   2) gcc/8.4.0   3) intel-mkl/19.0.5   4) intel/19.0.5   5) fftw/3.3.8:intel:19.0   6) openblas/0.3.9:gnu:8.4

  Where:
   E:  Experimental

$ echo $OPENBLAS_DIR
/usr/local/apps/openblas/0.3.9/GNU/8.4
$ echo $FFTW_DIR
/usr/local/apps/fftw/3.3.8/INTEL/19.0

...