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 swoim katalogu domowym według zaleceń producenta
Przykład:

./configure --prefix=katalog domowy
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