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
Letzte Ãœberarbeitung Beide Seiten der Revision
hlr:phoenix:nutzeranleitung_fortgeschrittene [2017/11/21 16:07]
raskrato [Gaussview]
hlr:phoenix:nutzeranleitung_fortgeschrittene [2019/06/28 10:45]
raskrato [Python Module]
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 49: Zeile 42:
 Gaussview es zu nutzen muss wie folgt vorgegangen werden. Via ssh -X für eine grafische Oberfläche auf Phoenix einloggen. Dann einen Visualisierungsknoten allokieren. Dann den Namen des allokierten Knotens in Erfahrung bringen und sich auf diesem Knoten einloggen. Dort dann gaussview mit gv starten. Gaussview es zu nutzen muss wie folgt vorgegangen werden. Via ssh -X für eine grafische Oberfläche auf Phoenix einloggen. Dann einen Visualisierungsknoten allokieren. Dann den Namen des allokierten Knotens in Erfahrung bringen und sich auf diesem Knoten einloggen. Dort dann gaussview mit gv starten.
  
-<nowiki>+<code>
 ssh -X user@phoenix.hlr.rz.tu-bs.de ssh -X user@phoenix.hlr.rz.tu-bs.de
 sbatch gaussview.job sbatch gaussview.job
Zeile 57: Zeile 50:
 ssh -X vis01 ssh -X vis01
 gv gv
-</nowiki>+</code>
  
 Die Jobfile zum Allokieren eines Visualisierungsknoten. Die Jobfile zum Allokieren eines Visualisierungsknoten.
  
 gaussview.job gaussview.job
-<nowiki>+<code>
 #!/bin/bash -l #!/bin/bash -l
  
Zeile 73: Zeile 66:
 module load software/​molecules/​gaussian module load software/​molecules/​gaussian
 sleep 1h sleep 1h
-</nowiki>+</code> 
 + 
 +===== Python Module ===== 
 +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 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: 
 +<​code>​ 
 +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, dies kann auch in einem Job-File gemacht werden. 
 +deactivate //Damit verlässt man die aktuelle Pyton-Umgebung. 
 +</​code>​ 
 + 
 +Solange man sich in der Python Umgebung befindet, wird dies durch ein Voranstellen ihres Names in der Kommandozeile verdeutlicht. Das sieht dann z.B. so aus: 
 +<​code>​ 
 +(venv)[testuser@login01 ~] 
 +</​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 das Löschen des Ordners entfernen. 
 + 
 +Für Python3 muss man aktuell einen kleinen Umweg gehen, bevor man virtuelle Umgebungen anlegen kann: 
 +<​code>​ 
 +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. 
 +</​code>​ 
 +Wir hoffen mit dem nächsten Update von Python, diesen Schritt obsolet zu machen. 
 + 
 +Sie können natürlich fragen, wieso sie nicht immer //pip install --user// verwenden, um sich virtuelle Umgebungen zu sparen. Und in der Regel haben sie Recht, aber es gibt immer wieder Konflikte zwischen verschiedenen Modulen und so garantieren sie, dass sie für jedes Projekt eine konfliktfreie Umgebung schaffen können.  
 + 
 +Zum Schluss noch eine Anmerkung zu Python-Bibliotheken,​ die mit C-Code daherkommen:​ Der Intel-Kompiler wird von pip nicht akkzeptiert. Stattdessen laden sie daher bitte den gcc-Compiler über das entsprechende Modulefile "​comp/​gcc/​8.3.0"​ oder welche Version sie auch immer verwenden möchten. 
hlr/phoenix/nutzeranleitung_fortgeschrittene.txt · Zuletzt geändert: 2019/08/05 12:34 von jancschm
Gauß-IT-Zentrum