DGX Hub

Pre prístup k serveru píšte na dgx@helpdesk.tuke.sk

1. Informácie o serveri

Operačný systémUbuntu 24.04.2 LTS
CPU256 jadier
RAM1.0 TiB
Počet GPU8
Model GPUNVIDIA A100-SXM4-40GB
Pamäť na jednu GPU40 GB

2. Pravidlá

Zákazy

  • Zakázané: používanie Jupyter Notebook a JupyterLab na výpočtových uzloch.

Politika „spiacich jobov“ (sleeping)

Systém automaticky monitoruje a spravuje neaktívne úlohy, aby sa zabezpečilo férové využitie zdrojov.

  • Zrušenie spiacej úlohy po: 172800 s (48 hodín).
  • Upozornenia sú zasielané 8 hodín a 1 hodinu pred automatickým zrušením.

Využívanie zdrojov

Zvážte efektívne využívanie zdrojov CPU a GPU. Pri nadmernom zaťažovaní servera môže byť váš proces ukončený. Pri opakovanom porušovaní vám môže byť zablokovaný prístup.

Disková kvóta

Maximálna disková kvóta pre jedného používateľa je stanovená na 1 TB. Po prekročení tohto limitu vám bude automaticky doručený e-mail s notifikáciou a žiadosťou o uvoľnenie priestoru.

3. Pripojenie pomocou SSH (PuTTY)

Na pripojenie k serveru použite klienta ako PuTTY. Príkaz na pripojenie:

ssh jedinecny_login@dgx.uvt.tuke.sk

4. Prenos súborov pomocou WinSCP

Na prenos súborov odporúčame klienta WinSCP s nasledujúcou konfiguráciou:

Hostiteľ: dgx.uvt.tuke.sk
Používateľ: jedinečný_login
Protokol: SCP alebo SFTP

5. Práca so SLURM

Základné príkazy

  • sbatch job.slurm – odoslanie úlohy.
  • squeue – zobrazenie fronty úloh.
  • scancel JOB_ID – zrušenie úlohy.
  • sinfo – informácie o partíciách.
  • seff JOB_ID – efektivita vykonanej úlohy.

Užitočné príkazy

  • srun --pty bash – interaktívna relácia.
  • watch -n 5 nvidia-smi – sledovanie stavu GPU každých 5 s.
  • module avail / module load <modul> – správa softvérových modulov.

Príklad skriptu

#!/bin/bash
#SBATCH --job-name=test_uloha
#SBATCH --output=vystup.log
#SBATCH --error=chyby.log
#SBATCH --partition=dgx
#SBATCH --cpus-per-task=20
#SBATCH --gres=shard:10
#SBATCH --mail-user=tvoj@email.sk
#SBATCH --mail-type=ALL

python3 test_cuda.py

6. GPU Sharding (Zdieľanie GPU)

Čo sú to GPU Shardy? (Vysvetlenie pre laika)

Predstavte si, že jedna výkonná grafická karta (GPU) je ako veľká, chutná pizza. Štandardne, keď si objednáte úlohu, dostanete celú túto pizzu len pre seba, aj keď možno zjete len jeden alebo dva kúsky. Zvyšok pizze zostane nevyužitý, kým dojete.

GPU Sharding je ako krájanie tejto pizze na menšie, presne definované kúsky (shardy). Namiesto toho, aby ste si museli zobrať celú GPU, si môžete vypýtať presne toľko "kúskov" (shardov), koľko vaša úloha naozaj potrebuje. Každý kúsok má garantovanú časť výkonu a pamäte celej GPU.

Výhody

  • Efektivita: Viacerí používatelia môžu súčasne pracovať na jednej fyzickej GPU, každý so svojimi vlastnými "kúskami".
  • Kratšie čakanie: Keďže sa zdroje lepšie využívajú, je väčšia šanca, že sa vaša úloha spustí skôr a nebudete musieť čakať, kým niekto uvoľní celú GPU.

Ako to funguje na našom serveri?

Náš server má 8 grafických kariet NVIDIA A100, každá s 40 GB pamäte. Podľa konfigurácie je každá táto "pizza" rozdelená na 30 shardov (kúskov).

  • Celkom dostupných: 8 GPU × 30 shardov/GPU = 240 shardov.
  • Každý shard má približne: 40 GB / 30 ≈ 1.33 GB VRAM.

Príklady bežných požiadaviek

Nižšie nájdete príklady, ako požiadať o bežné podiely jednej grafickej karty. Použite parameter --gres=shard:X, kde X je počet shardov.

  • Celá GPU (100%): Požiadajte o 30 shardov pre plný výkon a ~40 GB VRAM.
    #SBATCH --gres=shard:30
  • Tri štvrtiny GPU (~75%): Požiadajte o 22 shardov pre ~30 GB VRAM.
    #SBATCH --gres=shard:22
  • Polovica GPU (50%): Požiadajte o 15 shardov pre polovičný výkon a ~20 GB VRAM.
    #SBATCH --gres=shard:15
  • Štvrtina GPU (~25%): Požiadajte o 8 shardov pre ~10 GB VRAM.
    #SBATCH --gres=shard:8

7. E-mail notifikácie

SLURM vás môže informovať o stave vašich úloh e-mailom.

  • --mail-user: Vaša e-mailová adresa (alebo viac adries oddelených čiarkou).
  • --mail-type: Typ udalostí, o ktorých chcete byť informovaný (napr. BEGIN, END, FAIL, alebo ALL pre všetky).

8. Anaconda

Inštalácia Miniconda a správa prostredí

# Stiahnutie a inštalácia
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

# Vytvorenie a aktivácia prostredia
conda create --name moje_prostredie python=3.9
conda activate moje_prostredie

# Inštalácia balíčkov
conda install numpy pandas matplotlib

# Deaktivácia a odstránenie prostredia
conda deactivate
conda remove --name moje_prostredie --all

9. Changelog

  • 2025-08-13: Zavedené nové pravidlá pre Jupyter a spiace joby.
  • 2025-07-30: Pridaný návod na e-mailové notifikácie.

🚀 Generátor SLURM skriptov

Vyplňte parametre a okamžite si vygenerujte SLURM skript pripravený na spustenie.

1. Nastavenia úlohy

1 GPU = 30 shardov. Zadajte počet.
Zadajte celý príkaz, ktorý sa má vykonať.
Podržte Ctrl/Cmd pre viacero možností.

2. Výsledný skript

Stiahnuť súbor