To get an account, you need to enrol to the respective StudIP courses of the lecture or exercise during which the KI4All cluster is used. Students who are using the cluster in their project or thesis need to contact their advisor.
To get an account on the KI4All cluster, you need to enrol to the respective StudIP courses of the lecture or exercise during which the KI4All cluster is used. Students who are using the cluster in their project or thesis need to contact their advisor.
The terms of use can be downloaded here (in German): https://www.tu-braunschweig.de/irmb/lehre
You will then be prompted to enter your *password*. To log in, please use the **username** and **password** of your **TU Braunschweig account**, which you also use to log in to other TU Braunschweig services, such as Stud.IP.
## For Lectures
To activate the access for your students, you need to **mail a csv file** in the following format to the KI4All system administration:
`GITZ ID, family name, first name, extern, lvirmb`
For instance:
`y111111, Musterfrau, Erika, extern, lvirmb`\
`y222222, Musterfrau, Max, extern, lvirmb`
To activate the access for your students, lectures need to **email a csv file** in the following format to the KI4All system administration (ki4all-cluster@irmb.tu-bs.de):
Users are clustered into three **user groups** by setting an appropriate keyword for `user_group`:
- extern: Access to CPU node (Juypyterhub)
- intern: as extern, plus additional access to 3 Nvidia A100 80GB GPUs
- betreiber: as intern, plus additional access to 5 Nvidia A100 80GB GPUs (only for iRMB members!)
The GPU queuing is explained in the section on GPU computations.
Within each user group, a **namespace** is defined by setting an appropriate keyword for `namespace`:
-`lv_institute` (e.g. `lv_irmb`). The prefix `lv` indicates that the access of the user is restricted to a specific lecture (lv: Lehrveranstaltung). **User accounts in this namespace will be deleted biannually on March 31 and September 30 without prior notice. Users are responsible to have their data saved on external storages!**
-`institute` (e.g. `irmb`). The access of these users is linked to the validity of their GITZ ID. **An institute namespace is reserved to lecturers only!**
The minimal example below shows a csv file with the required information of students who need access to the CPU node (Jupyterhub) during a lecture of the iRMB:
[Slurm Workload Manager](https://slurm.schedmd.com/documentation.html)(short:*Slurm*) is a cluster management and job scheduling system for large and small Linux clusters [1].
...
...
@@ -34,7 +34,7 @@ Here is an exemplary Slurm job script:
```{code-block} bash
#!/bin/bash
#SBATCH --partition=gpu
#SBATCH --partition=gpu_teaching
#SBATCH --nodes=1
#SBATCH --time=1:00:00
#SBATCH --job-name=test_jax
...
...
@@ -49,9 +49,9 @@ The first line `#!/bin/bash` is strictly necessary so that the shell interprets
A list of the most important options follows:
|Option|Description|
|:---|:---|
|`--partitition`|Sets the partitition (queue) to be used. On the KI4All-Cluster, only the *gpu* queue is available.|
|`--partitition`|Sets the partitition (queue) to be used, see also the paragraph **Queues** below.|
|`--nodes`|Sets the number of nodes to be used.|
|`--time`|Sets the maximum time the job runs before being cancelled automatically.|
|`--time`|Sets the maximum time the job runs before being cancelled automatically.**The default is 1s, the maximum allowed time is 7days**.|
|`--job_name`|Sets the job name. This is also displayed when the status of the job is queried with the command `squeue` and can help with identifying your job.|
|`--ntasks-per-node`|Sets the number of tasks to be run per node. This becomes interesting if parallel computations are to be performed on the node.|
|`--gres`|Specifies a comma-delimited list of generic consumable resources. The format of each entry on the list is *name:count*. The name is that of the consumable resource (here: *gpu*). The count is the number of those resources (defaults to 1). When submitting Slurm jobs on the KI4All-Cluster, under normal circumstances, you can include this option unchanged in your script.|
...
...
@@ -62,6 +62,13 @@ The last line defines what the job should do. In this case, the Python script `e
There are some other options that might be helpful for you in some cases. For a complete list of all options and their meaning, we refer to [1].
:::
## Queues
The user group `intern` can submit jobs to the queue *gpu_teaching* by setting `--partitition=gpu_teaching` as described in the above minimal example.
The user group `betreiber` may choose between two additional queues:
-*gpu_irmb_full* to access 3 full, non-virtualized Nvidia A100 80GB
-*gpu_irmb* to access 3 full and 2 virtualized (3/7 and 4/7) Nvidia A100 80GB. Note that in this queue it cannot be controlled, if a full or a virtualized GPU will be used.
## Further Help
In addition to the documentation [1], you can get more help for each command and a list of all available options by entering the following command in the terminal: