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.

...

No Format
$ module load prgenv/gnu
$ module load prgenvfftw
$ gnuecho (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 fftw
load fftw 3.3.8 (FFTW_DIR, FFTW_VERSION, FFTW_INCLUDE, FFTW_LIB, FFTWF_LIB, PATH, MANPATH, INFOPATH)
$FFTW_DIR
/usr/local/apps/fftw/3.3.8/GNU/8.4
$ module load prgenv/intel

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/GNUINTEL/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 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
$ module list

Currently Loaded Modules:
  1) 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.

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

The expert prgenv (experimental)

 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

The expert prgenv (experimental)

Warning

This prgenv is experimental. It

Warning

This prgenv is experimental. It may be changed or deleted in the future: use at your own risk

...

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

...