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

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
(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 (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 (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 w kolejce <code>short6h</code>, z zasobami - <code>1 rdzeń i 1 GB pamięci RAM</code>:
+
* 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 -q short6h '''
+
  '''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 -q short6h '''
+
  '''$ qsub -I -l walltime=06:00:00 -l software=gcc -l select=1:ncpus=1:mem=1000mb'''
  '''$ module load gcc/4.6.0'''  
+
  '''$ module load gcc/5.2.0'''
  ''' gcc/4.6.0 load complete.'''
+
''' 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ż: