Platforms
The cluster provides two distinct software environments:
- Old Software (CentOS 7):
- Location:
labo1
,labo1-v2,
m20-[1,2]
,kech1
andlia3
partitions - Purpose: Ensures compatibility with older code, libraries, and hardware
- Location:
- New Software (RHEL 8):
- Location: All other partitions
- Purpose: Provides updated scientific software and compilers
Important Compatibility Notes:
- compile your code directly on those nodes
-
Include this line in your Slurm script to load environment modules in your Slurm jobs
source /etc/profile.d/z00_lmod.sh
Login nodes use RHEL 8 - to run on CentOS 7 partitions
(labo1
/labo1-v2
/m20-[1,2]
/kech1
/lia3
) :
Modules
The cluster uses Lmod (Environment Modules) to manage software versions. Key commands:
Command | Description |
---|---|
module avail |
List all available software packages |
module list |
Show currently loaded modules |
module load <package> |
Load a specific software package |
module unload <package> |
Remove a package from your environment |
module purge |
Unload all currently loaded modules |
module spider <keyword> |
Search for packages by name/description |
module show <package> |
Display details about a specific package |
Important Usage Notes:
- Avoid mixing Python modules with Conda: Do not load Python modules inside active Conda environments, as this may cause conflicts.
-
Conda in .bashrc: Avoid automatically loading Conda in your
.bashrc
file, as this can interfere with module functionality. Instead, activate Conda environments manually when needed.
Module Naming Convention
Scientific software modules follow a standardized naming scheme that encodes build information:
- Compiler Version: Always included (e.g.,
gnu14.2.0
) avx
indicate compilation with AVX support- GPU Support:
- If
cuda
appears in the name, the software is GPU-accelerated smXX
indicates specific GPU compute capability
- If
- Multi-node Computing:
openmpi
= Supports multi-node calculations via TCP/IPopenmpi+psm2
= Adds Omni-Path driver support (Network details)openmpi+ucx
= Adds Mellanox InfiniBand support (Network details)
Virtual Environment
To create the virtual environment$ python -m venv myenv
To activate the environment
$ source myenv/bin/activate
Your prompt should change to show the active environment.
To install Python packagesWith the environment active, install packages using pip:
$ pip install numpy pandas matplotlip
Deactivate with :
$ deactivate
If you want to save your environment
$ pip freeze > requirements.txt