Na računalnom klasteru Isabella, na čvorovima s grafičkim procesorima NVIDIA Tesla V100-SXM2-16GB, instalirana je Pythonova biblioteka za strojno učenje TensorFlow, optimizirana za izvođenje na grafičkim procesorima.
Dostupne verzije i odgovarajući moduli, kao i NVIDIA knjižnice korištene pri kompilaciji su navedene ispod:
Verzija | Modul | CUDA | cuDNN | NCCL |
---|---|---|---|---|
1.12.0 | tensorflow/1-12-0-gpu | 10.0 | 7.3.1 | 2.3.5 |
1.15.0 | tensorflow/1-15-0-gpu | |||
2.0.0 | tensorflow/2-0-0-gpu | |||
2.6.2 | tensorflow/2-6-2-gpu | 11.0 | 8.3.0 | 2.11.4 |
2.12.0 | tensorflow/2-12-0 | 11.8 | 8.6.0 | 2.13.4 |
U nastavku je opisano podnošenje tipičnih Python poslova. Više informacija o pokretanju poslova možete pronaći na stranicama Korištenje grafičkih procesora te Pokretanje i upravljanje poslovima.
U opisima poslova koji koriste jedan grafički procesor, obavezno treba koristiti cuda-wrapper.sh, kao u sljedećem primjeru: |
#$ -cwd #$ -pe gpu 1 module load tensorflow/1-12-0-gpu cuda-wrapper.sh python3.5 moj_program.py |
#$ -cwd #$ -pe gpu 1 module load tensorflow/1-15-0-gpu cuda-wrapper.sh python moj_program.py |
Korištenje više grafičkih procesora nije dopušteno bez korištenja biblioteke Horovod. |
U opisima poslova koji koriste više grafičkih procesora, obavezno treba koristiti openmpi-wrapper.sh, kao u primjerima u nastavku. |
Za pokretanje poslova koji zahtijevaju više grafičkih procesora na jednom čvoru potrebno je koristiti paralelnu okolinu gpusingle te željeni broj grafičkih procesora (maksimalno 4):
#$ -cwd #$ -pe gpusingle 4 module load tensorflow/1-12-0-gpu openmpi-wrapper.sh python3.5 moj_program.py |
#$ -cwd #$ -pe gpu 6 module load tensorflow/1-12-0-gpu openmpi-wrapper.sh python3.5 moj_program.py |
Za pokretanje poslova koji zahtijevaju cijele čvorove potrebno je koristiti paralelnu okolinu gpufull te željeni broj grafičkih procesora (mora biti višekratnik broja 4). Primjer skripte za zauzimanje dva čvora:
#$ -cwd #$ -pe gpufull 8 module load tensorflow/1-12-0-gpu openmpi-wrapper.sh python3.5 moj_program.py |
Posao se podnosi s pristupnog čvora naredbom:
qsub tf.sge |