New Software Stack FAQ

August 6 – 31, 2020
Brown, Gilbreth, Halstead, Rice, Snyder, Workbench

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 load modtree/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 the bioinfo 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.
Script 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 Changes
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 the man 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, and mpfr libraries have been separated from GCC into their own modules. They will be automatically loaded when you load the gcc 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 and mpif90 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 the utilities 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 using gcc/g++ compilers.
    • Option B: Use the Intel C/C++ compilers: icc and icpc instead of gcc and g++ respectively.
  • If your build needs both intel and gcc 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, the bioinfo module and the modtree/new module cannot co-exist.
  • To mitigate, simply unload the bioinfo module and then try to load modtree/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.

Originally posted: August 6, 2020  6:53pm