Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Home

With this documentation you should find all you need to know to use the FutureLab compute cluster at the HTL Wiener Neustadt. The cluster is jointly run by robo4you and the HTL Wiener Neustadt. It is provided for educational use by students and staff.

Whom can I contact for support?

LLM API

Getting Access

Slurm job scheduling

Slurm is a job scheduling system used on high-performance computing clusters. As a student, you will use Slurm to run your computations on the cluster instead of your local machine. This allows you to access more powerful hardware and run longer or more demanding jobs without tying up your own computer.

To use Slurm, you submit a job script that specifies what resources you need (like CPU cores, memory, and runtime). Slurm places your job in a queue and runs it when resources become available. You can check the status of your jobs, cancel them if needed, and view the results once they complete.

Getting Access

Usser Accounts

Getting access to the cluster is straightforward. Just follow these steps:

  1. Join the Signal group - This is our primary communication channel for cluster updates and support: https://signal.group/#CjQKIBk5LhJ7UTU06rt-nIZSKykTgTNT8nLNb_EVooFq948OEhCYzm6LszomjZYyFhLY9-IS
  2. Provide your name and e-mail address - So we know who you are and can reach you
  3. Share your SSH public key - You can provide a link like github.com/<your-username>.keys
  4. Tell us about your use case - Briefly describe what you plan to use the cluster for.

That’s it! We’re friendly and responsive, and we welcome most requests. Whether you’re working on research projects, homework, or personal experiments, we’re happy to help you get started.

Remote Access / VPN

  1. Follow the instructions on netbird.robo4you.at
  2. ssh r4uai00

5 Minute TL;DR

All files that need to be accessible during the job need to be placed in /scratch/ or /shared/.

  1. I want to…

    1. run a single command/script and can wait until it finishes: srun COMMAND
    2. run a script and continue working or disconnect: sbatch MY_SCRIPT.sh
  2. My command/script needs…

    1. more time: Add --time=HH:MM:SS to srun/sbatch
    2. more CPU cores: Add --cpus-per-task=N to request N cores
    3. more RAM: Add --mem=NG to request N gigabytes
    4. a GPU: Add --gres=gpu:rtx_4090:1 to request a single RTX 4090 GPU
    5. interactive access to a node: Add --pty bash to srun/sbatch
  3. I submitted a job and want to check its status: squeue --me

  4. I want to cancel a job: scancel JOBID

  5. I need a special environment (Docker, etc.): Use Apptainer in your job scripts or request a package beeing installed on the cluster.

For more details on any command, use man COMMAND (e.g., man sbatch) or check the Slurm documentation.

Example Scripts

Minimal sbatch Script

#! /usr/bin/env bash
#
#SBATCH --job-name=minimal-example
#SBATCH --cpus-per-task=1
#SBATCH --mem=1G
#SBATCH --time=0-00:00:20

echo "Hello, World!"

Python Scripts

Use the uv package manager to run Python scripts in a Slurm job. Or otherwise use a Python virtual environment.

#! /usr/bin/env bash
#
#SBATCH --job-name=minimal-example
#SBATCH --cpus-per-task=1
#SBATCH --mem=1G
#SBATCH --time=0-00:00:20

uv run example.py

Apptainer

TODO

File Systems

/home/$USER

Is available on all nodes and is the default working directory when you log in. It is a network file system (NFS) and is NOT backed up regularly. It has a quota of 10 GB per user.

/scratch

Is available on all nodes and is the default location for temporary files. It is not backed up.

Performance Tip: For fast file access during jobs, copy your files to /scratch/$USER before running your job and delete them afterwards. The /scratch directory is backed by fast NVMe storage, which can significantly improve I/O performance compared to network file systems.

# Copy files to scratch before job
cp -r /path/to/your/data /scratch/$USER/

# Run your job with files from /scratch/$USER

# Clean up after job completes
rm -rf /scratch/$USER/your-data