Software on Perun¶
Perun provides a curated collection of pre-installed scientific software, libraries, and development tools for high-performance computing workloads. This page describes how to access available software, manage environments, and request additional applications.
Using Software Modules¶
Software on Perun is managed via the Environment Modules system, which allows users to dynamically configure their environment without modifying system settings.
Basic Commands¶
List available modules:
module avail
Load a module:
module load <module_name>
List currently loaded modules:
module list
Unload a module:
module unload <module_name>
Reset environment:
module purge
Tip
Use module spider <software_name> to search for available versions and module hierarchies.
For more details, see the Environment Modules guide.
Available Software¶
Perun provides software across multiple domains, including:
- Computational chemistry and materials science
- Bioinformatics and life sciences
- Mathematics and data analysis
- Machine learning and AI
- Development tools and compilers
Note
Use module avail or module spider <software_name> to locate specific applications and versions.
Architecture-Specific Software Stacks¶
Perun provides two separate software stacks targeting different hardware architectures:
- CPU stack (x86_64) – for standard compute nodes
- GPU stack (ARM64 / NVIDIA Grace Hopper) – for GPU-enabled nodes
These stacks are not compatible and cannot be mixed.
Running on different architecture
Software compiled for one architecture will not run on the other.
You cannot use CPU modules on GPU nodes, nor GPU modules on CPU nodes.
Login Nodes Behavior¶
Login nodes are CPU-only (x86_64):
- GPU hardware is not available
- GPU applications cannot be executed
- Only the CPU software stack is active by default
Accessing GPU Software Stack¶
To inspect available GPU software from a login node, switch the visible stack:
ssx set_gpu
This command only changes the module view, not the underlying hardware.
Note
Switching the stack does not grant access to GPUs. It only exposes the GPU-compiled modules.
Running GPU Applications¶
To run or compile GPU-enabled software, you must start a job on a GPU node:
srun --partition=gpu_short --export=ALL --nodes=1 --ntasks=72 --gres=gpu:1 --cpus-per-task=1 --time=12:00:00 --pty /bin/bash
Once inside the GPU allocation:
- Load GPU-specific modules
- Compile or run GPU applications normally
Key Rules¶
- CPU stack → use on CPU nodes only
- GPU stack → use on GPU nodes only
- Login nodes → CPU stack only (no GPU execution)
- Use
ssx set_gpuonly to inspect GPU modules from login
Failure to follow these rules will result in runtime errors or invalid binaries.
Requesting New Software¶
Before requesting new software, verify availability:
module avail
If the software is not present, submit a request via the Helpdesk.
Provide the following information:
- Software name
- Official website or source
- Software type (open-source or commercial)
- Required version
- Dependencies (if relevant)
- Installation instructions
- Validation or test procedure
- License details (if applicable)
- Preferred toolchain (e.g.
foss/2025b,intel/2025a) - Access restrictions (if required)
Warning
Licensed software requires valid authorization before installation.
Best Practices¶
- Prefer modules over manual environment configuration
- Load explicit versions when reproducibility is required
-
Use isolated environments:
-
Use containers for portability:
Troubleshooting¶
If issues occur:
- Verify module dependencies
- Check application documentation (
--help,man) - Validate workflows on small test jobs
Install path
Do not install software into system paths. Use user environments or request installation through support.