Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Ãœberarbeitung
Nächste Überarbeitung
Vorhergehende Ãœberarbeitung
hlr:phoenix:nutzeranleitung_fortgeschrittene [2019/03/18 02:59]
joreichn Python-Module auf dem Cluster
hlr:phoenix:nutzeranleitung_fortgeschrittene [2019/08/05 12:34] (aktuell)
jancschm
Zeile 25: Zeile 25:
  
 <​code>​ <​code>​
-module load comp/​gcc/​6.3.0 +module load intel-studio-2019 
-#ja, der Intel Compiler braucht manchmal Informationen vom gcc unter Linux +source /​cluster/​share/​intelenv.sh
- +
-module load intel-studio-2017 +
- +
-export CC=icc +
-export CXX=icpc +
-export CFLAGS='​-O3 -xHost -ip' +
-export CXXFLAGS='​-O3 -xHost -ip'+
 </​code>​ </​code>​
  
Zeile 43: Zeile 36:
  
 <note important>​Wichtiger Hinweis</​note>: ​ Beim Fortan Compiler von Intel (ifort) darf unter Standard-Einstellungen Probleme eine Zeile maximal 132 Zeichen umfassen!. <note important>​Wichtiger Hinweis</​note>: ​ Beim Fortan Compiler von Intel (ifort) darf unter Standard-Einstellungen Probleme eine Zeile maximal 132 Zeichen umfassen!.
 +
 +
 +===== GLIBC =====
 +
 +Um neuere Versionen von glibc zu verwenden ist es leider nicht möglich einfach das Modul zu laden, statt dessen werden dem Compiler Flags übergeben, mit denen die Pfade für das Finden der Bibliotheken sowie des Loaders der dynamischen Bibliotheken gesetzt werden. Hier ein kurzes Beispiel:
 +
 +<​code>​
 +g++ -o My_Program -Wl,​--rpath=/​cluster/​lib/​glibc/​2.29/​lib -Wl,​--dynamic-linker=/​cluster/​lib/​glibc/​2.29/​lib/​ld-linux-x86-64.so.2 main.cpp
 +</​code>​
  
  
Zeile 78: Zeile 80:
 Auf dem Cluster sind eine Reihe von Python Module bereits vorinstalliert. Diese können eingesehen werden, wenn man mit //python2// oder //python3// deren "​Interpreter"​ betritt und dort die folgende Anweisung //​help("​modules"​)//​ ausführt. Auf dem Cluster sind eine Reihe von Python Module bereits vorinstalliert. Diese können eingesehen werden, wenn man mit //python2// oder //python3// deren "​Interpreter"​ betritt und dort die folgende Anweisung //​help("​modules"​)//​ ausführt.
  
-Sollte man ein Modul benötigen, dass dort nicht aufgeführt ist, gibt es 2 Möglichkeiten. Sollten sie Nachweisen können, dass eine große Nutzergruppe ​bedarf ​an diesem bestimmten Modul hat, so wenden sie sich an das Service-Team. Da es allerdings zu aufwendig wäre und den Betrieb stören würde das gesamte Cluster mit Python-Packeten zu befüttern, müssen sie ansonsten auf virtuelle Umgebungen zurückgreifen.+Sollte man ein Modul benötigen, dass dort nicht aufgeführt ist, gibt es 2 Möglichkeiten. Sollten sie Nachweisen können, dass eine große Nutzergruppe ​Bedarf ​an diesem bestimmten Modul hat, so wenden sie sich an das Service-Team. Da es allerdings zu aufwendig wäre und den Betrieb stören würde das gesamte Cluster ​ständig ​mit neuen Python-Packeten zu befüttern, müssen sie ansonsten auf virtuelle Umgebungen zurückgreifen.
  
 Für Python2 gestaltet sich dies relativ einfach: Für Python2 gestaltet sich dies relativ einfach:
 <​code>​ <​code>​
-virtualenv venv //Erstellt im aktuellen Arbeitsverzeichnis einen Ordner mit dem namen venv, in dem sich die Virtuelle ​Pythonumgebung befindet. +virtualenv venv //Erstellt im aktuellen Arbeitsverzeichnis einen Ordner mit dem Namen "venv", in dem sich eine leere virtuelle ​Pythonumgebung befindet. 
-source venv/​bin/​activate //Damit wird die Python-Umgebung geladen, ​die kann auch in einem Job-File gemacht werden.+source venv/​bin/​activate //Damit wird die Python-Umgebung geladen, ​dies kann auch in einem Job-File gemacht werden.
 deactivate //Damit verlässt man die aktuelle Pyton-Umgebung. deactivate //Damit verlässt man die aktuelle Pyton-Umgebung.
 </​code>​ </​code>​
Zeile 92: Zeile 94:
 </​code>​ </​code>​
  
-In der virtuellen Umgebung kann man sich nun nach herzenslust mittels pip jedes Modul beschaffen. Sollte man keine Verwendung mehr für eine Umgebung haben, lässt sie sich einfach durch Löschen des Ordners entfernen.+In der virtuellen Umgebung kann man sich nun nach herzenslust mittels pip jedes Modul beschaffen. Sollte man keine Verwendung mehr für eine Umgebung haben, lässt sie sich einfach durch das Löschen des Ordners entfernen.
  
 Für Python3 muss man aktuell einen kleinen Umweg gehen, bevor man virtuelle Umgebungen anlegen kann: Für Python3 muss man aktuell einen kleinen Umweg gehen, bevor man virtuelle Umgebungen anlegen kann:
 <​code>​ <​code>​
-python3 -m pip install --user virtualenv //Hiermit wird virtualenv für sie als Nutzer installiert ohne Konflikte zu Python2.+module load python/3.7  
 +python3 -m pip install --user virtualenv //Hiermit wird virtualenv für sie als Nutzer installiert ohne Konflikte zu Python2. Dies muss nur einmal gemacht werden.
 python3 -m virtualenv venv //Damit stellen sie sicher, dass Python3 in der virtuellen Umgebung eingerichtet wird. python3 -m virtualenv venv //Damit stellen sie sicher, dass Python3 in der virtuellen Umgebung eingerichtet wird.
 </​code>​ </​code>​
hlr/phoenix/nutzeranleitung_fortgeschrittene.1552874352.txt.gz · Zuletzt geändert: 2019/03/18 02:59 von joreichn
Gauß-IT-Zentrum