Differences

This shows you the differences between two versions of the page.

Link to this comparison view

asc:laboratoare:01 [2026/03/26 14:25]
emil.slusanschi [Resurse utile]
asc:laboratoare:01 [2026/04/10 17:27] (current)
tudor.calafeteanu [Comenzi uzuale SLURM]
Line 73: Line 73:
 </​code>​ </​code>​
  
-Explicații coloane: **CPUS** = număr total de thread-uri hardware per nod, **MEMORY** = RAM în MB per nod, **GRES** = resurse generice (GPU-uri: tip și număr per nod), **AVAIL** = starea partiției.+Explicații coloane: **CPUS** = număr total de thread-uri hardware ​**per nod**, **MEMORY** = RAM **per nod** (în MB), **GRES** = resurse generice (GPU-uri: tip și număr ​**per nod**), **AVAIL** = starea partiției.
  
 Asteriscul din dreptul partiției (''​haswell*''​ în cazul nostru) indică **partiția implicită**. Dacă nu specificați o partiție, SLURM va aloca jobul pe partiția implicită. Asteriscul din dreptul partiției (''​haswell*''​ în cazul nostru) indică **partiția implicită**. Dacă nu specificați o partiție, SLURM va aloca jobul pe partiția implicită.
Line 116: Line 116:
  
 ¹ Sockets/​Node x Cores/​Socket x Threads/​Core = Threads/​Node \\ ¹ Sockets/​Node x Cores/​Socket x Threads/​Core = Threads/​Node \\
-² Pe AMD EPYC, fiecare socket expune 4 NUMA nodes datorită arhitecturii chiplet (CCD/CCX). Fiecare NUMA node conține 16 core-uri și o porțiune de memorie locală. Pe Intel, de regulă 1 socket = 1 NUMA node.+² Pe AMD EPYC, fiecare socket expune 4 NUMA nodes datorită arhitecturii chiplet (CCD/CCX). Fiecare NUMA node conține 16 core-uri și o porțiune de memorie locală. Pe Intel, de regulă1 socket = 1 NUMA node.
  
 <spoiler Alte informații utile (click pentru detalii)>​ <spoiler Alte informații utile (click pentru detalii)>​
Line 260: Line 260:
 module help module help
 module avail                      # afișează modulele disponibile module avail                      # afișează modulele disponibile
-module load libraries/​cuda-13.0 ​  # încarcă ​biblioteca ​CUDA corespunzătoare+module load libraries/​cuda-13.0 ​  # încarcă ​modulul de CUDA corespunzător
 module list                       # arată modulele active în sesiunea curentă module list                       # arată modulele active în sesiunea curentă
 module unload libraries/​cuda-13.0 # dezactivează un modul module unload libraries/​cuda-13.0 # dezactivează un modul
 module purge                      # dezactivează toate modulele încărcate module purge                      # dezactivează toate modulele încărcate
 </​code>​ </​code>​
- 
-<note important>​ 
-În prezent, modulefile-urile nu sunt disponibile pe cluster. Până la rezolvarea acestei probleme, configurarea mediului CUDA se face manual prin variabilele de mediu: 
- 
-<code bash> 
-export PATH=/​usr/​local/​cuda/​bin:​$PATH ​                         # pentru a găsi compilatorul nvcc 
-export LD_LIBRARY_PATH=/​usr/​local/​cuda/​lib64:​$LD_LIBRARY_PATH ​ # pentru a găsi bibliotecile CUDA la runtime 
-</​code>​ 
- 
-Când modulefile-urile vor fi disponibile,​ cele două linii de export vor fi înlocuite cu: 
-<code bash> 
-module load libraries/​cuda-13.0 
-</​code>​ 
-</​note>​ 
 ===== Utilizare SLURM ​===== ===== Utilizare SLURM ​=====
 SLURM este scheduler-ul de joburi folosit pe clusterul UPB. Rolul său este să primească cererile utilizatorilor,​ să le pună în coadă și să aloce resursele disponibile (CPU-uri, GPU-uri, memorie) în mod echitabil. Fiecare cont are restricții per partiție: în primul rând dacă are acces sau nu, timp maxim per job (de exemplu maximum 10 minute pentru conturile voastre, după cum ați văzut mai sus), număr maxim de joburi simultane, număr maxim de noduri folosite per job, limită de RAM per job, etc. SLURM este scheduler-ul de joburi folosit pe clusterul UPB. Rolul său este să primească cererile utilizatorilor,​ să le pună în coadă și să aloce resursele disponibile (CPU-uri, GPU-uri, memorie) în mod echitabil. Fiecare cont are restricții per partiție: în primul rând dacă are acces sau nu, timp maxim per job (de exemplu maximum 10 minute pentru conturile voastre, după cum ați văzut mai sus), număr maxim de joburi simultane, număr maxim de noduri folosite per job, limită de RAM per job, etc.
Line 380: Line 366:
 #SBATCH --partition=ucsx #SBATCH --partition=ucsx
 #SBATCH --gres=gpu:​1 #SBATCH --gres=gpu:​1
-# Configurare manuală CUDA (vezi secțiunea "​Configurarea mediului de lucru"​) +module load libraries/cuda-13.0
-export PATH=/​usr/​local/cuda/​bin:​$PATH +
-export LD_LIBRARY_PATH=/​usr/​local/​cuda/​lib64:​$LD_LIBRARY_PATH+
 nvcc -o hello_cuda hello_cuda.cu nvcc -o hello_cuda hello_cuda.cu
 ./​hello_cuda ./​hello_cuda
Line 414: Line 398:
 srun --partition=ucsx --gres=gpu:​1 --pty bash    # sesiune interactivă pe nodul de calcul srun --partition=ucsx --gres=gpu:​1 --pty bash    # sesiune interactivă pe nodul de calcul
 srun --partition=haswell -w haswell-wnxx --pty bash # rulare interactivă simplă pe un anumit nod (xx se inlocuieste cu un numar anume de sistem) de pe partitia haswell srun --partition=haswell -w haswell-wnxx --pty bash # rulare interactivă simplă pe un anumit nod (xx se inlocuieste cu un numar anume de sistem) de pe partitia haswell
- 
  
 # === Informații despre cluster === # === Informații despre cluster ===
asc/laboratoare/01.1774527924.txt.gz · Last modified: 2026/03/26 14:25 by emil.slusanschi
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0