Zeus GPGPU:Podstawy

Z Komputery Dużej Mocy w ACK CYFRONET AGH
Skocz do:nawigacja, szukaj

!!! Ta sekcja dokumentacji jest nieaktualna, prosimy o kontakt na helpdesk@plgrid.pl !!!



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.

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 200 336:00:00 na węźle są dwie lub osiem kart GPGPU

Opis właściwości węzłów obliczeniowych

Właściwość Opis
E5645, X5670 model procesora
mhz2400, mhz2933 szybkość procesora
mem96gb, mem74gb ilość pamięci RAM w serwerze obliczeniowym
gpgpu8, gpgpu2 ilość kart GPGPU na węźle
gpgpu informacja, że to węzeł z kartą GPGPU
infiniband serwer obliczeniowy z siecią Infiniband

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.