Singularity


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>