FAQ: Unterschied zwischen den Versionen

Aus HPC@HU

Wechseln zu: Navigation, Suche
(Hinzufügen des Textes über die Zeilenterminierung)
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 13: Zeile 13:
Manchmal ist es allerdings notwendig bestimmte Argumente oder "Flags" zu setzen, zum Beispiel um zum Beispiel CUDA-Support zu aktivieren. In solch einem Fall würde das Ausführen einer Bibliothek ohne CUDA-Support mit CUDA zu einem Fehler führen. (CUDA wird hier nur beispielhaft genutzt.)
Manchmal ist es allerdings notwendig bestimmte Argumente oder "Flags" zu setzen, zum Beispiel um zum Beispiel CUDA-Support zu aktivieren. In solch einem Fall würde das Ausführen einer Bibliothek ohne CUDA-Support mit CUDA zu einem Fehler führen. (CUDA wird hier nur beispielhaft genutzt.)


Sollte ein Fehler auftreten, sollte dieser möglichst vollumfänglich kopiert werde. Ferner sind die Eingaben von Interesse: wie wurde eine Software/Bibliothek genutzt, welche ist es, welche Argumente wurden genutzt. Idealerweise sollte auch eine Testdatei zu Verfügung gestellt werden damit das Problem nachvolzogen und reproduziert werden kann. Hierbei sollte die Testdatei idealerweise schnell das Problem aufzeigen können, das beaknnte "minimum working example".
Sollte ein Fehler auftreten, sollte dieser möglichst vollumfänglich kopiert werde. Ferner sind die Eingaben von Interesse: wie wurde eine Software/Bibliothek genutzt, welche ist es, welche Argumente wurden genutzt. Idealerweise sollte auch eine Testdatei zu Verfügung gestellt werden damit das Problem nachvolzogen und reproduziert werden kann. Hierbei sollte die Testdatei idealerweise schnell das Problem aufzeigen können, das bekannte "minimum working example".


Dies kann dann über eine formlose Email an hpc-support@hu-berlin.de geschickt werden.
Dies kann dann über eine formlose Email an hpc-support@hu-berlin.de geschickt werden.


== OpenMP mit OpenMPI ==
== OpenMP mit OpenMPI ==
Grundsätzlich soll die Nutzung von OpenMP in Kombination mit OpenMPI Môglich sein. Dadurch lassen sich das geringere "Overheaded" von "Shared Memory Processing" (Threading) mit der Skallierung des MPI-Multi-Process-Asatz kombinieren.
Grundsätzlich soll die Nutzung von OpenMP in Kombination mit OpenMPI Môglich sein. Dadurch lassen sich das geringere "Overhead" von "Shared Memory Processing" (Threading) mit der Skalierung des MPI-Multi-Process-Asatz kombinieren.


In einem uns bekannten Fall gab es Probleme bei der Verwaltung der Threads in einem OpenSource Fortran-Programm.
In einem uns bekannten Fall gab es Probleme bei der Verwaltung der Threads in einem OpenSource Fortran-Programm.
Zeile 27: Zeile 27:


Ein Aufruf in einem Script sähe dann für 4 Threads und zwei Prozesse wie folgt aus:
Ein Aufruf in einem Script sähe dann für 4 Threads und zwei Prozesse wie folgt aus:
  <export OMP_NUM_THREADS=4
  export OMP_NUM_THREADS=4
  mpirun --bind-to none -np 2 meine_Software</code>
  mpirun --bind-to none -np 2 meine_Software


== Zeilenterminierung ==
== Zeilenterminierung ==

Aktuelle Version vom 28. Oktober 2024, 13:49 Uhr

Das zukünftige FAQ - welches sich, folgend der Erfahrung mit Nutzeranfragen, im Aufbau befindet:

Wie fordere Ich Software an

Dem Nutzer werden eine ganze Reihe von Bibliotheken sowie Software über die Modules-Umgebung zu Verfügung gestellt. Diese werden unter Modules & Verfûgbare Software vorgestellt.

Sollte eine erwünschte Software oder Bibliothek fehlen, können wir diese (je nach Lizenzbedingungen) nach einer Anfrage zu Verfügung stellen. Dies ist im großen und ganzen über eine formlose Email an hpc-support@hu-berlin.de möglich.

Hierbei sind Links zu der Software hilfreich, sowie eventuell vorhandene Test-Jobs mit denen sich die Funktionalität testen lässt, inklusive der nötigen Befehle um die Software auszuführen.

Wie melde Ich ein Softwareproblem

In den meisten Fällen werden Software und Bibliotheken mit Standardeinstellungen kompiliert und bereitgestellt. Dies ist häufig ausreichend.

Manchmal ist es allerdings notwendig bestimmte Argumente oder "Flags" zu setzen, zum Beispiel um zum Beispiel CUDA-Support zu aktivieren. In solch einem Fall würde das Ausführen einer Bibliothek ohne CUDA-Support mit CUDA zu einem Fehler führen. (CUDA wird hier nur beispielhaft genutzt.)

Sollte ein Fehler auftreten, sollte dieser möglichst vollumfänglich kopiert werde. Ferner sind die Eingaben von Interesse: wie wurde eine Software/Bibliothek genutzt, welche ist es, welche Argumente wurden genutzt. Idealerweise sollte auch eine Testdatei zu Verfügung gestellt werden damit das Problem nachvolzogen und reproduziert werden kann. Hierbei sollte die Testdatei idealerweise schnell das Problem aufzeigen können, das bekannte "minimum working example".

Dies kann dann über eine formlose Email an hpc-support@hu-berlin.de geschickt werden.

OpenMP mit OpenMPI

Grundsätzlich soll die Nutzung von OpenMP in Kombination mit OpenMPI Môglich sein. Dadurch lassen sich das geringere "Overhead" von "Shared Memory Processing" (Threading) mit der Skalierung des MPI-Multi-Process-Asatz kombinieren.

In einem uns bekannten Fall gab es Probleme bei der Verwaltung der Threads in einem OpenSource Fortran-Programm.

Sollten unerwartet Probleme auftreten, sind folgenden Variablen/Parameter zu überprüfen:

Die VariableOMP_NUM_THREADS welche die Anzahl der OpenMP-Threads festlegt sollte exportiert werden, sowie die Option --bind-to none beim Aufruf mit OpenMPI genutzt werden.

Ein Aufruf in einem Script sähe dann für 4 Threads und zwei Prozesse wie folgt aus:

export OMP_NUM_THREADS=4
mpirun --bind-to none -np 2 meine_Software

Zeilenterminierung

Wenn Textdateien unter Windows erstellt werden, kann dies mitunter in einigen Fällen unter Linux zu einem Problem führen.

Textdateien unter unter Windows werden mit \r\n terminiert, "return carriage" (\r) "neline" (\n), wḧarend Textdateien unter Linux nur mit einem \n, "newline" terminiert werden. Dies kann dann zu teilweise unverständlichen Fehlermeldungen führen. Unter Windows wird darum die Nutzung von Notepad++ ( https://notepad-plus-plus.org/downloads ) empfohlen, da in diesem Editor die Zeilenterminierung eingestellt werden kann und diese auch in der Statusleiste angezeigt wird. Alternativ können Textdateien auch über das Tool dos2unix konvertiert werden, dieses steht auf den Login-Knoten zu Verfügung.