Kompilacja aplikacji na klastrze: Różnice pomiędzy wersjami
Linia 13: | Linia 13: | ||
'''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>. | ||
− | '''$qsub -I -l software= | + | '''$qsub -I -l software=gcc -l select=1:ncpus=1:mem=1000mb -q short6h ''' |
'''$source /usr/local/Modules/3.2.7/init/bash''' | '''$source /usr/local/Modules/3.2.7/init/bash''' | ||
− | '''$ module load gcc/4.6.0''' | + | '''$ module load gcc/4.6.0''' |
''' gcc/4.6.0 load complete.''' | ''' gcc/4.6.0 load complete.''' | ||
'''$gcc hello_world.c -o hello_world''' | '''$gcc hello_world.c -o hello_world''' |
Wersja z 15:19, 13 wrz 2011
< 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 (supernova) 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 w kolejce
short6h
, z zasobami -1 rdzeń i 1 GB pamięci RAM
:
qsub -I -l software=icc -l select=1:ncpus=1:mem=1000mb -q short6h
Uwaga: Zadania kompilacji powinny być oznaczone parametrem -l software=nazwa_kompilatora
.
$qsub -I -l software=gcc -l select=1:ncpus=1:mem=1000mb -q short6h $source /usr/local/Modules/3.2.7/init/bash $ module load gcc/4.6.0 gcc/4.6.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ż: