Kompilacja aplikacji na klastrze: Różnice pomiędzy wersjami
(Usunięcie informacji o konieczności inicjacji pakietu Modules) |
|||
Linia 1: | Linia 1: | ||
<small>< [[Podręcznik użytkownika KDM]] < Kompilacja aplikacji na klastrze</small> | <small>< [[Podręcznik użytkownika KDM]] < Kompilacja aplikacji na klastrze</small> | ||
− | Użytkownik może kompilować swoje oprogramowanie zgodnie z regułami pracy na klastrze. Niedopuszczalna jest kompilacja na węźle dostępowym ( | + | Użytkownik może kompilować swoje oprogramowanie zgodnie z regułami pracy na klastrze. Niedopuszczalna jest kompilacja na węźle dostępowym (be,) lub po zalogowaniu przez SSH na dowolny z węzłów obliczeniowych. |
Kompilację programu należy traktować jako jedno z zadań i wstawiać do jednej z kolejek systemu [[PBS]]. Najprościej jest zgłosić żądanie o dostęp do zasobów w trybie interaktywnym, wówczas system kolejkowy przydziela powłokę (''shell'') umożliwiając interaktywną pracę na węzłach obliczeniowych. | Kompilację programu należy traktować jako jedno z zadań i wstawiać do jednej z kolejek systemu [[PBS]]. Najprościej jest zgłosić żądanie o dostęp do zasobów w trybie interaktywnym, wówczas system kolejkowy przydziela powłokę (''shell'') umożliwiając interaktywną pracę na węzłach obliczeniowych. | ||
Linia 8: | Linia 8: | ||
* zadanie interaktywne w kolejce domyślnej <code>normal</code>, z domyślnymi zasobami - <code>1 rdzeń i 2 GB pamięci RAM</code>: | * zadanie interaktywne w kolejce domyślnej <code>normal</code>, z domyślnymi zasobami - <code>1 rdzeń i 2 GB pamięci RAM</code>: | ||
'''qsub -I -l software=gcc ''' | '''qsub -I -l software=gcc ''' | ||
− | * zadanie interaktywne | + | * zadanie interaktywne, z limitem <walltime> 6 godzin , z zasobami - <code>1 rdzeń i 1 GB pamięci RAM</code>: |
− | '''qsub -I -l software=icc -l select=1:ncpus=1:mem=1000mb | + | '''qsub -I -l walltime=06:00:00 -l software=icc -l select=1:ncpus=1:mem=1000mb''' |
'''Uwaga:''' Zadania kompilacji powinny być oznaczone parametrem <code>-l software=nazwa_kompilatora</code>. | '''Uwaga:''' Zadania kompilacji powinny być oznaczone parametrem <code>-l software=nazwa_kompilatora</code>. | ||
'''Przykład zastosowania:''' | '''Przykład zastosowania:''' | ||
− | '''$ qsub -I -l software=gcc -l select=1:ncpus=1:mem=1000mb | + | '''$ qsub -I -l walltime=06:00:00 -l software=gcc -l select=1:ncpus=1:mem=1000mb''' |
− | '''$ module load gcc/ | + | '''$ module load gcc/5.2.0''' |
− | ''' gcc/ | + | ''' binutils/2.25 load complete.''' |
+ | ''' gcc/5.2.0 load complete.''' | ||
'''$ gcc hello_world.c -o hello_world''' | '''$ gcc hello_world.c -o hello_world''' | ||
Wersja z 11:29, 22 lut 2016
< Podręcznik użytkownika KDM < Kompilacja aplikacji na klastrze
Użytkownik może kompilować swoje oprogramowanie zgodnie z regułami pracy na klastrze. Niedopuszczalna jest kompilacja na węźle dostępowym (be,) lub po zalogowaniu przez SSH na dowolny z węzłów obliczeniowych.
Kompilację programu należy traktować jako jedno z zadań i wstawiać do jednej z kolejek systemu PBS. Najprościej jest zgłosić żądanie o dostęp do zasobów w trybie interaktywnym, wówczas system kolejkowy przydziela powłokę (shell) umożliwiając interaktywną pracę na węzłach obliczeniowych.
W tym celu należy wykonać polecenie (kolejki i wymagania są przykładowe):
- zadanie interaktywne w kolejce domyślnej
normal
, z domyślnymi zasobami -1 rdzeń i 2 GB pamięci RAM
:
qsub -I -l software=gcc
- zadanie interaktywne, z limitem <walltime> 6 godzin , z zasobami -
1 rdzeń i 1 GB pamięci RAM
:
qsub -I -l walltime=06:00:00 -l software=icc -l select=1:ncpus=1:mem=1000mb
Uwaga: Zadania kompilacji powinny być oznaczone parametrem -l software=nazwa_kompilatora
.
Przykład zastosowania:
$ qsub -I -l walltime=06:00:00 -l software=gcc -l select=1:ncpus=1:mem=1000mb $ module load gcc/5.2.0 binutils/2.25 load complete. gcc/5.2.0 load complete. $ gcc hello_world.c -o hello_world
Po przyznaniu zasobów i otrzymaniu powłoki należy przygotować swoje środowisko pracy do kompilacji korzystając z modułów.
Zobacz też: