Pāriet uz saturu

Studentu HPC ceļvedis

Lai pievienotos LU HPC, vispirms jāizveido savienojums ar Latvijas Universitātes VPN tīklu.

  • Gateway: vpn.lu.lv
  • Lietotājvārds: LUIS Lietotājvārds
  • Parole: LUIS parole

Kad savienojums ar Latvijas Universitātes VPN ir izveidots, var turpināt ar pieslēgšanos HPC serverim:

Jāpiemin, lai pieslēgtos serverim jāsazinās ar LU HPC uzturētājiem, lai izveidotu personīgu LU HPC kontu un mapīti, kur darboties:

Lietotājvārds un parole pievienojoties LU HPC nav LUIS, bet gan uzturētāju izveidots lietotājs uz HPC servera.

  • ssh username@hpc.lu.lv
  • Paroles ievade

Slurm komandrindas, kas var būt noderīgas iekš HPC servera:

  • sinfo
    • Pieejamie mezgli, partīcijas, mezglu statuss: piemēram, idle, alloc, down, drain.
  • squeue
    • Parāda visus aktīvos SLURM darbus uz HPC servera.
      • JobID
      • Partition
      • Name
      • User
      • Time
      • Node
      • List
  • squeue -u lietotajvards
    • Apskatīt darbus, kādam konkrētam lietotājam
  • scancel JOBID
    • Aptur izveidoto SLURM darbu.
  • scancel -u lietotajvards
    • Aptur visus lietotāja aktīvos darbus

Darbu sākšana un ieiešana mezglos:

Piemēram, komanda:

srun --partition=gpu-jp --nodelist=node-gpu --mem=32G --cpus-per-task=16 --pty bash

  • Izveido darbu, ieiet LU HPC gpu mezglā
    • --mem=32G: piešķir darbam 32GB operatīvo atmiņu
    • --cpus-per-task=16: piešķir darbam 16 CPU kodolus
    • --pty bash: darbā ieiet ar interkatīvu režīmu
  • Jāpiemin, ka šāda veida darbs vairāk var tikt lietots testēšanas režīmam, jo izejot no šī darba, izejot no servera šis darbs automātiski tiks pārtraukts:
    • Testa komandas, lai noskaidrotu vai korekti ir sanācis pievienoties GPUmezglam, var palaist nvidia-smi, kas ļaus redzēt visas iespējamāsgrafiskās kartes.

Ilgstoša darbu izveide

Vispirms vajag izveidot vidi, kurā pieejamas bibliotēkas, var veidot savus Docker images, vai arī lietot pieejamus konteinerus.

Piemēram, lai izveidotu Singularity datni, kas satur PyTorch bibliotēku var palaist komandrindu, kas automātiski izveidos konteineri, kas saturēs PyTorch ar CUDA 11.8 versiju

  • singularity pull docker://pytorch/pytorch:2.1.0-cuda11.8-cudnn8-runtime

Pēc konteinera ielādes lietotāja mapīte parādīsies fails ar nosaukumu:

  • pytorch_2.1.0-cuda11.8-cudnn8-runtime.sif

Lai ieietu šajā Singularity failā ir jāpalaiž sekojošas komandrindas:

  • module load singularity
  • singularity exec --nv pytorch_2.1.0-cuda11.8-cudnn8-runtime.sif bash
    • –nv jeb NVIDIA GPU ļauj konteinerim redzēt visas pieejamās mezgla videokartes.

Lai izveidotu ilgstošu darbu tiek lietots SBATCH, kas lietojams izveidojot shell skriptu:

Zemāk pievienots attēls ar piemēru darba izveidei, lietojot SBATCH: “run_pointnet.sh” run_pointnet.sh

SBATCH argumenti ir līdzīgi kā iepriekš minētajā komandā srun:

srun --partition=gpu-jp --nodelist=node-gpu --mem=32G --cpus-per-task=16 --pty bash

Pēc skripta palaišanas ir iespējams aplūkot darbu ar komandrindām:

  • squeue – validēt vai darbs ir sācies
  • tail -f logs/pointnet_$jobid.out
    • Ļaus sekot līdzi izvadītajiem “logs” no uzdevuma, piemēram, ja palaistajā skriptā ir print() komandas, tās izvade būs apskatāma šajā log failā
    • Kā arī, ja darbs būs negaidītas darbības dēļ pārstājis darbību (nocrashojis), tad iemeslu varēs kļūdas ziņojums arī būs redzams log failā.
  • Lai darbu apturētu tiek lietota komanda scancel $jobid
    • jobid atrodams lietojot squeue

Sagatavoja Jānis Sausais 4.kursa students.