Kurzbeschreibung

Das Global Arrays Toolkit (GA) ist eine Programm-Bibliothek zum parallelen Rechnen, welche eine transparente "shared-memory" Programmschnittstelle für "distributed-memory" Computer bereit stellt. Der Zugriff auf die über viele Computer verteilten Arrays erfolgt hierbei mittels NUMA (non-uniform memory access) Techniken. Es wird also berücksichtigt, dass auf manche Speicherbereiche schnell und auf andere nur langsam zugegriffen werden kann. In diesem Sinne unterstützt GA das parallele Rechnen auf einer höhere Abstraktionsebene als OpenMPI, welches eher kommunikationsorientiert arbeitet.

Kommunikations- und Informationszentrum (kiz)

  • Helpdesk

    Kontaktieren Sie uns bei Fragen und Problemen zu den Services des kiz:
    Mo - Fr  8 - 18 Uhr
    +49 (0)731/50-30000
    helpdesk(at)uni-ulm.de
    Kundenportal
    [mehr]

  • Service-Points

    An den Service-Points können Sie uns persönlich aufsuchen.
    [mehr]

  • Identitätsmanagement

    Self Service Funktionen des Identitätsmanagementsystems (IDM):

    • Berechtigungen verwalten
    • Dienste abonnieren
    • Passwörter ändern
    • ...

    IDM Self Services
    [mehr]

  • Literatursuche

  • kiz von A bis Z

    Etwa 400 Stichwörter führen Sie direkt zu einer einschlägigen Web-Seite des kiz.
    A-Z-Liste
    Wenn Sie ein Stichwort vermissen, geben Sie uns Nachricht: Redaktion

Verfügbarkeit an der Universität Ulm

Zielsystem/ZielgruppeVerfügbarkeit
bwUniCluster (Karlsruhe)Nein
bwForCluster JUSTUS (Ulm)Nein
kiz CUSS Linux Cluster (Ulm)Ja, nach Laden des entsprechenden Moduls
kiz Linux Pools (Ulm)Ja, nach Laden des entsprechenden Moduls
kiz Windows Pools (Ulm)Nein
Uni-Ulm-weiter LizenzzugriffJa, das Global Arrays Toolkit kann nach Registrierung kostenlos heruntergeladen werden
Externer LizenzzugriffJa, das Global Arrays Toolkit kann nach Registrierung kostenlos heruntergeladen werden
Softwarebezug StudierendeJa, das Global Arrays Toolkit kann nach Registrierung kostenlos heruntergeladen werden
Softwarebezug MitarbeiterJa, das Global Arrays Toolkit kann nach Registrierung kostenlos heruntergeladen werden

Nutzungsbedingungen und Lizenzvereinbarungen

Das Global Arrays Toolkit steht unter der Battelle Memorial Institute Lizenz und kann gemäß der Lizenz von jedem kostenlos verwendet werden.

Uniweiter Lizenzzugriff und Softwarebezug

Sie können das Global Arrays Toolkit im Bereich "Download" der Global Arrays Webseite herunterladen. Wenn Sie noch nicht registriert sind, werden Sie beim Download um Registrierung gebeten. Zur Compilierung von GA folgen Sie bitte den Anweisungen der Dokumentation auf der Webseite.

Weiterführende Dokumentation

Ausführliche Dokumentation zum Global Arrays Toolkit finden Sie im Bereich "Documentation" der Global Arrays Webseite.

Zugriff auf Software (oben genannte Cluster und Pools)

Auf den oben genannten Clustern und Pools steht das Global Arrays (GA) Toolkit per "module load" Befehl zur Verfügung. Hierbei muss darauf geachtet werden, dass der Compiler, OpenMPI und die BLAS/LAPACK Version zu dem Global Arrays Toolkit passen. Zuerst muss der Compiler, OpenMPI und BLAS/LAPACK geladen werden, dann GA.

Beispiel CUSS-Linux:

module load compiler/intel

module load mpi/openmpi/1.4.0_ge_int32_static-intel-10.1

module load numlib/mkl

module load lib/ga/4.0.8_tmpi_ge_mkl_sta_int32-intel-10.1

Beispiel CUSS-Solaris (die SunPerf Bibliothek ist hier per Default verfügbar):

module load compiler/sun

module load mpi/openmpi/1.4.0_ge_int32_static-sun-12u1

module load lib/ga/4.0.8_tmpi_ge_sperf_sha_int32-sun-12u1

Bitte verwenden Sie die Befehle

module avail mpi

und

module avail lib/ga

um alle verfügbaren OpenMPI-und GA-Varianten zu sehen.

Auswahlhilfe:

  • Die Abhängigkeit von den angegebenen BLAS/LAPACK-Implementierungen ist nicht zwingend. Jedoch sind die angegebenen Kombinationen empfehlenswert und das "module load" Kommando besteht auf deren Erfüllung.
  • Die Compiler-Version muss nicht zwingend identisch mit der im OpenMPI und GA Modul übereinstimmen. Zum Beispiel funktioniert das GA Modul "lib/ga/4.0.8_tmpi_ge_mkl_sta_int32-intel-10.1" sowohl mit dem Intel 10.1 als auch mit dem Intel 11.1 Compiler. Wesentlich ist jedoch, dass der Hersteller (hier Intel) nicht gewechselt wird. Auch bei zu großen Versionssprüngen (z.B. Intel 7.0 auf Intel 11.1) kann es zu Problemen kommen.
  • Die "_tmpi_" Varianten verwenden TCGMSG-OpenMPI Kommunikation.
  • Die "_ge_ " Varianten verwenden Gigabit Ethernet zur Kommunikation.
  • Die "_sperf_" Varianten verwenden die SunPerf Bibliothek, die "_mkl_" Varianten die Intel Math Kernel Library und die "_acml_" Varianten die AMD Core Math Library.
  • Die "_int32_" Varianten verwenden 32bit Integer (der Default). In der Regel sollten Sie eine "_int32_" Variante verwenden. Die "_int64_" Varianten verwenden 64bit Integer und sind dann von Interesse, wenn Ihre Arrays mehr als 2^32 Einträge enthalten. Sowohl die "_int32_" als auch die "_int64_" Varianten sind Module für 64bit Binärdateien. Einzig die "_m32_" Varianten (nur unter Solaris) sind für 32bit Binärdateien und sollten nur im Ausnahmefall verwendet werden.
  • Die "_sta" Varianten verwenden (wo immer möglich) statische Bibliotheken; die "_sha" Varianten verwenden dynamische Bibliotheken.
  • Unter CUSS-Linux empfehlen wir die Verwendung von "lib/ga/4.0.8_tmpi_ge_mkl_sta_int32-intel-10.1", unter CUSS-Solaris empfehlen wir "lib/ga/4.0.8_tmpi_ge_sperf_sha_int32-sun-12u1".
  • Zu jedem Global Arrays Modul erhalten Sie eine ausführliche Hilfe mittels des "module help" Befehls, zum Beispiel

    module help lib/ga/4.0.8_tmpi_ge_mkl_sta_int32-intel-10.1

Bitte lesen Sie den Modul-Hilfetext bevor Sie das Modul verwenden.

Support

Bitte wenden Sie sich an unseren Softwaresupport, wenn Sie weitergehende Hilfe benötigen.