Obliczenia GPGPU to (General-Purpose Computing on Graphics Processing Units) to wykorzystanie procesorów graficznych wspólnie z jednostką jednostką CPU do przyspieszenia obliczeń naukowych i inżynierskich. Infrastruktura PL-Grid oferuje swoim użytkownikom dostęp do maszyny zawierającej karty GPGPUGPU. Jest to Zeus CPGPU GPGPU w ACK CYFRONET AGH. Zeus GPGPU jest grupą to grupa serwerów obliczeniowych zawierających karty GPGPU udostępnianych GPU i udostępnianych użytkownikom poprzez system kolejkowy. Obecnie w Zeusie GPGPU dostępne są dla użytkowników są 504 rdzenie obliczeniowe, 204 karty GPGPU GPU oraz 3,5 TB pamięci operacyjnej. Oprogramowanie dostępne na klastrze Zeus GPGPU to: Terachem, Gromacs, NAMD , i GAMESS.
Dostęp do GPGPU GPU jest możliwy jednie z poziomu systemu kolejkowego klastra Zeus. Należy zatem najpierw uzyskać dostęp do lokalnego systemu kolejkowego na klastrze Zeus w ACK CYFRONET AGH, aktywując w portalu użytkownika odpowiednie usługi (wskazane jako "usługi nadrzędne").
...
Następnie należy wypełnić motywację i aplikować o usługę.
Zadanie Zadania należy umieścić umieszczać w kolejce kolejce gpgpu na klastrze Zeus.
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.
Code Block | ||
---|---|---|
| ||
#!/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 |
...