Kompilacja oprogramowania
Kompilacja oprogramowania
Proszę nie uruchamiać kompilacji na węźle dostępowym |
---|
Aby skompilować oprogramowanie na klastrze musimy uzyskać dostęp do konsoli interaktywnej. Aby tego dokonać należy zlecić zadanie interaktywne.
Zadania kompilujemy w trybie interaktywnym ponieważ uzyskujemy w ten sposób dostęp bezpośrednio do węzła maszyny na którym mamy więcej zasobów.
Węzeł dostępowy nie nadaje się do kompilowania (oraz obliczeń) ponieważ posiada on ograniczone zasoby potrzebne tylko do przeglądania danych i zlecania zadań.
Przykład Slurm:
srun --pty /bin/bash
Aby uzyskać dostęp do węzła z określą wolną liczbą rdzeni należy dodać parametr -n
srun --pty -n 12 /bin/bash
Gdy chcemy zarezerwować sobie dodatkowo określoną liczbę pamieć RAM dodajemy parametr --mem
srun --pty -n 12 --mem 16000 /bin/bash
Gdy uzyskamy dostęp do konsoli bezpośrednio na węźle musimy załadować moduły z odpowiednimi kompilatorami potrzebnymi do skompilowania naszego oprogramowania
Przykład:
module load gcc
Ostatnim krokiem jest skompilowanie oprogramowania w katalogu projektowym według zaleceń producenta
Przykład:
./configure --prefix=$HOME/<grant>/project_data/ make make install
Aby wykonać kompilacje na deklarowanej liczbie rdzeni należy dodać parametr -j
make -j 12
Zadania interaktywne
Zadanie interaktywne pozwala użytkownikowi na uzyskanie powłoki (shell-a) na węźle obliczeniowym. Ponieważ kompilacja oraz uruchamianie wszelkich programów na maszynie dostępowej do klastra (ui.inula.man.poznan.pl) jest niedozwolone, zdania interaktywne są jednym ze sposobów, aby uruchomić oprogramowanie z graficznym interfejsem użytkownika (np. Matlab, Maple, itp.) lub skompilować swoją aplikację. Poniżej przedstawiony został przykład jak uruchomić zadanie w trybie interaktywnym.
Z linii poleceń
Najprostszym sposobem uruchomienia zadania interaktywnego jest wykonanie poniższego polecenia.
Zadania interaktywne SLURM
Zadania interaktywne możemy podzielić na dwie grupy:
- zadanie interaktywne (praca w trybie tekstowym)
- zadanie interaktywne z przekierowaniem X-ów (praca w trybie graficznym)
Zadanie interaktywne (praca w trybie tekstowym)
Zlecanie zadań interaktywnych jest bardzo proste i w najprostszym przypadku sprowadza się do wydania poniższego polecenia.
srun --pty /bin/bash
Aby uzyskać dostęp do węzła z określą wolną liczbą rdzeni należy dodać parametr -n
srun --pty -n 12 /bin/bash
Gdy chcemy zarezerwować sobie dodatkowo określoną liczbę pamieć RAM dodajemy parametr --mem
srun --pty -n 12 --mem 16000 /bin/bash