Software
Contents
- Operating system
- Software provisioning
- Environments for compiling source code
- pkgsrc Modules
- Software tools
- Python
- User-installed software
See also:
Operating system
The operating system of Hummel-2 is Debian GNU/Linux.
Software provisioning
- All nodes are running diskless.
- The operating system images contain a minimal set of software.
- Most software is installed in the
/sw
directory and made available via Environment Modules.
Modules are organised in three groups:
/sw/BASE
: base software (environments for compiling source code)/sw/TOOL
: software tools (like text editors, version control)/sw/APP
: application software (e.g. for quantum chemistry)
Environments for compiling source code
Environments for compiling source code are called
env/environment
.
An environment
contains:
- a compiler
- optionally an MPI library
For example:
env/gcc-13.2.0
env/gcc-13.2.0_openmpi-4.1.6
The combination compiler/MPI is fixed, i.e. here is no
modularity (in contrast to what the name Modules suggests).
Only a single env
Module can be loaded at a time. Therefore
env
Modules are switch
ed (not
load
ed):
module switch env env/newEnvironment
(The first env
is a shortcut for the env
currently chosen.)
An env
can offer additional Modules, in particular
sub-program libraries or CUDA. These modules can only be loaded in that
env
. They are located in:
/sw/LIB/environment
Modules loaded from /sw/LIB
will automatically be
unloaded when switching env
s.
pkgsrc Modules
pkgsrc is a software package manager which can install very many packages from source. On Hummel-2 it replaces software packages provided by the Linux distribution. (This keeps operation system images small and ensures that software versions do not change.) The pkgsrc Modules are called:
env/yyyyQq-compiler-MPI
For example
env/2023Q4-gcc-openmpi
provides pkgsrc release 2023Q4.
Switching to pkgsrc is the natural starting point for working on Hummel-2. The idea is that pkgsrc provides all tools and software dependences as well as some applications (in particular R) that are normally provided by the Linux distribution.
Software tools
For frequently needed software tools Modules exist in
/sw/TOOL
. If a tool is missing in the env
you
want to work with, please try this recipe:
Example:
$
module switch env env/2023Q4-gcc-openmpi module: unloaded env/system-gcc module: loaded env/2023Q4-gcc-openmpi Module for pkgsrc-devel 2023Q4 loaded.$
which vim /sw/env/gcc-13.2.0_openmpi-4.1.6/pkgsrc/2023Q4/bin/vim$
alias vim=/sw/env/gcc-13.2.0_openmpi-4.1.6/pkgsrc/2023Q4/bin/vim
Python
A listing of Python versions available can be obtained with:
module avail pythonversion
User-installed software
Binary software packages that can be automatically installed from the
internet should be stored in the $USW
directory.