Zeus GPGPU:Podstawy
Spis treści
Nazwa maszyny dostępowej
Obowiązuje ta sama nazwa co dla reszty klastra Zeus: Nazwa maszyny dostępowej
Zasoby dyskowe
Obowiązują te same zasoby co dla reszty klastra Zeus: Zasoby dyskowe
Dostępne oprogramowanie
Opis dostępnego oprogramowania znajduje się tutaj.
CUDA / OpenCL
Uzyskanie dostępu do narzędzi, w szczególności odpowiednie ustawienie zmiennych $CUDADIR, $PATH i $LD_LIBRARY_PATH, wymaga załadowania modułu CUDA poleceniem module add gpu/cuda
Uruchamianie zadań
System kolejkowy: Torque
Zarządca zasobów: Moab
W celu uruchomienia zadania niezbędna jest wiedza na temat podstawowych komend systemu kolejkowego. [link]
Poza ustawieniem w skrypcie typowych parametrów istotnych dla systemu kolejkowego, konieczna jest specyfikacja parametru gpus oznaczającego żądaną liczbę kart graficznych na pojedynczym węźle obliczeniowym. Często oprogramowanie wymaga, aby karta była jednocześnie dostępna dla wielu procesów. Należy wtedy dodatkowo ustawić jej tryb pracy na shared, specyfikując gpus=1:shared lub gpus=2:shared. Inne możliwe tryby pracy to exclusive_thread i exclusive_process.
W razie potrzeby identyfikatory przydzielonych przez system kolejkowy kart graficznych można sprawdzić wyświetlając zawartość pliku wskazywanego przez zmienną środowiskową $PBS_GPUFILE.
Opis kolejek
Nazwa kolejki | Maksymalna liczba zadań użytkownika | Maksymalny czas trwania zadania | Dodatkowe informacje |
---|---|---|---|
gpgpu | 16 | bez limitu | w każdym węźle są dwie karty GPGPU |
Opis właściwości węzłów obliczeniowych
Właściwość | Opis |
---|---|
mhz2933 | szybkość procesora |
mem74gb | ilość pamięci RAM w serwerze obliczeniowym |
n2-2 | lokalizacja, nie potrzebna do obliczeń |
gpgpu | informacja, że to węzeł z kartą GPGPU |
Przykładowe skrypty dla systemu kolejkowego
TeraChem (zrównoleglenie na dwie karty graficzne)
#!/bin/sh # TeraChem can run on a single node only #PBS -l nodes=1:ppn=2:terachem:gpus=2:exclusive_process #PBS -N sample_terachem #PBS -q gpgpu cd $PBS_O_WORKDIR # initializing proper environment for TeraChem module add gpu/terachem # actual job $TERACHEMRUN ch.inp > ch.log
TeraChem (zrównoleglenie na osiem kart graficznych)
#!/bin/sh # TeraChem can run on a single node only #PBS -l nodes=1:ppn=8:terachem:gpus=8:exclusive_process #PBS -N sample_terachem #PBS -q gpgpu cd $PBS_O_WORKDIR # initializing proper environment for TeraChem module add gpu/terachem # actual job $TERACHEMRUN ch.inp > ch.log
NAMD
#!/bin/sh #PBS -l nodes=3:ppn=12:gpus=2:shared #PBS -N sample_namd #PBS -q gpgpu cd $PBS_O_WORKDIR # initializing proper environment for NAMD with GPU support module add gpu/namd # actual job runnamd stmv.namd > stmv2_2x2.log
GAMESS
#!/bin/sh # the number of GPUs requested # at the moment it must be set to 2 per node #PBS -l nodes=2:ppn=4:gpus=2:exclusive_process #PBS -N sample_gamess #PBS -q gpgpu # changing directory to the one from which the job is submitted cd $PBS_O_WORKDIR # initializing proper environment for GAMESS with GPU support module add gpu/gamess # actual job rungms noq15 >& noq15.log
GAMESS (starsza wersja)
#!/bin/sh # this version of GAMESS is single-node only #PBS -l nodes=1:ppn=4:gpus=2:exclusive_process #PBS -N sample_gamess #PBS -q gpgpu # changing directory to the one from which the job is submitted cd $PBS_O_WORKDIR # initializing proper environment for GAMESS 2010.R1 with GPU support module add gpu/gamess/2010.R1 # actual job $GMSRUN noq15 >& noq15.log
Zasady obowiązujące na części GPGPU
- Uruchamiane mogą być wyłącznie zadania wykorzystujące GPU
- Obowiązuje całkowity zakaz używania maszyny dostępowej do wykonywania obliczeń. Administratorzy będą przerywać takie procesy bez ostrzeżenia.
- W celu skompilowania programu proszę użyć polecenia:
qsub -I -q gpgpu -l nodes=1:ppn=1:gpus=1
Polecenie to spowoduje zalogowanie użytkownika na węzeł obliczeniowy, tam proszę uruchomić kompilację programu.
- W celu wykonywania obliczeń niezbędne jest podanie identyfikatora grantu za pomocą parametru "-A".
Szczegółowy opis grantów znajduje się tutaj.