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

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
m
 
(Nie pokazano 6 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:'''
 
'''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'''
  '''$source /usr/local/Modules/3.2.7/init/bash'''
+
  '''$ module load gcc/5.2.0'''  
  '''$ module load gcc/4.6.0'''  
+
  ''' binutils/2.25 load complete.'''
  ''' gcc/4.6.0 load complete.'''
+
  ''' gcc/5.2.0 load complete.'''
  '''$gcc hello_world.c -o hello_world'''
+
  '''$ 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]].

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