Versions Compared

Key

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

Goal: Understand how to load modules, reset your environment by purging, and potential dependency issues.

...

Note

Will changing the version of Python affect R? In this case probably not.

But if underlying versions of libraries are changing - then maybe - and that’s the best we can say…

Remember: The more complicated your environments, the more dependencies there’ll be, the more potential for dependency hell.

...

Exercises:

Note

Try answers the following questions:

  • What modules are available that relate to netcdf?

  • What modules become available after loading nvhpc-sdk/24.3?

  • How would you identify modules that have no dependencies?

...

Exercises: Answers:

Expand
titleWhat modules are available that relate to netcdf?
Info

Use the module spider command to search for modules. You will see something of the form:

Code Block
[]$ module spider netcdf
----------------------------------------------------------------------------
  netcdf-c: netcdf-c/4.9.2-ompi
----------------------------------------------------------------------------
    You will need to load all module(s) on any one of the lines below before the "netcdf-c/4.9.2-ompi" module is available to load.
      arcc/1.0  gcc/13.2.0  openmpi/4.1.6
    Help:
      NetCDF (network Common Data Form) is a set of software libraries and
      machine-independent data formats that support the creation, access, and
      sharing of array-oriented scientific data. This is the C distribution.

----------------------------------------------------------------------------
  netcdf-cxx4: netcdf-cxx4/4.3.1-ompi
----------------------------------------------------------------------------
    You will need to load all module(s) on any one of the lines below before the "netcdf-cxx4/4.3.1-ompi" module is available to load.
      arcc/1.0  gcc/13.2.0  openmpi/4.1.6
    Help:
      NetCDF (network Common Data Form) is a set of software libraries and
      machine-independent data formats that support the creation, access, and
      sharing of array-oriented scientific data. This is the C++ distribution.

----------------------------------------------------------------------------
  parallel-netcdf: parallel-netcdf/1.12.3-ompi
----------------------------------------------------------------------------
    You will need to load all module(s) on any one of the lines below before the "parallel-netcdf/1.12.3-ompi" module is available to load.
      arcc/1.0  gcc/13.2.0  openmpi/4.1.6
    Help:
      PnetCDF (Parallel netCDF) is a high-performance parallel I/O library for
      accessing files in format compatibility with Unidata's NetCDF,
      specifically the formats of CDF-1, 2, and 5.
Expand
titleWhat modules become available after loading nvhpc-sdk/24.3?
Info

First, module load this compiler, and then use the module avail to see what additional modules are now available.

Code Block
[]$ module purge
[]$ module load nvhpc-sdk/24.3
[]$ module avail
...
----------------- /apps/u/opt/compilers/nvhpc/24.3/modulefiles -----------------
   nvhpc-byo-compiler/24.3    nvhpc-hpcx/24.3     nvhpc-openmpi3/24.3
   nvhpc-hpcx-cuda12/24.3     nvhpc-nompi/24.3    nvhpc/24.3
...
Expand
titleHow would you identify modules that have no dependencies?
Info

Modules that are available from the containers, conda-envs and linux trees are typically installed with no dependencies.

Code Block
[]$ module avail
...
-------------- /apps/s/lmod/mf/opt/linux-rhel9-x86_64/containers ---------------
   stress-ng/0.17.08
...
-------------- /apps/s/lmod/mf/opt/linux-rhel9-x86_64/conda-envs ---------------
   julia/1.10.3    python2/2.7.18

----------------- /apps/s/lmod/mf/opt/linux-rhel9-x86_64/linux -----------------
   matlab/2024a         nextflow/23.10.1    pycharm/2024.1.3
   miniconda3/24.3.0    paraview/5.12.0     rstudio/2024.04.1
...

Info

Essentially, anything that hasn’t been built with a compiler.

...

...