New Software Stack FAQ
The following are highlights and answers to frequently asked questions about the new Spack-based software stacks on ITaP Community Clusters.
How do I use the new modules?
- The new software stack is now the default (i.e. this is what you see when you login).
- In general, you will not need to load the
modtree/new
module to use the new software stack. However, in special situations it may be necessary to loadmodtree/new
to switch to the new stack. Examples are - i) if you are working in a session that started before the transition, ii) if you loaded thebioinfo
module (which uses the old modules) and now want to go back to the new modules.
Do I have to recompile all the applications?
- Not necessarily. The underlying Intel/IMPI, GCC compilers, Anaconda/Python are almost identical, so you may not need to rebuild. The best way to verify is to test your applications/libraries on a small scale before starting production runs in the new environment.
Which application names changed?
- Following are the old module names and their new names. Please update your job script to reflect these changes.
Old | New | Old | New |
---|---|---|---|
espresso | quantum-espresso | lapack | netlib-lapack |
netcdf4 | netcdf | pnetcdf | parallel-netcdf |
Which application versions changed?
- Many applications underwent minor updates. See
module -w 132 spider
for a complete list of all available applications and versions.
Application | Old Default | New Default | Application | Old Default | New Default |
---|---|---|---|---|---|
anaconda | 5.1.0-py27 | 5.1.0-py36 | openblas | 0.2.20 | 0.3.7 |
r | 3.6.1 | 3.6.3 | rstudio | 1.2.1335 | 1.3.959 |
Which new modules are available?
- Below is the list of new modules. Please note that the exact list may vary depending on the cluster.
cdo gmp hdf mpc mpfr nco ncview tcl tk udunits2 zlib
Notable changes in application behavior
-
ALL: All modules now define the
CPATH
environment variable. The advantage of this is that you do not need to manually provide the location of header files using-I/path/to/include/directory
. -
ALL: All modules now define the
MANPATH
environment variable. If your application supports manual files, you can run theman
command to view its documentation. -
ALL: All modules also include a variable named
RCAC_[appname]_ROOT
which points to the respective installation directories. -
NetCDF: Some applications and libraries (HDF5, NetCDF, CDO, NCO, ncview, etc.) which were previously combined under a single umbrella module (
netcdf
) have been separated into individual modules. -
NetCDF: NetCDF bindings for C and Fortran which were previously installed together under single
netcdf
module, have been split into separate independent modules (netcdf
,netcdf-fortran
). -
GCC: Embedded
gmp
,mpc
, andmpfr
libraries have been separated from GCC into their own modules. They will be automatically loaded when you load thegcc
module. - R: Starting with R 3.6.3, we no longer embed external applications (such as HDF5, NetCDF, etc.) into the R installation. If you need to use R-packages that depend on these libraries, you must load the corresponding module(s) separately.
-
IMPI: The
mpicc
,mpicxx
,mpifc
,mpif77
andmpif90
wrappers under the Intel MPI suite (IMPI) have been configured to use Intel compilers instead of GCC. Users are encouraged to use Intel-specific compiler wrappers (mpiicc
,mpiicpc
,mpiifort
- note the "double i") for Intel MPI builds. -
CMAKE: You can now directly load the
cmake
module without loading theutilities
module.
I am getting an error: This Intel math.h is for use with only the Intel compilers!
- The reason for this error is that you are trying to use a GCC compiler (
cc/gcc
,c++/g++
) while the Intel compiler (intel/impi
modules) is loaded. - There are two ways to solve this issue:
- Option A: Load the
gcc
module and continue usinggcc/g++
compilers. - Option B: Use the Intel C/C++ compilers:icc
andicpc
instead ofgcc
andg++
respectively. - If your build needs both
intel
andgcc
at the same time, please send us an email at rcac-help@purdue.edu and we will find ways to assist you.
I cannot load modtree/new
after loading bioinfo
.
- Due to the complexity of Bioinformatics software collection and its dependency on old RCAC software, these applications will not use the new software stack. When you load the
bioinfo
module, your environment is automatically configured to use bioinformatics packages and their dependency modules. As a result, thebioinfo
module and themodtree/new
module cannot co-exist. - To mitigate, simply unload the
bioinfo
module and then try to loadmodtree/new
.
$ module load bioinfo
... ... do your research ... ...
$ module unload bioinfo
$ module load modtree/new
... ... now you are back to the new modules ... ...
I cannot get UDFs to compile with Ansys Fluent after the Spack transition.
- This can be corrected by unloading separate Intel compiler module(s) prior to loading Ansys.
$ module purge
$ module load ansys/2020R1
-If you are running Ansys Fluent from the Applications menu, please open a terminal window and do the above steps, then type the following to start Fluent.
$ fluent
If you have any questions about the changes, please send an email to rcac-help@purdue.edu.