W celu wykonania obliczeń na GPU zalecamy użycie skonteneryzowanego środowiska uruchomieniowego. Oprogramowanie Singularity pozwala na uruchamianie programów w kontenerze zawierającym uprzednio skonfigurowane paczki oprogramowania wraz z ustawieniami konfiguracyjnymi. Więcej na temat Singularity można znaleźć w dokumentacji Aplikacji narzędziowych i systemowych.
Oficjalne kontenery Nvidia dostępne są pod adresem Nvidia NGC containers, ich pobranie wymaga zalogowania się za pomocą konta Nvidia lub gościa. Poniżej przedstawiono listę przykładowych kontenerów stosowanych w uczeniu maszynowym:
Na potrzeby przykładu uczenia maszynowego, będzie użyty kontener pytorch:21.11-py3.
Pobranie kontenera:
singularity pull docker://nvcr.io/nvidia/pytorch:21.11-py3
Uwaga: w katalogu domowym użytkownik posiada 20 GiB przestrzeni dyskowej. W razie pobierania kontenerów ta przestrzeń zostanie szybko wypełniona. Obejściem na to może być dowiązanie symboliczne katalogu .singularity/ w ścieżce users/work/<uzytkownik>/ do katalogu domowego.
mkdir --parents users/work/<uzytkownik>/.singularity
rm --recursive --force users/kdm/<uzytkownik>/.singularity
ln --symbolic /users/work/<uzytkownik>/.singularity /users/kdm/<uzytkownik>/.singularity
W ten sposób obrazy pobierane z zewnętrznego rejestru będą korzystać z miejsca, w którym przestrzeń dla użytkownika jest znacznie większa.
Uruchomienie kontenera w celu interaktywnego uruchomienia zadania:
singularity run --nv docker://nvcr.io/nvidia/pytorch:21.11-py3
lub
singularity run --nv <sciezka-do-katalogu>/pytorch_21.11-py3.sif
Uruchamianie programu, gdzie kontener jest środowiskiem wykonawczym dla zadania:
singularity exec --nv docker://nvcr.io/nvidia/pytorch:21.11-py3 <komenda>
lub
singularity exec --nv <sciezka-do-katalogu>/pytorch_21.11-py3.sif <komenda>