Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Software

Operating System

The KTA Computer System runs on AlmaLinux 9, a Linux distribution that is binary compatible with Red Hat Enterprise Linux (RHEL) and is officially supported by CERN.

System-Wide Software

The AlmaLinux software repositories contain a wide variety of scientific software that is available on all machines without any additional setup. This includes, among others:

This list is not exhaustive. If a package you need is missing, you can request its installation by writing to ktas.admin@ph.tum.de. If the package is not available in the repositories, see the sections below for alternative installation methods.


Compiling Software from Source

If a package is not available through the system repositories, Spack, or conda, you can always compile it from source and install it into a directory you own. This gives you full control over the version and build configuration.

Below is a worked example using ROOT, the CERN data analysis framework. The same general pattern — clone, configure with CMake, build, install — applies to most other CMake-based projects.

Example: Building ROOT from source

1. Clone the source

git clone https://github.com/root-project/root.git --branch latest-stable --depth=1

Using --depth=1 skips the full commit history and makes the clone much faster. Replace latest-stable with a specific tag (e.g. v6-32-06) if you need a particular version.

2. Create a build directory

Always build out-of-source to keep the source tree clean:

mkdir root-build && cd root-build

3. Configure with CMake

cmake ../root \
    -DCMAKE_INSTALL_PREFIX=$HOME/software/root \
    -Dbuiltin_xrootd=ON \
    -Dmathmore=ON \
    -DCMAKE_BUILD_TYPE=Release

CMAKE_INSTALL_PREFIX sets where ROOT will be installed. Using a path inside your home directory (or a larger storage volume) avoids the need for administrator privileges. Run cmake -L ../root to see a full list of available build options.

4. Compile and install

cmake --build . --parallel $(nproc)
cmake --install .

$(nproc) uses all available cores. If you are compiling on a terminal server, be considerate of other users and limit the core count, e.g. --parallel 8. For large builds like ROOT it is better to run this step as an interactive job on a compute node (see Interactive Jobs).

5. Set up the environment

After installation, source the ROOT environment script to make root, rootcling, and the associated libraries available in your shell:

source $HOME/software/root/bin/thisroot.sh

To load ROOT automatically in every new shell session, add this line to your $HOME/.bashrc.


Anaconda

Anaconda is a widely used Python distribution for scientific computing. It ships with conda, a combined package and environment manager. A global Anaconda installation is available on all machines in the cluster — no personal installation is required.

Activating the base environment

To enter the shared conda environment, run:

source /opt/anaconda3/bin/activate

Your prompt will change to indicate you are now inside the base environment:

(base) [ga45can@nidoking ~]$

Creating a personal environment

From within base, create and use your own environment:

conda create -n MyAwesomeDevEnv
conda activate MyAwesomeDevEnv
conda install tensorflow root

You can verify the installation as expected:

(MyAwesomeDevEnv) [ga45can@nidoking ~]$ which root
/MyAwesomeDevEnv/bin/root

(MyAwesomeDevEnv) [ga45can@nidoking ~]$ python -c "import tensorflow as tf; print(tf.__version__)"
2.6.2

We recommend creating a $HOME/.condarc file with the following settings:

channels:
  - conda-forge
  - defaults
channel_priority: strict
envs_dirs:
  - /path/outside/your/home/directory

Setting conda-forge as the primary channel also significantly expands the range of available packages.


Spack

Spack is a package manager designed for HPC environments. It allows multiple versions of the same package to coexist and handles complex dependency trees — making it well suited for scientific software stacks.

Activating Spack

To make the spack command available in your shell, run:

source /tank1/spack/spack/share/spack/setup-env.sh

You can search the full list of packages supported by Spack here.