Differences

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

Link to this comparison view

app:laboratoare:00 [2025/10/10 01:51]
tudor.calafeteanu [Exemple de infrastructuri HPC în universități]
app:laboratoare:00 [2025/10/18 22:02] (current)
tudor.calafeteanu [Resurse utile]
Line 81: Line 81:
 </​code>​ </​code>​
  
-^ CPU ^ Arhitectura ^ An lansare ^ Socket(s) ​^ Cores/​Socket ^ Threads/​Core ^ Total CPU(s) ​(threads) ^ Frecvență ​(GHz) ^ RAM per nod ^ +<note tip> 
-| Intel® Xeon® Platinum 8480C (**dgxh100**) | Sapphire Rapids (Intel 4th Gen Xeon Scalable) | 2023 | 56 | 2 | 2 | 224 | până la 3.8 GHz | ~2 TB | +Asteriscul de lângă numele unei partiții (in cazul nostru haswell) indică faptul că aceasta este partiția implicită în clusterul orchestrat de SLURM. Prin urmare, dacă trimiteți un job fără să specificati în mod explicit o partiție prin directiva, SLURM va asigna automat jobul tău partiției haswell. 
-| AMD EPYC 7742 64-Core Processor (**dgxa100**) | Rome (AMD Zen 2) | 2019 | 64 | 2 | 2 | 256 | până la 2.25 GHz | ~2 TB | +</​note>​ 
-| Intel® Xeon® Gold 6326 @ 2.90 GHz (**ucsx**) | Ice Lake (Intel 3rd Gen Xeon Scalable) | 2021 | 16 | 2 | 2 | 64 | 2.9 GHz | ~256 GB | + 
-| Intel® Xeon® E5-2680 v4 @ 2.40 GHz (**xl**) | Broadwell (Xeon v4) | 2016 | 14 | 2 | 2 | 56 | 2.4 GHz | ~256 GB | +^ CPU ^ Arhitectura ^ An lansare ^ Sockets ​^ Cores/​Socket ^ Threads/​Core ^ Total CPUs (threads) ^ Frecvență ​per core  ​^ RAM per nod ^ 
-| Intel® Xeon® E5-2640 v3 @ 2.60 GHz (**haswell**) | Haswell (Xeon v3) | 2014 | 8 | 2 | 2 | 32 | 2.6 GHz | ~128 GB |+| Intel® Xeon® Platinum 8480C (**dgxh100**) | Sapphire Rapids (Intel 4th Gen Xeon Scalable) | 2023 | 2 | 56 | 2 | 224 | până la 3.8 GHz | ~2 TB | 
 +| AMD EPYC 7742 64-Core Processor (**dgxa100**) | Rome (AMD Zen 2) | 2019 | 2 | 64 | 2 | 256 | până la 2.25 GHz | ~2 TB | 
 +| Intel® Xeon® Gold 6326 @ 2.90 GHz (**ucsx**) | Ice Lake (Intel 3rd Gen Xeon Scalable) | 2021 | 2 | 16 | 2 | 64 | 2.9 GHz | ~256 GB | 
 +| Intel® Xeon® E5-2680 v4 @ 2.40 GHz (**xl**) | Broadwell (Xeon v4) | 2016 | 2 | 14 | 2 | 56 | 2.4 GHz | ~256 GB | 
 +| Intel® Xeon® E5-2640 v3 @ 2.60 GHz (**haswell**) | Haswell (Xeon v3) | 2014 | 2 | 8 | 2 | 32 | 2.6 GHz | ~128 GB |
  
  
