...
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
What Have We Seen
Note |
---|
Although on the login nodes we do have a We can see that R is not available, nor most of the applications that researchers will require. There are:
We can not provide a system that provides everything all at once. |
Info |
---|
What we need is a method to enable users to find and select that they specifically need, and a method to allow them to configure and setup their sessions/environment to allow them to perform their analysis and research. |
...
LMOD: An Environment Module System
ARCC: Lmod – Software
...
What do we have available?
Compilers and eco systems: GNU family, Intel’s oneAPI, Nvidia’s hpc-sdk
Languages: C/C+, Fortran, Go, Java, Julia, Perl, Python, R, Ruby, Rust
Scientific libraries and toolkits: Built with a specific compiler: GNU by default
Standalone applications and utilities: Installed using:
Conda
Containers: running Singularity (not Docker)
We can create a Singularity image from a Docker image.
Binaries/Executables
Check the MedicineBow Software Page.
...
What is Available?
Info |
---|
ARCC provides a small set of core compilers , languages, libraries and application, which will be updated on a semi regular basis. When updated, we try and use the latest versions, and typically will not be support older versions. The GNU family of compilers (i.e. gcc) is are primary focus, but we do provide Intel’s oneAPI suite of compilers/libraries as well as NVidia’s hpc-sdk toolset. Please refer to the MedicineBow Software List for what is available and/or use the ARCC will consider adding to this on a case-by-case basis. |
...
What’s available: Using the Module System
Code Block |
---|
# Go back to your home folder. [...]$ cd ~ [~]$ cd intro_to_modules/ # Modules currently loaded. []$ ml Currently Loaded Modules: 1) slurm/latest (S) 2) arcc/1.0 (S) # What's available within my 'current' environment. # With respect to what modules I 'currently' have loaded. []$ module avail ... |
...
Info |
---|
Modules have a name and a version: |
...
What’s available? Compiler tree
Info |
---|
Some software has to be built with respect to a compiler. By default we build using the GNU family of compilers for C/C++ and Fortran. |
...
Note |
---|
These are only available if/when the |
...
Change Compiler
Info |
---|
Let’s see what happens to our environment if we load a different compiler. |
...
Note |
---|
You can only have one module compiler loaded at a time. Compilers of the same name, but different versions ( |
...
Purge Your Modules
Code Block |
---|
[]$ module purge
# What has changed?
[]$ ml
[]$ module avail |
...
Note |
---|
The more modules you have loaded, the more dependencies you will have loaded and the more likely you are to forget what you have loaded… |
...
What’s available? Modules loaded by default
Code Block |
---|
[]$ module purge The following modules were not unloaded: (Use "module --force purge" to unload all): 1) slurm/latest 2) arcc/1.0 []$ ml Currently Loaded Modules: 1) slurm/latest (S) 2) arcc/1.0 (S) Where: S: Module is Sticky, requires --force to unload or purge |
...
Looking for Modules: module spider
Info |
---|
Remember: module avail only shows what is available to be loaded with respect to your current environment and what you currently have loaded. It does not show you everything. |
Code Block |
---|
[]$ module spider openmpi ---------------------------------------------------------------------------- openmpi: openmpi/4.1.6 ---------------------------------------------------------------------------- Other possible modules matches: nvhpc-openmpi3 You will need to load all module(s) on any one of the lines below before the "openmpi/4.1.6" module is available to load. arcc/1.0 gcc/13.2.0 ... |
...
Module load/spider: Dependencies
Code Block |
---|
[]$ module load openmpi/4.1.6 Lmod has detected the following error: These module(s) or extension(s) exist but cannot be loaded as requested: "openmpi/4.1.6" Try: "module spider openmpi/4.1.6" to see how to load the module(s). # What dependencies does openmpi have? And what is currently loaded? []$ module load gcc/13.2.0 []$ module load openmpi/4.1.6 # What do you notice? []$ ml []$ module avail |
Info |
---|
Due to dependencies, there can be a hierarchy of core modules that need to be loaded to make other libraries and software available. and what is loaded. For example, some libraries, such as Typically their version number will be prefixed with Try: |
...
What’s different between these command-lines?
Code Block |
---|
[]$ module spider python/3.10.6 []$ module spider python/3.12.0 []$ module spider python2 |
...
What’s different between these command-lines? Dependencies
Code Block |
---|
[]$ module spider python/3.10.6 []$ module spider python/3.12.0 ... You will need to load all module(s) on any one of the lines below before the "python/3.12.0" module is available to load. arcc/1.0 gcc/13.2.0 []$ module spider python2 ---------------------------------------------------------------------------- python2: python2/2.7.18 ---------------------------------------------------------------------------- You will need to load all module(s) on any one of the lines below before the "python2/2.7.18" module is available to load. arcc/1.0 |
...