Intel bietet eine Reihe von Software-Tools von Bibliotheken für die Nutzung auf Clustern. Die Uni Siegen verfügt über eine Lizenz für das Intel Parallel Studio XE, das die meisten dieser Tools und Bibliotheken beinhaltet. Einige der Koponenten des Intel Parallel Studio XE sind auf dem OMNI-Cluster installiert und können von allen Uni-Angehörigen genutzt werden.

Die Dokumentation des Parallel Studio finden Sie hier zum Download.

Auf dieser Seite werden die auf OMNI installierten Bestandteile des Intel Parallel Studio, nämlich Intel Compiler, Intel MPI und Intel MKL, sowie deren Nutzung.

Intel Compiler

Intel bietet Compiler für C, C++ und Fortran an. Mehr Informationen auf den Seiten für C und C++, sowie der Seite für Fortran.

Intel MPI

Die Intel-MPI-Bibliothek ist eine mit dem Parallel Studio ausgelieferte Implementierung des Message Passing Interface Standards (MPI). MPI ist ein Standard, der den Nachrichtenaustausch bei parallelen Berechnungen auf verteilten Computersystemen beschreibt. Im Gegensatz zu OpenMP kann mit MPI auch auf mehreren getrennten Computern an einem gemeinsamen Problem gearbeitet werden.

Intel MPI ist auf dem Cluster als ein Modul namens impi eingerichtet. Diese Modul enthält Versionen, die mit GCC und dem Intel Compiler compiliert sind. Sie können das geladene Compiler-Modul ( gnu9 oder intel) austauschen und die korrekte Intel-MPI-Version wird verwendet, ohne dass Sie das impi-Modul neu laden müssen.

MKL

Die Intel MKL (Math Kernel Library) ist eine Programmbibliothek für mathematische Berechnungen. Sie optimiert Anwendungen für Intel CPUs und GPUs, funktioniert aber auch auf AMD-CPUs wie denen im OMNI-Cluster.

Hauptbestandteile sind BLAS (Basic Linear Algebra Subprograms), LAPACK (Linear Algebra Package), Solver für dünnbesetzte Matrizen, schnelle Fourier-Transformationen, Statistik und Vektormathematik. Vektormathematische Funktionen sind mit einfacher und doppelter Genauigkeit implementiert sowie für komplexe und Gleitkommazahlen verfügbar. Beachten Sie, dass die MKL nicht die einzige BLAS/LAPACK-Implementierung ist.

Im Bereich Statistik gibt es z.B. Algorithmen für Zufallszahlen und Wahrscheinlichkeitsverteilungen und es sind verschiedene Splines zur Interpolation enthalten. Die Intel MKL verfügt außerdem über Funktionen für neuronale Netze.

Die Intel MKL unterstützt C, C++, DPC++ und Fortran und ist auch mit Java, C#, Python und anderen Sprachen kompatibel.

Die MKL ist auf dem Cluster nur in der mit dem Intel-Compiler compilierten Version vorhanden, deshalb muss das Modul intel geladen werden. Der Installationsordner der MKL ist in Form der Umgebungsvariable MKLROOT hinterlegt. Wir empfehlen beim Kompilieren lediglich die folgenden Optionen anzugeben und keine extra Library oder Include Pfade.
-liomp5 -lpthread -ldl -lm -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core

Aktualisiert um 16:12 am 25. Februar 2021 von Gerd Pokorra