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

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
m
 
(Nie pokazano 10 wersji utworzonych przez 5 użytkowników)
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 (supernova) lub po zalogowaniu przez SSH na dowolny z węzłów obliczeniowych.  
+
Użytkownik może kompilować swoje oprogramowanie zgodnie z regułami pracy na klastrze. Niedopuszczalna jest kompilacja na węźle dostępowym (bem.wcss.pl).  
  
 
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.
  
 
W tym celu należy wykonać polecenie (kolejki i wymagania są przykładowe):
 
W tym celu należy wykonać polecenie (kolejki i wymagania są przykładowe):
* 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, z limitem <code>walltime</code> 6 godzin , z zasobami - <code>1 rdzeń i 1 GB pamięci RAM</code>:
  '''qsub -I -l software=gcc '''
+
  '''qsub -I -l walltime=06:00:00 -l software=icc -l select=1:ncpus=1:mem=1000mb'''
* zadanie interaktywne w kolejce <code>short6h</code>, z zasobami - <code>1 rdzeń i 1 GB pamięci RAM</code>:
 
'''qsub -I -l software=icc -l select=1:ncpus=1:mem=1000mb -q short6h '''
 
  
 
'''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 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 [[Korzystanie z modułów | modułów]].
 
Po przyznaniu zasobów i otrzymaniu powłoki należy przygotować swoje środowisko pracy do kompilacji korzystając z [[Korzystanie z modułów | modułów]].
Linia 18: Linia 23:
 
* [[Kompilacja aplikacji równoległych]]
 
* [[Kompilacja aplikacji równoległych]]
 
* [[Linkowanie z bibliotekami numerycznymi]]
 
* [[Linkowanie z bibliotekami numerycznymi]]
 +
* [[Korzystanie z modułów]]
  
 
[[Kategoria:Podręcznik użytkownika]]
 
[[Kategoria:Podręcznik użytkownika]]

Aktualna wersja na dzień 08:00, 2 wrz 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 (bem.wcss.pl).

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