Kompilacja aplikacji na klastrze: Różnice pomiędzy wersjami

Z KdmWiki
Skocz do: nawigacji, wyszukiwania
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>.
  
 +
'''Przykład zastosowania:'''
 
  '''$qsub -I -l software=gcc -l select=1:ncpus=1:mem=1000mb -q short6h '''
 
  '''$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'''

Wersja z 16:20, 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.

Przykład zastosowania:

$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ż: