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 [2020/06/04 10:45]
raskrato [Ansys Job starten]
hlr:phoenix:nutzeranleitung [2023/09/05 18:08] (aktuell)
matfranz [Starting Ansys jobs]
Zeile 24: Zeile 24:
 Der Fingerprint zum Login Server lautet: Der Fingerprint zum Login Server lautet:
  
-<​code>​phoenix.hlr.rz.tu-bs.de ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFDm9AGYEiUIZ6wBwXHoO6YmrMD/​QKieMZGVJ0NLR0WhhfyNsjDmTOYM8idAjld57dsbdJZwNxDxaMxeNHG0rpy8bjex1OwqPMXVH7yab0aa87KPZNbCld6zQV/​uUju6/​xnbUOoybfEq5HfC2Trdxa+FVnk5wBJ0JUttDmn7ex4/​qs71eNysOVH2jA77GEW1VeSHbimBFRYJiUAcVnjEmLJkj9gnCgES+VxSZnjhDVUFpLlt4PMXSX+3RNq1jrmXiafr+OR09QPIvpSEKafVqv4L1pA67JfOg2UDoEnBN1K3PG2L5fnuf2VQoUNqlv1MqR37uJuw2eVFlgYuAh1WD9</​code>​+<​code>​phoenix.hlr.rz.tu-bs.de ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFDm9AGYEiUIZ6wBwXHoO6YmrMD/​QKieMZGVJ0NLR0WhhfyNsjDmTOYM8idAjld57dsbdJZwNxDxaMxeNHG0rpy8bjex1OwqPMXVH7yab0aa87KPZNbCld6zQV/​uUju6/​xnbUOoybfEq5HfC2Trdxa+FVnk5wBJ0JUttDmn7ex4/​qs71eNysOVH2jA77GEW1VeSHbimBFRYJiUAcVnjEmLJkj9gnCgES+VxSZnjhDVUFpLlt4PMXSX+3RNq1jrmXiafr+OR09QPIvpSEKafVqv4L1pA67JfOg2UDoEnBN1K3PG2L5fnuf2VQoUNqlv1MqR37uJuw2eVFlgYuAh1WD9 
 +phoenix.hlr.rz.tu-bs.de ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGU/​HQ+TtcxSaeej/​4o2xM+u7nlyIgbVluOmGXUqMXKQkgGCVs33lmQyMzcw+vsgq9paxBzeG6jxvtofWRbyO78= 
 +phoenix.hlr.rz.tu-bs.de ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII8Vj77eCWfqTLHNyuW/​vvvfALIhd8oTDQXXKAFD+mns 
 +</​code>​
 =====Jobs starten===== =====Jobs starten=====
  
Zeile 53: Zeile 56:
 </​code>​ </​code>​
  
-''​partition''​ gibt die Partition (auch Queue genannt) an, auf der Sie rechnen wollen. +''​partition''​ gibt die Partition (auch Queue genannt) an, auf der Sie rechnen wollen. ​\\ 
-''​time''​ gibt die maximale Laufzeit Ihres Jobs an, bevor dieser dann abgebrochen wird.+''​time''​ gibt die maximale Laufzeit Ihres Jobs an, bevor dieser dann abgebrochen wird. \\
 ''​job-name''​ gibt einen Namen an, unter dem Sie Ihren Job später in SLURM wieder finden können. ''​job-name''​ gibt einen Namen an, unter dem Sie Ihren Job später in SLURM wieder finden können.
- 
-Ein Jobfile muss dann mittels ''​sbatch''​ gestartet werden. ​ 
- 
-  username@login01 [~] sbatch jobname.job 
  
 Eine Startzeit kann mit dem Schalter ''​–begin''​ vorgegeben werden. Beispielsweise:​ Eine Startzeit kann mit dem Schalter ''​–begin''​ vorgegeben werden. Beispielsweise:​
