Unity
Unity
About
News
Events
Docs
Contact Us
code
search
login
Unity
Unity
About
News
Events
Docs
Contact Us
dark_mode
light_mode
code login
search

Documentation

  • Requesting An Account
  • Cluster Specifications
    • Node Features (Constraints)
      • NVLink and NVSwitch
    • Node List
    • Partition List
      • Gypsum
    • Storage
  • Frequently Asked Questions
  • Connecting to Unity
    • SSH
    • Unity OnDemand
    • Connecting to Desktop VS Code
  • Managing Files
    • Command Line Interface (CLI)
    • Disk Quotas
    • FileZilla
    • Globus
    • Scratch: HPC Workspace
    • Unity OnDemand File Browser
  • Submitting Jobs
    • Batch Jobs
      • Array Batch Jobs
      • Large Job Counts
      • Monitor a batch job
    • Interactive CLI Jobs
    • Unity OnDemand
    • Message Passing Interface (MPI)
    • Slurm cheat sheet
  • Software Management
    • Conda
    • Modules
      • Module Usage
      • Module Hierarchy
    • Renv
    • Unity OnDemand
      • JupyterLab OnDemand
    • Venv
  • Tools & Software
    • ColabFold
    • R
      • R Parallelization
    • Unity GPUs
  • Datasets
    • AI and ML
      • Code Llama
      • Imagenet
      • Imagenet 1K
      • LAION
      • Llama2
      • mixtral
    • Bioinformatics
      • BFD/MGnify
      • Big Fantastic Database
      • ColabFoldDB
      • dfam
      • EggNOG
      • Kraken2
      • MGnify
      • NCBI BLAST databases
      • NCBI RefSeq database
      • PDB70
      • PDB70 for ColabFold
      • Protein Data Bank
      • Protein Data Bank database in mmCIF format
      • Protein Data Bank database in SEQRES records
      • Tara Oceans 18S amplicon
      • Tara Oceans MATOU gene catalog
      • Tara Oceans MGT transcriptomes
      • Uniclust30
      • UniProtKB
      • UniRef30
      • UniRef90
  • HPC Resources

Documentation

  • Requesting An Account
  • Cluster Specifications
    • Node Features (Constraints)
      • NVLink and NVSwitch
    • Node List
    • Partition List
      • Gypsum
    • Storage
  • Frequently Asked Questions
  • Connecting to Unity
    • SSH
    • Unity OnDemand
    • Connecting to Desktop VS Code
  • Managing Files
    • Command Line Interface (CLI)
    • Disk Quotas
    • FileZilla
    • Globus
    • Scratch: HPC Workspace
    • Unity OnDemand File Browser
  • Submitting Jobs
    • Batch Jobs
      • Array Batch Jobs
      • Large Job Counts
      • Monitor a batch job
    • Interactive CLI Jobs
    • Unity OnDemand
    • Message Passing Interface (MPI)
    • Slurm cheat sheet
  • Software Management
    • Conda
    • Modules
      • Module Usage
      • Module Hierarchy
    • Renv
    • Unity OnDemand
      • JupyterLab OnDemand
    • Venv
  • Tools & Software
    • ColabFold
    • R
      • R Parallelization
    • Unity GPUs
  • Datasets
    • AI and ML
      • Code Llama
      • Imagenet
      • Imagenet 1K
      • LAION
      • Llama2
      • mixtral
    • Bioinformatics
      • BFD/MGnify
      • Big Fantastic Database
      • ColabFoldDB
      • dfam
      • EggNOG
      • Kraken2
      • MGnify
      • NCBI BLAST databases
      • NCBI RefSeq database
      • PDB70
      • PDB70 for ColabFold
      • Protein Data Bank
      • Protein Data Bank database in mmCIF format
      • Protein Data Bank database in SEQRES records
      • Tara Oceans 18S amplicon
      • Tara Oceans MATOU gene catalog
      • Tara Oceans MGT transcriptomes
      • Uniclust30
      • UniProtKB
      • UniRef30
      • UniRef90
  • HPC Resources

On this page

  • Current hierarchy
  • Hierarchy naming scheme
  • How to use the hierarchy
  • Learn more
  1. Unity
  2. Documentation
  3. Software Management
  4. Modules
  5. Module Hierarchy

Module hierarchy

Environment modules are tools that dynamically change what software is available to use by a given user at a given time. For more information about modules and how to use them, see Introduction to environment modules and How to use environment modules.