Line 130: Line 134:
 <note important>​ Va rugăm **NU** rulați aplicațiile direct **PE FEP**! Trimiteți-le ca joburi către cluster, folosind SLURM.</​note>​ <note important>​ Va rugăm **NU** rulați aplicațiile direct **PE FEP**! Trimiteți-le ca joburi către cluster, folosind SLURM.</​note>​
  
 +===== Configurarea mediului de lucru pe cluster =====
 +Într-un sistem HPC, numeroase aplicații, compilatoare,​ biblioteci sunt instalate simultan (de exemplu mai multe versiuni de GCC, CUDA, OpenMPI, etc.).
 +Aceste pachete pot depinde de versiuni diferite de drivere sau biblioteci, iar utilizarea lor directă poate duce la conflicte.
 +
 +Pentru a evita astfel de probleme și pentru a permite fiecărui utilizator să își configureze rapid propriul mediu de lucru, infrastructurile HPC folosesc sisteme specializate de gestionare a mediului software, precum Environment Modules sau Lmod.
 +
 +Aceste instrumente permit încărcarea dinamică a mediului de lucru. Practic, ele modifică temporar variabile precum PATH, LD_LIBRARY_PATH,​ CPATH, astfel încât utilizatorul să folosească exact versiunea dorită a unui compilator sau a unei biblioteci, fără a afecta sistemul global. ​
 +
 +Pe clusterul HPC al Politehnicii este instalat Environment Modules, disponibil implicit atât pe nodul de acces (FEP), cât și pe nodurile de calcul.
 +Prin comenzile ''​module'',​ fiecare utilizator poate vedea ce software este disponibil și poate încărca mediul de lucru potrivit pentru aplicația sa.
 +
 +Comenzi uzuale:
 +<code bash>
 +module help
 +module avail                      # afișează modulele disponibile
 +module load libraries/​cuda-12.3 ​  # încarcă biblioteca CUDA corespunzătoare
 +module list                       # arată modulele active în sesiunea curentă
 +module unload libraries/​cuda-12.3 # dezactivează un modul
 +module purge                      # dezactivează toate modulele încărcate
 +</​code>​
 +
 +Exemplu de utilizare într-un job SLURM (''​hello.sh''​):​
 +<code bash>
 +#!/bin/bash
 +#SBATCH --gres=gpu:​1
 +#SBATCH --partition=<​GPU_PARTITION>​
 +module load libraries/<​CUDA_VERSION>​
 +nvcc -o hello hello.cu
 +./hello
 +</​code>​
 +
 +Apoi rulati ''​sbatch hello.sh''​ pentru a submite jobul.
  
 ===== Exerciții ===== ===== Exerciții =====
Line 138: Line 174:
             * Cum vezi toate joburile tale care se execută în prezent pe cluster? Cum oprești un job specific? Dar pe toate dintr-o singură comandă?             * Cum vezi toate joburile tale care se execută în prezent pe cluster? Cum oprești un job specific? Dar pe toate dintr-o singură comandă?
             * Care este timpul maxim de rulare care îți este alocat per job? (hint: ''​sacctmgr,​ MaxWallDurationPerJob''​)             * Care este timpul maxim de rulare care îți este alocat per job? (hint: ''​sacctmgr,​ MaxWallDurationPerJob''​)
-        * Rulați cel puțin un program CPU-based și un program care utilizează CUDA cu sbatch. Verificați rezultatele +        * Rulați cel puțin un program CPU-based și un program care utilizează CUDA cu ''​sbatch''​. ​Verificați rezultatele.
-            * Hint: Faceți un script ​''​.sh'' ​care să: precizeze arhitectura pe care rulați (hint: ''​directive SLURM''​),​ să încarce dependențele necesare (hint: ''​module avail''​),​ să compileze codul sursă, apoi să îl rulezeRulați apoi ''​sbatch my_script.sh''​.+
 ===== Resurse utile ===== ===== Resurse utile =====
-  * https://​slurm.schedmd.com/​quickstart.html+  * [[https://​slurm.schedmd.com/​pdfs/​summary.pdf | SLURM Cheat sheet (2 pages)]] 
 +  * [[https://​slurm.schedmd.com/​mc_support.html#flags | SLURM Support for Multi-core/​Multi-thread Architectures]]
   * https://​infrastructure.pages.upb.ro/​wiki/​docs/​grid/​   * https://​infrastructure.pages.upb.ro/​wiki/​docs/​grid/​
app/laboratoare/00.1760050276.txt.gz · Last modified: 2025/10/10 01:51 by tudor.calafeteanu
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