Zeile 69: Zeile 68:
 --begin=2010-01-20T12:​34:​00 --begin=2010-01-20T12:​34:​00
 </​code>​ </​code>​
 +
 +Bei dem Phoenix-Cluster gibt es verschiedene Arten von Knoten, die genutzt werden können.
 +Die in den Knoten verbaute Hardware kann eingesehen werden, wenn man auf den jeweilige Knotenart in der Tabelle klickt.\\
 +Diese sind zudem in folgende, verschiedene Partitionen aufgeteilt:
 +
 +^ Partition ​     ^ Genutze Knoten ​                                                                                                                              ^ RAM       ^ GPU                   ^ Maximale Knotenanzahl/​Job ​        ^ Walltime ​ ^ Shared ​   ^
 +| standard ​      | [[ https://​www.tu-braunschweig.de/​it/​hpc#:​~:​text=304x-,​Rechenknoten,​-%3A%20(node%5B001%2D304 | node[001-304] ]]      | 64 GB     | -                     | 20                                | 7 d       | Ja        |
 +| shortrun_small | [[ https://​www.tu-braunschweig.de/​it/​hpc#:​~:​text=304x-,​Rechenknoten,​-%3A%20(node%5B001%2D304 | node[001-304] ]]      | 64 GB     | -                     | 50                                | 3 d       | Ja        |
 +| shortrun_large | [[ https://​www.tu-braunschweig.de/​it/​hpc#:​~:​text=304x-,​Rechenknoten,​-%3A%20(node%5B001%2D304 | node[001-304] ]]      | 64 GB     | -                     | 150                               | 3 d       | Ja        |
 +| longrun ​       | [[ https://​www.tu-braunschweig.de/​it/​hpc#:​~:​text=304x-,​Rechenknoten,​-%3A%20(node%5B001%2D304 | node[001-304] ]]      | 64 GB     | -                     | 4                                 | 14 d      | Ja        |
 +| testing ​       | [[ https://​www.tu-braunschweig.de/​it/​hpc#:​~:​text=304x-,​Rechenknoten,​-%3A%20(node%5B001%2D304 | node[001-304] ]]      | 64 GB     | -                     | 150                               | 1 h       | Ja        |
 +| fat            | [[ https://​www.tu-braunschweig.de/​it/​hpc#:​~:​text=8x-,​fat,​-nodes(fat%5B001 | fat[001-008] ]]                          | 256 GB    | -                     | 8                                 | 7 d       | Nein      |
 +| vis            | [[ https://​www.tu-braunschweig.de/​it/​hpc#:​~:​text=6x-,​Visualisierungs,​-%2DKnoten%20(vis%5B01 | vis[01-06] ]]          | 512 GB    | -                     | 6                                 | 2 d       | Nein      |
 +| gpu01_queue ​   | [[ https://​www.tu-braunschweig.de/​it/​hpc#:​~:​text=8x-,​gpu,​-nodes%20(gpu%5B01 | gpu[01-02] ]]                          | 64 GB     | 4x NVIDIA Tesla 16GB  | 2                                 | 3 d       | Nein      |
 +| gpu02_queue ​   | [[ https://​www.tu-braunschweig.de/​it/​hpc#:​~:​text=8x-,​gpu,​-nodes%20(gpu%5B01 | gpu[03-08] ]]                          | 64 GB     | 4x NVIDIA Tesla 16GB  | 6                                 | 7 d       | Nein      |
 +| gpu03_queue ​   | [[ https://​www.tu-braunschweig.de/​it/​hpc#:​~:​text=8x-,​gpu,​-nodes%20(gpu%5B01 | gpu[01-08] ]]                          | 64 GB     | 4x NVIDIA Tesla 16GB  | 8                                 | 7 d       | Nein      |
 +
 +
 +Ein Beispiel für ein Jobfile für einen der GPU-Knoten sieht wie folgt aus:
 +
 +<​code>​
 +#!/bin/bash -l
 +
 +#SBATCH --partition=gpu02_queue
 +#SBATCH --nodes=2
 +#SBATCH --time=2-00:​00:​00
 +#SBATCH --job-name=GPUExample
 +#SBATCH --ntasks-per-node=4
 +#SBATCH --gres=gpu:​4 ​
 +
 +~/​anaconda3/​bin/​python "/​path/​to/​file/​example.py"​
 +</​code>​
 +
 +Ein Jobfile muss dann mittels ''​sbatch''​ gestartet werden. ​
 +
 +  username@login01 [~] sbatch jobname.job
  
 Weitere Informationen bietet auch ''​man sbatch''​. Sämtliche dort verwendeten Parameter können auch im Jobscript selber mit ''#​SBATCH''​ angeben werden. ​ Weitere Informationen bietet auch ''​man sbatch''​. Sämtliche dort verwendeten Parameter können auch im Jobscript selber mit ''#​SBATCH''​ angeben werden. ​
Zeile 115: Zeile 150:
  
 ====Grafische Anwendungen via VNC nutzen==== ====Grafische Anwendungen via VNC nutzen====
 +Mit Hilfe eines VNC (Virtual Network Computing) kann der Bildschirminhalt des Phoenix auf dem eigenen lokalen Rechner in einem Fenster angezeigt werden. ​
 +Das Bildschirmfenster kann dann wie ein lokales Fenster bedient werden und Tastatur- und Mausbewegungen des eigenen lokalen Rechners werden an den Phoenix gesendet.
 +
 +Dazu muss man sich wie üblich beim Phoenix anmelden und einen interaktiven Job in der vis Partition (Queue) starten, ein entsprechendes Job-File könnte so aussehen.
 <​code>​ <​code>​
-Einen interaktiven Job in der vis Partition (Queue) starten.  +#!/bin/bash -l
-Auf dem zugewiesenen vis Knoten einloggen (ssh vis0X wobei X der zugewiesene Knoten ist). +
-Falls noch nie vorher vnc genutzt wurde, diesen Befehl eingeben und ein neues vnc Passwort eingeben: +
-/cluster/share/​vnc/​setup-vnc.sh  +
-Dann den Server mit dem folgenden Befehl starten: vncserver  +
-Wir empfehlen vinagre als VNC Client. Dort als tunnel username@phoenix.hlr.rz.tu-bs.de angeben. Als Ziel den zugewiesenen vis Knoten mit der Displaynummer (z.B. vis03:​01). +
-</​code>​+
  
-{{:undefined:vnc_phoenix_client.png?​400|}}+#SBATCH --partition=vis 
 +#SBATCH --nodes=1 
 +#SBATCH --time=1:00:00 
 +#SBATCH --job-name=nearest 
 +#SBATCH --ntasks-per-node=20
  
-<​code>​ +sleep 1h
-Es wird nach dem neuen vnc Passwort gefragt, das in setpup-vnc.sh Schritt erstellt wurde. +
-Am Ende den vnc Server mit vncserver -kill :1 beenden. Falls dies nicht passiert, sollte es beim nächsten einloggen getan werden. Sonst verschiebt sich die Display Nummer (:1 wird beispielsweise zu :2).+
 </​code>​ </​code>​
 +Das Job-File blockt einen vis-Knoten für 1 Stunde, in dieser Zeit kann man dann per via VNC auf dem Phoenix arbeiten.\\
 +Als nächsten Schritt muss man sich auf dem zugewiesenen vis-Knoten einloggen: ​
 +  ssh vis0X wobei X der zugewiesene vis-Knoten ist, diesen kann man mit "​squeue -u $USER" herausfinden
 +Falls noch nie vorher VNC genutzt wurde, muss man ein VNC Passwort festlegen, dies geht mit Hilfe des Befehls:
 +  /​cluster/​share/​vnc/​setup-vnc.sh ​
 +Bei vergessenem Passwort kann mit dem selben Befehl auch ganz einfach ein neues Passwort festgelegt werden.\\
 +Daraufhin muss ein VNC-Server mit dem folgenden Befehl gestartet werden:
 +  vncserver ​
 +Oder für eine bessere Auflösung kann folgender Befehl genutzt werden:
 +  vncserver -geometry 1280x1024
 +
 +In einem weiteren Terminal muss nun auf dem eigenen lokalen Rechner ein VNC-Client geöffnet werden. ​
 +Wir empfehlen **remmina**,​ bei Windows muss zusätzlich **Xming** installiert und gestartet werden. Den VNC-Client remmina startet man über den Befehl:
 +  remmina
 +Eventuell muss vorher, falls remmina nicht startet, der folgende Befehl ausgeführt werden:
 +  export DISPLAY=:0
 +
 +Bei remmina muss mit Hilfe des Knopfes in der oberen linken Ecke ein neues Verbindungsprofil erstellt werden mit folgenden Angaben:\\
 +- **Protocol**:​ Remmina VNC Plugin\\
 +- unter dem Reiter **Basic**:
 +  * //Server//: vis0X:Y, wobei X der zugewiesene vis-Knoten ist und Y die Displaynummer des VNC-Servers,​ diese ist Teil der Ausgabe nach dem Befehl "​vncserver"​
 +  * //Color depth//: High color (16 bpp)
 +  * //​Quality//:​ Medium
 +- unter den Reitern **Advanced** und **Autostart**:​
 +  * keine Änderungen
 +- unter dem Reiter **SSH Tunnel**:
 +  * //Enable SSH Tunnel// auswählen
 +  * //Custom// auswählen und eingeben: phoenix.hlr.rz.tu-bs.de
 +  * //​Username//:​ eigenen Username eingeben
 +  * Anmeldung per //​Passwort//​ auswählen
 +Daraufhin das Verbindungsprofil mit dem **Save**-Knopf speichern und mit dem **Connect**-Knopf verbinden. Es wird dann nach dem eigenen Passwort für den Phoenix gefragt und nach Eingabe dieses nach dem VNC-Passwort,​ das in setpup-vnc.sh Schritt festgelegt wurde.
 +
 +In dem Fenster kann dann ein Terminal geöffnet werden. Zur Nutzung einer Software im visuellen und interaktiven Modus muss das entsprechende Modul geladen werden. Wenn die Grafikkarte,​ also zur Visualisierung,​ muss vor dem entsprechenden Terminalbefehl zur Öffnung der Software noch **vglrun** hinzugefügt werden. Um ParaView im interaktiven Modus zu nutzen, muss also nach dem Laden des Moduls folgender Terminalbefehl ausgeführt werden:
 +  vglrun paraview
 +  ​
 +Nachdem man fertig mit der Nutzung ist, muss der VNC-Server auf dem Phoenix beendet werden, dies geht mit dem Befehl:
 +  vncserver -kill :Y wobei Y für die Displaynummer steht
 +Wird der VNC-Server nicht geschlossen,​ sollte es beim nächsten einloggen getan werden, ansonsten verschiebt sich die Displaynummer (:1 wird beispielsweise zu :2).
 +
  
  
Zeile 203: Zeile 277:
 #!/bin/bash -l #!/bin/bash -l
  
-#SBATCH --partition=fat+#SBATCH --partition=standard
 #SBATCH --nodes=1 #SBATCH --nodes=1
 #SBATCH --job-name=dingALE #SBATCH --job-name=dingALE
Zeile 251: Zeile 325:
  
 </​code>​ </​code>​
 +Falls mehr RAM benötigt wird, kann alternativ auch die //​fat//​-Partition genutzt werden.
  
 ==== Ansys Job starten ==== ==== Ansys Job starten ====
Zeile 257: Zeile 331:
 Auf das vorhandene Script (Beispiel.sh) mit dem SBATCH und den auszuführenden Befehlen das Script /​cluster/​share/​make_ansys_job_check_for_license.sh anwenden und dazu Lizenzenanzahl mit Lizenzart angeben. Das Skript hängt an den auszuführenden Skript die Lizenzcheck und zusätzlich benötigte Variablen mit an. Ausgegeben wird das Skript in der Standardausgabe,​ kann also mit Hilfe der Ein-/​Ausgabe Umleitung von Linux in eine Datei mit dem Operator ">"​ geschrieben werden. Auf das vorhandene Script (Beispiel.sh) mit dem SBATCH und den auszuführenden Befehlen das Script /​cluster/​share/​make_ansys_job_check_for_license.sh anwenden und dazu Lizenzenanzahl mit Lizenzart angeben. Das Skript hängt an den auszuführenden Skript die Lizenzcheck und zusätzlich benötigte Variablen mit an. Ausgegeben wird das Skript in der Standardausgabe,​ kann also mit Hilfe der Ein-/​Ausgabe Umleitung von Linux in eine Datei mit dem Operator ">"​ geschrieben werden.
  
-Beispiel für eine normale Ansys Datei, die nocht keinen Lizenzcheck besitzt:+Beispiel für eine normale Ansys CFX Datei, die noch keinen Lizenzcheck besitzt:
  
 <​code>#​!/​bin/​bash -l <​code>#​!/​bin/​bash -l
  
 #SBATCH --partition=standard #SBATCH --partition=standard
-#SBATCH --nodes=1+#SBATCH --nodes=2
 #SBATCH --time=3:​00:​00 #SBATCH --time=3:​00:​00
 #SBATCH --job-name=TCTM #SBATCH --job-name=TCTM
Zeile 273: Zeile 347:
 #### HIER VARIABEL #### #### HIER VARIABEL ####
 #######################​ #######################​
-NUMPROCS=60+NUMPROCS=20
 module load software/​ansys/​18.0 module load software/​ansys/​18.0
  
 cfx5solve -batch -chdir $working_dir -double -verbose -def $working_dir/​Heater_pt_Loss.def -start-method 'IBM MPI Distributed Parallel'​ -par -part $NUMPROCS -par-host-list $ALLMACHINES -part-coupled -part-large -part-mode orcb -priority 0 -size 1.4 -size-part 1.4 cfx5solve -batch -chdir $working_dir -double -verbose -def $working_dir/​Heater_pt_Loss.def -start-method 'IBM MPI Distributed Parallel'​ -par -part $NUMPROCS -par-host-list $ALLMACHINES -part-coupled -part-large -part-mode orcb -priority 0 -size 1.4 -size-part 1.4
 +</​code>​
 +
 +Beispiel für eine normale Ansys Fluent Datei, die noch keinen Lizenzcheck besitzt:
 +
 +<​code>#​!/​bin/​bash
 +
 +#SBATCH --partition=standard
 +#SBATCH --nodes=3
 +#SBATCH --time=3:​00:​00
 +#SBATCH --job-name=ansys_flu
 +#SBATCH --ntasks-per-node=20
 +#SBATCH --exclusive
 +
 +# load module fluent v19.2
 +module load software/​ansys/​19.2
 +
 +# The Journal file
 +JOURNALFILE=journalFile.jou
 +
 +# Total number of Processors. Nodes * 20
 +NPROCS=60
 +
 +# MPI key, dont change!
 +export MPI_IB_PKEY=0x8001
 +
 +fluent 3ddp -g -t $NPROCS -slurm -i $JOURNALFILE > fluent.out
 </​code>​ </​code>​
  
Zeile 282: Zeile 382:
  
 Beispiel: Beispiel:
-<​code>/​cluster/​share/​make_ansys_job_check_for_license.sh Beispiel.sh ​50 aa_r_hpc ​> BeispielMitLizenzCheck.sh</​code>​+<​code>/​cluster/​share/​make_ansys_job_check_for_license.sh Beispiel.sh ​60 ansys > BeispielMitLizenzCheck.sh</​code>​
  
-Wenn man nicht weiß welcher Lizenztyp genutzt werden soll, wird empfohlen den Typ aa_r_hpc ​zu nutzen.+Wenn man nicht weiß welcher Lizenztyp genutzt werden soll, wird empfohlen den Typ ansys zu nutzen.
  
 Der Lizenzcheck funktioniert so, dass vorher die angegebene Anzahl an Lizenzen geprüft werden und je nachdem das Programm weiterlaufen kann, oder nach einer Stunde der Check nochmal durchgeführt wird, wenn nicht genug Lizenzen vorhanden sein sollten. Der Lizenzcheck funktioniert so, dass vorher die angegebene Anzahl an Lizenzen geprüft werden und je nachdem das Programm weiterlaufen kann, oder nach einer Stunde der Check nochmal durchgeführt wird, wenn nicht genug Lizenzen vorhanden sein sollten.
Zeile 474: Zeile 574:
 \\ \\
 The Fingerprint to the login server is: The Fingerprint to the login server is:
-<​code>​phoenix.hlr.rz.tu-bs.de ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFDm9AGYEiUIZ6wBwXHoO6YmrMD/​QKieMZGVJ0NLR0WhhfyNsjDmTOYM8idAjld57dsbdJZwNxDxaMxeNHG0rpy8bjex1OwqPMXVH7yab0aa87KPZNbCld6zQV/​uUju6/​xnbUOoybfEq5HfC2Trdxa+FVnk5wBJ0JUttDmn7ex4/​qs71eNysOVH2jA77GEW1VeSHbimBFRYJiUAcVnjEmLJkj9gnCgES+VxSZnjhDVUFpLlt4PMXSX+3RNq1jrmXiafr+OR09QPIvpSEKafVqv4L1pA67JfOg2UDoEnBN1K3PG2L5fnuf2VQoUNqlv1MqR37uJuw2eVFlgYuAh1WD9</​code>​+<​code>​phoenix.hlr.rz.tu-bs.de ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFDm9AGYEiUIZ6wBwXHoO6YmrMD/​QKieMZGVJ0NLR0WhhfyNsjDmTOYM8idAjld57dsbdJZwNxDxaMxeNHG0rpy8bjex1OwqPMXVH7yab0aa87KPZNbCld6zQV/​uUju6/​xnbUOoybfEq5HfC2Trdxa+FVnk5wBJ0JUttDmn7ex4/​qs71eNysOVH2jA77GEW1VeSHbimBFRYJiUAcVnjEmLJkj9gnCgES+VxSZnjhDVUFpLlt4PMXSX+3RNq1jrmXiafr+OR09QPIvpSEKafVqv4L1pA67JfOg2UDoEnBN1K3PG2L5fnuf2VQoUNqlv1MqR37uJuw2eVFlgYuAh1WD9 
 +phoenix.hlr.rz.tu-bs.de ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGU/​HQ+TtcxSaeej/​4o2xM+u7nlyIgbVluOmGXUqMXKQkgGCVs33lmQyMzcw+vsgq9paxBzeG6jxvtofWRbyO78= 
 +phoenix.hlr.rz.tu-bs.de ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII8Vj77eCWfqTLHNyuW/​vvvfALIhd8oTDQXXKAFD+mns</​code>​
 =====Starting jobs===== =====Starting jobs=====
  
Zeile 516: Zeile 618:
 --begin=now+60 (seconds by default) ​ --begin=now+60 (seconds by default) ​
 --begin=2010-01-20T12:​34:​00 --begin=2010-01-20T12:​34:​00
 +</​code>​
 +
 +There are in total eight GPU-nodes. For these there are three GPU queues with different workloads:
 +
 +- gpu01_queue:​
 +  * 2 GPU-nodes used for this queue
 +  * high priority
 +  * just for jobs, that allocate all four GPUs of a node
 +  * a maximum of one job per user
 +  * walltime: 3 days
 +- gpu02_queue:​
 +  * 6 GPU-nodes used
 +  * high priority
 +  * also for jobs, that just allocate a single GPU of a node
 +  * a maximum of two job per user
 +  * walltime: 7 days
 +- gpu03_queue:​
 +  * 8 GPU-nodes used
 +  * low priority
 +  * also for jobs, that just allocate a single GPU of a node
 +  * number of jubs per user is unlimited
 +  * walltime: 7 days
 +  * jobs can be paused, therefore use checkpoints in your code
 +
 +In the following you can find an example for a jobfile for one of the GPU-node:
 +
 +<​code>​
 +#!/bin/bash -l
 +
 +#SBATCH --partition=gpu02_queue
 +#SBATCH --nodes=2
 +#SBATCH --time=2-00:​00:​00
 +#SBATCH --job-name=GPUExample
 +#SBATCH --ntasks-per-node=4
 +#SBATCH --gres=gpu:​4 ​
 +
 +~/​anaconda3/​bin/​python "/​path/​to/​file/​example.py"​
 </​code>​ </​code>​
  
Zeile 563: Zeile 702:
  
 ====Use graphical applications via VNC==== ====Use graphical applications via VNC====
 +With the help of a VNC (Virtual Network Computing), the screen content of the Phoenix can be displayed in a window on your own local computer.
 +The window can then be operated like a local window.
 +Keyboard and mouse movements of the local computer are sent to the Phoenix.
 +
 +Therefore, you have to log on to the Phoenix as usual and start an interactive job in the vis partition (queue).
 +A corresponding job file could look like this:
 <​code>​ <​code>​
-Start an interactive job in the vis partition (queue). +#!/bin/bash -l
-Log in on the assigned vis node (ssh vis0X, where X is the assigned node). +
-If you have never used vnc before, enter this command and enter a new vnc password: +
-/cluster/share/​vnc/​setup-vnc.sh  +
-Start the vnc server with the command: vncserver +
-Then start the server with the following command: vncserver  +
-We recommend vinagre as a VNC client. Specify username@phoenix.hlr.rz.tu-bs.de as tunnel. Specify the assigned vis node with the display number as target (e.g., vis03:​01). +
-</​code>​+
  
-{{:undefined:vnc_phoenix_client.png?​400|}}+#SBATCH --partition=vis 
 +#SBATCH --nodes=1 
 +#SBATCH --time=12:00:00 
 +#SBATCH --job-name=nearest 
 +#SBATCH --ntasks-per-node=20
  
-<​code>​ +sleep 1h
-Then you are asked for the new vnc password that was created in setpup-vnc.sh step. +
-In the end, shut down the vnc server with vncserver -kill: 1. If you forget shutting it down, it should be done the next time you log in. Otherwise the display number shifts (e.g., :1 becomes :2).+
 </​code>​ </​code>​
  
 +The job file blocks a vis node for 1 hour, during this time you can then work on the Phoenix via VNC.\\
 +
 +The next step is to log in to the assigned vis node:
 +  ssh vis0X whereby X is the assigned vis node, you can find this out with "​squeue -u $USER"​.
 +If you have never used VNC before, you must set a VNC password, this can be done with the command:
 +  /​cluster/​share/​vnc/​setup-vnc.sh
 +If you forget your password, you can easily set a new password with the same command.\\
 +A VNC server must then be started with the following command:
 +  vncserver
 +Or for a better resolution the following command can be used:
 +  vncserver -geometry 1280x1024
 +In another terminal on your own local computer a VNC client must now be opened.
 +We recommend **remmina**,​ for Windows **Xming** must also be installed and started for X11-forwarding. The VNC client remmina is started with the command:
 +  remmina
 +If remmina does not start, the following command may have to be executed beforehand:
 +  export DISPLAY=:0
 +With remmina, a new connection profile must be created with the help of the button in the upper left corner with the following information:​\\
 +- **Protocol**:​ Remmina VNC Plugin\\
 +- in the **Basic** tab:
 +  * //Server//: vis0X:Y, whereby X is the assigned vis node and Y is the display number of the VNC server, this is part of the output after the "​vncserver"​ command
 +  * //Color depth//: High color (16 bpp)
 +  * //​Quality//:​ Medium
 +- in the **Advanced** and **Autostart** tabs:
 +  * no changes
 +- in the **SSH Tunnel** tab:
 +  * Select //Enable SSH Tunnels//
 +  * Select //Custom// and enter: phoenix.hlr.rz.tu-bs.de
 +  * //​Username//:​ Enter your own username
 +  * Select authentication via //​Password//​
 +Then save the connection profile with the **Save** button and connect with the **Connect** button. You will then be asked for your own password for the Phoenix and after entering this for the VNC password that was created in the setup-vnc.sh step.
 + 
 +In the window you can open a terminal. To use software in visual and interactive mode the corresponding module has to be loaded. If the graphic card should be used (this is the case for visualisation),​ then in front of the terminalcommand to open the software **vglrun** has to be added. E.g. to start ParaView in interactive mode, the following command has to executed after loading the corresponding module:
 +  vglrun paraview
 +
 +After you have finished using it, the VNC server on the Phoenix must be terminated, this can be done with the command
 +  vncserver -kill :Y where Y is the display number
 +If the VNC server is not closed, it should be done the next time you log in, otherwise the display number will be shifted (e.g. :1 becomes :2).
 =====Monitoring jobs===== =====Monitoring jobs=====
 Using ''​squeue''​ you get a list of all jobs currently running on the system. You can get more information with ''​squeue -l''​. Using ''​squeue''​ you get a list of all jobs currently running on the system. You can get more information with ''​squeue -l''​.
Zeile 641: Zeile 818:
 #!/bin/bash -l #!/bin/bash -l
  
-#SBATCH --partition=fat+#SBATCH --partition=standard
 #SBATCH --nodes=1 #SBATCH --nodes=1
 #SBATCH --job-name=dingALE #SBATCH --job-name=dingALE
Zeile 689: Zeile 866:
  
 </​code>​ </​code>​
 +
 +If more RAM is needed, the //​fat//​-Partition can also be used.
  
 ==== Starting Ansys jobs ==== ==== Starting Ansys jobs ====
  
-We recommend use our new script, which converts your jobfile automaticly. Just write a normal jobfile and call this script and use > to save the output to a new file. Here is an example for normal ​ansys file without any license checks:+We recommend use our new script, which converts your jobfile automaticly. Just write a normal jobfile and call this script and use > to save the output to a new file. Â 
 + 
 +Here is an example for normal ​Ansys CFX file without any license checks:
  
 <​code>#​!/​bin/​bash -l <​code>#​!/​bin/​bash -l
  
 #SBATCH --partition=standard #SBATCH --partition=standard
-#SBATCH --nodes=1+#SBATCH --nodes=2
 #SBATCH --time=3:​00:​00 #SBATCH --time=3:​00:​00
 #SBATCH --job-name=TCTM #SBATCH --job-name=TCTM
Zeile 708: Zeile 889:
 #### HIER VARIABEL #### #### HIER VARIABEL ####
 #######################​ #######################​
-NUMPROCS=60+NUMPROCS=40
 module load software/​ansys/​18.0 module load software/​ansys/​18.0
  
 cfx5solve -batch -chdir $working_dir -double -verbose -def $working_dir/​Heater_pt_Loss.def -start-method 'IBM MPI Distributed Parallel'​ -par -part $NUMPROCS -par-host-list $ALLMACHINES -part-coupled -part-large -part-mode orcb -priority 0 -size 1.4 -size-part 1.4</​code>​ cfx5solve -batch -chdir $working_dir -double -verbose -def $working_dir/​Heater_pt_Loss.def -start-method 'IBM MPI Distributed Parallel'​ -par -part $NUMPROCS -par-host-list $ALLMACHINES -part-coupled -part-large -part-mode orcb -priority 0 -size 1.4 -size-part 1.4</​code>​
 +
 +Here is an example for normal Ansys Fluent file without any license checks:
 +
 +<​code>#​!/​bin/​bash
 +
 +#SBATCH --partition=standard
 +#SBATCH --nodes=3
 +#SBATCH --time=3:​00:​00
 +#SBATCH --job-name=ansys_flu
 +#SBATCH --ntasks-per-node=20
 +#SBATCH --exclusive
 +
 +# load module fluent v19.2
 +module load software/​ansys/​19.2
 +
 +# The Journal file
 +JOURNALFILE=journalFile.jou
 +
 +# Total number of Processors. Nodes * 20
 +NPROCS=60
 +
 +# MPI key, dont change!
 +export MPI_IB_PKEY=0x8001
 +
 +fluent 3ddp -g -t $NPROCS -slurm -i $JOURNALFILE > fluent.out</​code>​
  
 Here is the code to add an license check: Here is the code to add an license check:
Zeile 767: Zeile 973:
 </​code>​ </​code>​
  
-nodes2ansys.py: +<code python ​nodes2ansys.py>​
-<code>+
 #​!/​usr/​bin/​python #​!/​usr/​bin/​python
  
Zeile 808: Zeile 1013:
 file.close file.close
 </​code>​ </​code>​
 +
 +
 +=====Anaconda=====
 +
 +[[https://​www.anaconda.com/​ | Anaconda]] is a distribution of the Python and R programming languages for scientific computing, that aims to simplify package management and deployment.
 +In this part we will explain, how you can download and install Anaconda on Phoenix and how you can use it to set up custom environments for different purposes.
 +
 +
 +====Installation====
 +
 +  * Go to the Anaconda download page using your web browser: [[https://​www.anaconda.com/​download#​downloads | Anaconda Download Page]].
 +  * Choose the appropriate distribution for Phoenix "Linux 64-Bit (x86) Installer"​ and copy the link address.
 +  * Log in to the Phoenix as usual.
 +  * Use the "​wget"​ command to download the Anaconda installer using the link you copied (replace <​paste_link_here>​ with the actual link you copied):
 +<​code>​
 +wget <​paste_link_here>​
 +</​code>​
 +  * After the download is complete, make the Anaconda installer script executable (replace <​version>​ with the version number you downloaded):​
 +<​code>​
 +chmod +x Anaconda3-<​version>​-Linux-x86_64.sh
 +</​code>​
 +  * Run the Anaconda installer script. Follow the prompts and accept the license agreement:
 +<​code>​
 +./​Anaconda3-<​version>​-Linux-x86_64.sh
 +</​code>​
 +  * During the installation process, you will be asked to confirm the installation location. Use the default location, this should be /​home/<​your_username>/​anaconda3. The installation process will take several minutes.
 +
 +
 +====Environment Management====
 +Conda is a powerful package manager and environment manager that you can use in a terminal window.
 +Conda allows you to create separate environments containing files, packages, and their dependencies that will not interact with other environments.
 +When you begin using conda, you already have a default environment named ''​base''​. ​
 +You don't want to put programs into your base environment,​ though. ​
 +Create separate environments to keep your programs isolated from each other.
 +To start the ''​base''​ environment,​ navigate to your ''/​home''​-folder,​ in there should be a folder named ''​anaconda3''​ and use the command:
 +  source anaconda3/​bin/​activate
 +If you installed Anaconda to the default location (your ''/​home''​-folder),​ you can also use the command:
 +  source ~/​anaconda3/​bin/​activate
 +In front of your prompt **(base)** should be displayed. \\
  
hlr/phoenix/nutzeranleitung.1591260343.txt.gz · Zuletzt geändert: 2020/06/04 10:45 von raskrato
Gauß-IT-Zentrum