As a Unity user, you have access to many modules built with various software stacks. As Unity grows and more modules are installed with more stacks, it can become difficult to effectively manage them all. Our strategy is to have a module hierarchy that divides modules according to their stacks. Having a module hierarchy makes it much more difficult to accidentally load modules that are incompatible with each other.

The $MODULEPATH environment variable is a list of directories in which Lmod searches for modules. With a module hierarchy, not all directories are added to the $MODULEPATH by default.

Since not all directories are added to the $MODULEPATH, not all modules can be found with module avail by default.

Current hierarchy

/modules/modulefiles/

/modules/spack_modulefiles/
├── linux-ubuntu20.04-x86_64
|   ├── Core
|   ├── intel
|   │   └── 2021.4.0
|   ├── atlas
|   │   └── 3.10.3-sfhhdph
|   │       └── Core
|   ├── intel-oneapi-mpi
|   │   └── 2021.6.0-h3cppyo
|   │       ├── Core
|   │       └── openblas
|   │           └── 0.3.18-6pbqv7b
|   │               └── Core
|   ├── openblas
|   │   └── 0.3.18-6pbqv7b
|   │       └── Core
|   └── openmpi
|       ├── 4.1.3-3rgk3nu
|       │   ├── Core
|       │   └── intel-mkl
|       │       └── 2020.4.304-gmusbfh
|       │           └── Core
|       └── 4.1.4-tauaqk4
|           ├── Core
|           └── intel-mkl
|               └── 2020.4.304-gmusbfh
|                   └── Core
├── linux-ubuntu20.04-aarch64
│   └── Core
└── linux-ubuntu20.04-ppc64le
    ├── Core
    ├── openblas
    │   └── 0.3.21-coxg6gz
    │       └── Core
    └── openmpi
        ├── 4.1.3-edoxxdf
        │   ├── Core
        │   └── xl
        │       └── 16.1
        └── 4.1.4-476r55m
            └── Core
stylus_note
Module naming

Random characters at the end of compiler/provider version numbers can usually be ignored.

Core refers to modules compiled with Ubuntu’s default GNU compiler suite, and without any special providers. The majority of Unity’s modules are found here.

intel refers to the classic intel compilers (icc, ifort, icpc, …).

The intel-oneapi-compilers-classic module adds intel to modulepath.

Hierarchy naming scheme

linux-ubuntu20.04-[architecture]/[compiler]/[name]/[version]
linux-ubuntu20.04-[architecture]/[provider]/[compiler]/[name]/[version]
linux-ubuntu20.04-[architecture]/[provider]/[another-provider]/[compiler]/[name]/[version]
stylus_note
In this naming scheme, Core counts as a compiler.

How to use the hierarchy

To find modules anywhere in the hierarchy, use the unity-module-find command. The full path of your desired module shows you which other modules need to be loaded first.

stylus_note
Core is always automatically added to $MODULEPATH!

The following code samples show how to use unity-module-find to find modules anywhere in the hierarchy:

user@login1:~$ module load gromacs/2021.3
No module(s) or extension(s) found!
If the avail list is too long, consider trying:

"module --default avail" or "ml -d av" to just list the default modules.
"module overview" or "ml ov" to display the number of modules for each name.

Use "module spider" to find all possible modules and extensions.
Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".
user@login1:~$ unity-module-find gromacs
Modules found:
linux-ubuntu20.04-x86_64/intel-oneapi-mpi/2021.6.0-h3cppyo/Core/gromacs/2021.3
linux-ubuntu20.04-x86_64/openmpi/4.1.3-3rgk3nu/intel-mkl/2020.4.304-gmusbfh/Core/gromacs/2021.3

The following code sample shows the desired module:

linux-ubuntu20.04-x86_64/openmpi/4.1.3-3rgk3nu/intel-mkl/2020.4.304-gmusbfh/Core/gromacs/2021.3

The module path shows which modules you must load first. Based on that path, the following command is used to load the necessary modules:

module load openmpi/4.1.3 intel-mkl/2020.4.304 gromacs/2021.3

Learn more

Module Hierarchy - Lmod

How to use a Software Module hierarchy - Lmod

Last modified: Wednesday, August 14, 2024 at 11:20 AM. See the commit on GitLab.
University of Massachusetts Amherst University of Massachusetts Amherst University of Rhode Island University of Rhode Island University of Massachusetts Dartmouth University of Massachusetts Dartmouth University of Massachusetts Lowell University of Massachusetts Lowell University of Massachusetts Boston University of Massachusetts Boston Mount Holyoke College Mount Holyoke College
search
close