NEC SX-ACE Vektorrechnersystem

no/neinStudierende yes/jaBeschäftigte yes/jaEinrichtungen no/neinstud. Gruppen

nec_ace.jpg

Das NEC SX-ACE Vektorrechnersystem ist Teil eines hybriden NEC Hochleistungs-Rechnersystems im Rechenzentrum, bestehend aus einem skalaren NEC HPC-Linux-Cluster mit insgesamt 6192 Cores und einer theoretischen Peakperformance von 404,4 TFlops und dem NEC SX-ACE Vektorrechnersystem mit einer theoretischen Peakperformance von 65,6 TFlops. Die insgesamt verfügbaren 256 Vektorknoten, mit jeweils 4 Vektor-Cores, sind über einen schnellen IXS-Crossbar-Switch miteinander verbunden und haben jeweils eine Speicherbandbreite von 256 GB/s. Beide Systeme sind über die gleichen Vorrechner zu erreichen, haben Zugriff auf ein gemeinsames 5 PB großes globales Dateisystem und alle Batch-Berechnungen werden über ein Batch-System (NQSII) verwaltet.


 

Hardware

Vorrechner NEC HPC 124Rh-1

  • 4 Rechner mit jeweils:
    • 2 Intel Xeon Gold 6130 (Skylake-SP) Prozessoren (2,1 GHz)
    • 32 Cores pro Knoten und 768 GB Hauptspeicher
  • Betriebssystem: Red Hat Enterprise Linux (Release 7.4)

 

NEC SX-ACE Knoten

  • 256 SX-ACE Vektor-Knoten mit jeweils:
    • 4 Vektor-Cores mit einer Peak-Performance von je 64 GFlops
    • 64 GB Hauptspeicher
    • Memory Bandbreite: 256 GB/s
  • Die einzelnen Knoten sind über einen schnellen Crossbar-Switch (IXS) miteinander verbunden.
  • Betriebssystem: Super-UX

 

Rechnerzugang

Benutzerkennung

  • Für die Benutzung unseres Vektorrechners ist eine extra Validierung erforderlich. Zur Beantragung einer Benutzerkennung schicken Sie bitte den vollständig ausgefüllten und unterschriebenen   Antrag auf Nutzung eines Hochleistungsrechners (bitte den Punkt NEC Hochleistungsrechnersystem ankreuzen) an das Rechenzentrum zurück.

Zugangsrechner

  • Ein interaktives Einloggen ist nur über den Vorrechner nesh-fe.rz.uni-kiel.de möglich. Beim Einloggen über diesen Namen werden Sie automatisch auf einen der verfügbaren Vorrechner weitergeleitet. Die einzelnen NEC SX-ACE Knoten können nur über das Batchsystem genutzt werden.
  • Der Zugang zum Vorrechner ist nur über eine SSH-Verbindung aus dem uni-internen Netzwerk möglich:

    ssh -X <username>@nesh-fe.rz.uni-kiel.de

  • Das voranstehende Dollarzeichen symbolisiert dabei stets den Kommandozeilenprompt und ist nicht Teil der Eingabe!
  • Mit der Option -X (großes X) wird das X11-Forwarding aktiviert.
  • Für das Einloggen von einem Windows-Rechner aus eignen sich als SSH-Clients zum Beispiel die Programme Putty, X-Win32 oder MobaXterm sowie WinSCP zum Transferieren von Daten.

Passwortänderung

  • Zum Ändern Ihres Passwortes verwenden Sie auf dem Vorrechner bitte den Befehl

    yppasswd

 

Dateisysteme

Die Vorrechner und alle Batch-Knoten greifen gemeinsam auf ein globales Filesystem von insgesamt 5 PB zu. Für alle Rechner existiert ein gemeinsamer HOME- und WORK-Bereich. Zusätzlich besteht die Möglichkeit, Daten auf unser Magnetband-Robotersystem auszulagern.

Home-Verzeichnis

  • erreichbar über die Umgebungsvariable $HOME
  • global verfügbar an allen Knoten (Vorrechner und Batch-Knoten)
  • tägliche Datensicherung
  • zum Speichern von Skripten, Programmen und kleineren Ergebnisdateien geeignet

 

Work-Verzeichnis

  • auf den Vorrechnern erreichbar über die Umgebungsvariable $WORK (SX-ACE Knoten: Angabe des absoluten Pfadnamens erforderlich)
  • global verfügbar an allen Knoten (Vorrechner und Batch-Knoten)
  • Dateisystem ohne Datensicherung
  • Nutzer-Quota für Plattenplatz und Inodes:  workquota
  • Batchberechnungen sollten nur in diesem Verzeichnis durchgeführt werden

 

Tape-Library

  • erreichbar über die Umgebungsvariable $TAPE_CACHE
  • verfügbar an den Login-Knoten oder über die feque des Batchsystems
  • Aktuell nicht mehr benötigte Dateien sollten auf diesem zusätzlichen Dateisystem ausgelagert werden. Die hier abgelegten Dateien werden nach einiger Zeit auf Band  geschrieben; sie können jedoch jederzeit auf das $HOME- bzw. $WORK-Verzeichnis zurück kopiert werden.
  • nicht für die Abspeicherung von vielen kleinen Dateien geeignet; erstellen von tar-Dateien. Falls eine große Anzahl von Dateien gepackt werden soll, empfehlen wir Dateigrößen im Bereich von 3GB und 50GB. Eine einzelne tar-Datei sollte jedoch nicht größer als ein 1TB sein.
  • langsame Zugriffsgeschwindigkeiten, daher möglichst kein direktes Arbeiten mit Dateien im $TAPE_CACHE Verzeichnis (kopieren Sie diese Dateien vor der Weiterverarbeitung (z.B. entpacken) erst wieder zurück auf das $WORK-Verzeichnis)
  • Datentransfer zu bzw. vom $TAPE_CACHE-Verzeichnis darf nicht mit dem rsnyc-Kommando erfolgen

 

Software

Compiler

  • Eine direkte Übersetzung von Fortran- und C/C++-Programmen auf den NEC SX-ACE Knoten ist nicht möglich. Daher stehen auf dem Vorrechner nesh-fe sog. "Cross-Compiler" zur Verfügung. Diese "Cross-Compiler" erzeugen auf der nesh-fe einen ablauffähigen Code für die NEC SX-ACE Knoten. Für die Nutzung des Cross-Compiler müssen einige zusätzliche Umgebungsvaraiblen gesetzt werden. Dieses geschieht mit dem Kommando: module load crosscompiler

 

Cross-Compileraufruf nesh-fe Erklärung
sxf90, sxcc, sxc++ serielle und threadparallelisierte Fortran, C und C++ Programme

sxmpif90, sxmpicc, sxmpic++

MPI-parallelisierte Fortran, C und C++ Programme

-P openmp

Compileroption für OpenMP-parallelisierte Programm
sxld Linker
sxar Archiv-Funktion

 

Übersetzung für die Vorrechner und die Batchklasse feque

  • Auf dem Vorrechner nesh-fe stehen für die Programmübersetzung zusätzlich die gnu- und Intel-Compiler für das Pre- und Postprocessing zur Verfügung.

 

MPI-Parallelisierung

  • Für die Entwicklung und Durchführung von MPI-parallelisierten Programmen steht auf den SX-ACE Knoten eine speziell für die Vektorrechnerarchitektur entwickelte MPI-Implementierung NEC-SX/MPI zur Verfügung.
  • Starten von MPI-parallelisierten Programmen
    • mpirun -nn Knotenanzahl -nnp Coreanzahl_pro_Knoten ./executablename

 

Bibliotheken

  • MathKeisan Bibliothek
    • enthält speziell für die NEC SX-ACE Vektorarchitektur optimierte Versionen von BLAS, CBLAS, ScaLAPACK, SBLAS, FFT, Metis, ParMetis, SOLVER und ARPACK
    • Initialisierung auf dem Vorrechner mit dem Kommando: module load MathKeisan
  • I/O-Bibliothek netCDF
    • Initialisierung auf dem Vorrechner mit dem Kommando: module load netcdf_4.1.1_sx

 

Anwender-Software

  • Gaussian (Version D.0.1)
    • SMP-parallelisiert, d.h. für eine parallele Berechnungkönnen max. 4 Cores eingesetzt werden
    • Installationsverzeichnis: /sfs/fs3/sw/gaussian/SX-ACE/g09d01ace/g09
  • Quantum Espresso (Version 5.4.0)
    • MPI- und SMP-Parallelisierung möglich
    • Installationsverzeichnis: /sfs/fs3/sw/espresso/espresso5.4.0sx/usr/bin

 

Module-Konzept

  • Compiler, Bibliotheken, Software und spezielle Tools,  die auf dem Vorrechner für die Pre- und Postprocessing erforderlich sind, werden über ein Module-Konzept bereit gestellt
  • Einen Überblick über die installierten Programme gibt das folgende Kommando:

    module avail

  • Weitere Befehle zur Softwarenutzung:
    Kommando Erklärung
    module load <name> Lädt das Modul mit dem Namen <name>, d.h. alle Einstellungen, die für die Nutzung des spezifizierten Programmes notwendig sind werden vorgenommen
    module unload <name> Entfernt das Modul, d.h. alle Einstellungen werden rückgängig gemacht.
    module list Listet alle Module auf, die derzeit geladen sind.
    module show <name> Zeigt an, welche Einstellungen durch das Modul vorgenommen werden.

 

Batch-Verarbeitung

Für die Ressourcenverwaltung setzen wir auf dem NEC HPC-System das Batchsystem NQSII zusammen mit dem Scheduler "Job Manipulator" ein.

Batchklassen

Zurzeit sind auf dem NEC Vektorrechnersystem folgende Batchklassen mit unterschiedlichen Rechenzeiten eingerichtet:

Batchklasse max. Rechenzeit (Walltime) max. Hauptspeicher pro Knoten max. Anzahl Knoten* 
feque** 1 Stunde (CPU-Zeit) 750 GB 1
express 15 Minuten 64GB / Knoten 4
smallque/htque 10 Stunden / 14 Tage 64GB / Knoten 251

* Die aktuell verfügbare Anzahl von Knoten kann unter Umständen geringer sein, falls einige Knoten aufgrund von Hard- oder Softwareproblemen aktuell nicht zur Verfügung stehen. Eine Aufstellung der aktuell verfügbaren Ressourcen erhalten Sie auf den Vorrechnern mit dem Kommando qace.

** Die Batchklasse feque ist nur auf einem der vier Vorrechner verfügbar und soll nur für kürzere skalare Pre- und Postprocessing-Jobs verwendet werden. Nutzen Sie für längere skalare und/oder parallele Berechnungen bitte die Batchklassen auf dem NEC HPC-Linux-Cluster.

Abgabe von Batch-Jobs

Für die Durchführung einer Berechnung im Batchbetrieb ist es notwendig, dass der Benutzer dem Batchsystem nicht nur mitteilt, welches Programm ausgeführt werden soll, sondern zusätzlich müssen dem System auch die für die Berechnung notwendigen Ressourcen (Rechenzeit, Speicherbedarf, usw.) mitgeteilt werden. Diese Ressourcenangaben werden zusammen mit dem eigentlichen Programmaufruf in eine Skriptdatei geschrieben und anschließend mit dem Befehl qsub <nqs_skript> an das Batchsystem übergeben. Enthält eine Skriptdatei keine Angabe zur benötigten Rechenzeit, so weist das Batchsystem diesem Job automatisch eine Default-Rechenzeit von 30 Minuten (bzw. 15 Minuten in der Batchklasse clexpress) zu.

Die für eine Jobabgabe wichtigsten Optionen sind:

NQSII-Option Erklärung
#!/bin/bash Definition der Shell

#PBS -T mpisx

Spezifiziert den Jobtyp (SX-MPI), nur erforderliche für parallele Berechnungen

#PBS -b 2

Anzahl der Knoten (hier 2)

#PBS -l cpunum_job=4

Anzahl angeforderter Cores pro Knoten (max. 4)
#PBS -l elapstim_req=01:00:00 Walltime (hier 1h)
#PBS -l cputim_job=8:00:00 akkumulierte CPU-Zeit pro Knoten (hier 8*1h)
#PBS -l memsz_job=10gb Hauptspeicherbedarf pro Knoten (RAM; hier 10gb, max. 64gb)
#PBS -N test Name des Batch-Jobs (hier test)
#PBS -o test.out Datei für die Standardausgabe (hier test.out)
#PBS -e test.err Datei für die Fehlerausgabe (hier test.err)
#PBS -q smallque Angeforderte Batch-Klasse (hier clexpress)
#PBS -j o Standard- und Fehlerausgabe in eine Datei
#PBS -m abe Email-Benachrichtigung wenn Job beginnt (b), endet (e) oder abbricht
#PBS -M <Email-Adresse> Email-Adresse für die Jobbenachrichtungen (-m Optionen)

Beispiel Batch-Skripte

Beispiel-Skript für eine serielle Berechnung:

#!/bin/bash
#PBS -b 1 
#PBS -l cpunum_job=1 
#PBS -l elapstim_req=01:00:00 
#PBS -l cputim_job=01:00:00 
#PBS -l memsz_job=10gb 
#PBS -N testjob 
#PBS -o stdstderr.out 
#PBS -j o 
#PBS -q smallque

# Ausgabe von Performanceinformationen nach Jobende (C_PROGINF für C/C++)
export F_PROGINF=DETAIL

# Wechsel in das qsub-Verzeichnis
cd $PBS_O_WORKDIR

# Starten der seriellen Berechnung
./executablename 

Beispiel-Skript für eine parallele knotenübergreifende MPI-Berechnung:

#!/bin/bash
#PBS -T mpisx
#PBS -b 2
#PBS -l cpunum_job=4
#PBS -l elapstim_req=01:00:00
#PBS -l cputim_job=8:00:00
#PBS -l memsz_job=10gb
#PBS -N testjob
#PBS -o stdstderr.out
#PBS -j o
#PBS -q smallque

# Wechsel in das qsub-Verzeichnis
cd $PBS_O_WORKDIR

# Ausgabe von Performanceinformationen nach Jobende (C_PROGINF bzw. MPI_PROGFINF für C/C++)
export F_PROGINF=DETAIL
export MPI_PROGINF=DETAIL

# Starten der parallelen Berechnung (nn=Knotenanzahl nnp:Prozessanzahl/Knoten
mpirun -nn 2 -nnp 4 ./executablename

 

NQSII-Kommandos zur Jobabgabe und -Kontrolle

Die wichtigsten Kommandos für das Arbeiten mit dem NQSII-Batchsystem sind:

  • qsub <nqs_skript> Abgabe einer Batchberechnung
  • qstat liefert Informationen über die eigenen Jobs
  • qdel <jobid> beendet einen laufenden oder entfernt einen wartenden Job
  • qstatall Auflistung aller  laufenden und wartenden Jobs auf dem gesamtem NEC HPC-System
  • qstatace Auflistung aller Jobs, die auf dem NEC Linux-Cluster laufen bzw. warten
  • qstat -f <jobid> liefert detaillierte Informationen über einen bestimmten Job
  • qalter <jobid> Änderung dr Job-Ressourcen eines wartenden Jobs
  • qcat -o <jobid> Inhalt der bisher erzeugten Standardausgabe eines laufenden Jobs anzeigen lassen (Verwende die Option -n <number> für die Anzahl der anzuzeigenden Zeilen)

 

Dokumentation

Auf unseren WWW-Seiten haben wir für Sie einige Handbücher im HTML- oder pdf-Format bereit gestellt. Der Zugang zu diesen Handbüchern ist jedoch passwortgeschützt. Um einen Zugriff auf die Online-Handbücher zu erhalten, geben Sie als Usernamen bitte nec ein. Das zusätzlich noch erforderliche Passwort erfahren Sie auf dem Vorrechner nesh-fe mit dem Kommando man necdoc.
Momentan stehen folgende Handbücher zur Verfügung:

 


Support und Beratung

HPC-Support-Team: hpcsupport@rz.uni-kiel.de
Verantwortliche Ansprechparter am Rechenzentrum:
Siehe unter HPC-Support und Beratung.