@@ -10,11 +10,20 @@ While we can control this setup on our own system, it becomes more difficult to
Containers allow to go one step further than virtual environments and we can control which operating system (e.g. Ubuntu/Linux) in which version with specific libraries, etc we use.
[Docker](https://www.docker.com/) is a popular container software which has the benefit that it is well supported not only on Linux, Windows, or MacOS machines but can also be used as a starting point for running on large clusters such as the HPC cluster at the ITC at RWTH Aachen University.
## Apptainer / HPC Cluster
The cluster systems use a different kind of container mechanism called [Apptainer](https://apptainer.org/)(formerly known as Singularity). However, one of the recommended ways to build a container image for HPC use is to start from a docker container.
The docker container is created using a "Dockerfile". In this example, we start from the official PyTorch image and add furhter machine learning library.
This docker-file has been converted to an apptainer-image that can be used on the HPC cluster at RWTH Aachen university.
You can find the image at the following path: ```/rwthfs/rz/SW/UTIL.common/singularity/datascienceintro```
The [Apptainer Help](https://help.itc.rwth-aachen.de/en/service/rhr4fjjutttf/article/76576413f58040e78acab4332d9e68e3/) of the ITC at RWTH Aachen university provides further details on how to use the image on the HPC cluster.
At the moment, only HPC admins can create new Apptainer images.
# Using Docker
The docker container is created using a "Dockerfile". In this example, we start from the official PyTorch image and add further machine learning libraries.
## Building images
Before we can use the docker container, we need to build the image: