Thomas Zeiser

Some comments by Thomas Zeiser about HPC@RRZE and other things

Content

32-bit Intel compiler on 64-bit Ubuntu system

The 32-bit Intel compilers fail to produce 32-bit executables on a 64-bit Ubuntu (or Debian) system as they append (hardcoded) /usr/lib/crt?.o to the linkage command. On 64-bit Ubuntu or Debian systems, however, /usr/lib contains 64-bit code and 32-bit code is in /usr/lib32. The workaround is to prevent the compiler from using the standard startup files when linking and supplying the correct ones manually, i.e. -L/usr/lib32 -nostartfiles /usr/lib32/crt1.o /usr/lib32/crti.o /usr/lib32/crtn.o. As specifying these command line arguments is cumbersome, they can be written to some file and referenced using the ICCCFG, ICPCCFG or IFORTCFG environment variable. This is now done automatically on RRZE’s system via the Modules system. But of course it would be preferential if Intel could determine the correct directories and files itself – but probably, Debian/Ubuntu is not supported officially or nobody tries to create 32-bit code on a 64-bit system …

HPC-Projektantrag "SKLAB" unter Federführung des RRZE bei BMBF-Ausschreibung erfolgreich

Passend zur Vorweihnachtszeit erhielt die Friedrich-Alexander-Universität Erlangen-Nürnberg Anfang Dezember frohe Kunde aus Berlin: Ein im Rahmen der BMBF Ausschreibung "HPC Software für skalierbare Parallelrechner" gemeinsam mit den Universitäten Braunschweig, Dortmund und Stuttgart eingereichter Antrag wird in den nächsten drei Jahren gefördert.

Ziel des Projektes SKALB (Lattice-Boltzmann-Methoden für skalierbare Multi-Physik-Anwendungen) ist die effiziente Implementierung und Weiterentwicklung von Lattice-Boltzmann basierten Strömungslösern zur Simulation komplexer Multi-Physik-Anwendungen auf Rechnern der Petascale-Klasse. "Die Genehmigung des Projektes ist auch Ausdruck der international akzeptierten Expertise der beteiligten Forschergruppen in den Bereichen Hochleistungsrechner und Lattice-Boltzmann Methoden" freut sich der Projektkoordinator Dr. G. Wellein vom Regionalen Rechenzentrum Erlangen. Weitere an dem Antrag beteiligte Wissenschaftler sind Prof. Rüde (FAU), Prof. Krafczyk (TU Braunschweig), Prof. Resch (Höchstleistungsrechenzentrum Stuttgart und Universität Stuttgart) sowie Prof. Turek (Technische Universität Dortmund). Mit Blick auf eine potentielle Kommerzialisierung der Ergebnisse des Projektes ist mit der IANUS Simulation GmbH aus Dortmund auch ein geförderter Industriepartner aktiv eingebunden.

Neben der hervorragenden wissenschaftlichen Basis war insbesondere die Verzahnung mit zahlreichen in- und ausländischen Industriepartnern ein großer Pluspunkt für das Projekt, das im Rahmen eines zweistufigen Verfahrens gründlich begutachtet wurde. Das gesamte Fördervolumen für drei Jahre beläuft sich auf 1,8 Millionen EUR, wovon mehr als ein Drittel an die beiden beteiligten Gruppen der Friedrich-Alexander-Universität Erlangen-Nürnberg fließt.

Das Projekt SKALB

Über SKALB – Lattice-Boltzmann-Methoden für skalierbare Multi-Physik-Anwendungen

Ende Oktober 2007 hat das Bundesministerium für Bildung und Forschung (BMBF) einen Call für Forschungsvorhaben auf dem Gebiet "HPC-Software für skalierbare Parallelrechner" im Rahmen des Förderprogramms IKT 2020 – Forschung für Innovationen veröffentlicht. Das RRZE als Konsortialführer hat zusammen mit vier weiteren universitären Gruppen unterschiedlicher Fachrichtungen, einem kleinen Spin-Off Unternehmen aus Dortmund und diversen assoziierten Partnern das Projekt SKALB – Lattice-Boltzmann-Methoden für skalierbare Multi-Physik-Anwendungen eingereicht. Nach erfolgreich überstandener Begutachtung in zwei Runden sind Anfang Dezember 2008 nun endlich die Bewilligungsbescheide eingetroffen, so dass SKALB zum 1. Januar 2009 offiziell beginnen kann.

Lattice-Boltzmann-Methoden haben sich in den letzten Jahren als Standardverfahren für numerische Strömungssimulation etabliert. Besonders bemerkenswert ist, dass dieser Ansatz schnell breite Verwendung auch jenseits der klassischen CFD Anwendungen gefunden hat und so zum Beispiel in der Verfahrenstechnik oder der Biomedizin eingesetzt wird. Deutschland konnte sich neben den USA als weltweit führend bei der numerischen Umsetzung der Methode insbesondere im Bereich der Hochleistungsrechner etablieren. Um diese führende Stellung auch bei den nun absehbaren technologischen Veränderungen erhalten zu können, haben fünf Gruppen aus ganz Deutschland mit ausgewiesener Expertise in den Bereichen Lattice-Boltzmann-Methode und Höchstleistungsrechnen die vorliegende Projektskizze gemeinsam formuliert. Bestehende Lattice-Boltzmann-Verfahren sollen so zur Lösung praxisrelevanter Multi-Physik-Anwendungsfälle auf hochskalierenden Parallelrechnern erweitert und optimiert werden. Dabei werden alle Schritte vom Preprocessing über die Simulation bis hin zur Visualisierung adressiert. Mit Blick auf neue und sich abzeichnende (heterogene) Multi-/Many-Core Architekturen sollen schließlich Potenziale und Programmieransätze exemplarisch evaluiert werden. Die umfangreiche Beteiligung assoziierter Unternehmen sichert dem Projekt den Zugriff auf neueste Hardwaretechnologien sowie den Transfer der methodischen Erkenntnisse und Simulationstechniken in die Wirtschaft.

Übergeordnetes Projektziel

Ziel von SKALB ist die effiziente Implementierung und Weiterentwicklung von Lattice-Boltzmann basierten Strömungslösern zur Simulation komplexer Multi-Physik-Anwendungen auf Rechnern der Petascale-Klasse.

Arbeitsziele gemäß den Zusammenfassungen auf den AZA-Formularen

Uni-Erlangen: Regionales Rechenzentrum Erlangen (RRZE) und Lehrstuhl für Systemsimulation (LSS, Prof. Rüde)
  • Sequentielle/parallele Performanceanalyse und Codeoptimierung für hochskalierende Rechner
  • Erstellung von Performancemodellen und Benchmarkkernels
  • Entwicklung eines skalierbaren Partitionierers für statische Gitter
  • Untersuchung geeigneter Datenstrukturen
  • Entwicklung dynamischer/adaptiver Lastbalanzierungskonzepten
Uni-Stuttgart: Hochleistungsrechenzentrum Stuttgart (HLRS)
  • Untersuchung verschiedener paralleler Programmiermodelle insbesondere unter Verwendung der standardisierten Modelle MPI und OpenMP. Es sollen Erfahrungen mit PGAS (Partitioned Global Address Space) basierten Sprachen, die in Zukunft größere Aufmerksamkeit finden werden, gesammelt werden.
  • Die Entwicklung der Open-Source-MPI-Implementierung OpenMPI wird am HLRS innerhalb des Projekts fortgeführt, insbesondere im Hinblick auf die Optimierung für Multi-Core-Architekturen.
  • Bei der Anpassung des sequentiellen Lösers auf neue Architekturen werden wir uns auf Vektorprozessoren konzentrieren.
  • Effiziente Anbindung einer Visualisierung auch für massiv parallele Simulationen.
TU-Braunschweig: Institut für rechnergestützte Methoden im Bauingenieurwesen (iRMB, Prof. Krafczyk)
  • Entwicklung, Implementierung und Validierung adaptiver Lattice-Boltzmann-Methoden für hochskalierende Parallelrechner.
  • Adaption paralleler Lattice-Boltzmann-Methoden für Grafikprozessoren.
  • Entwicklung, Implementierung und Validierung von angepassten Datenkompressionsansätzen speziell für Restart und Postprocessing von Lattice-Boltzmann-Simulationen.
Uni-Dortmund: Fakultät für Mathematik, Lehrstuhl III (Angewandte Mathematik und Numerik, Prof. Turek)
  • Entwicklung, Implementierung und Evaluierung numerischer Alternativen für Lattice-Boltzmann-Methoden.
  • Codeoptimierung unter Berücksichtigung von Low-Level Hardware-Charakteristiken und Nicht-Standard-Hardwarearchitekturen.
  • Entwicklung und Implementierung eines hybriden MPI/OpenMP-Scheduling und Loadbalancing-Konzeptes.
  • Weiterentwicklung der FEAST-Basisbibliothek.
  • Wissenschaftliches Benchmarking.
IANUS Simulation GmbH, Dortmund

IANUS ist innerhalb des gemeinsamen Vorhabens wichtiges Bindeglied zwischen den wissenschaftlichen Partnern und den assoziierten Partnern aus der Industrie. Zu den Aufgaben gehört die Koordination des Benchmarkings und der Showcases und Aufbau einer Kommunikationsplattform. IANUS soll sicherstellen, dass die Entwicklungen die Wünsche zukünftiger Anwender aus der Industrie berücksichtigt.

Assoziierte Partner

Als assoziierte Projektpartner konnte fünf führende HPC-Firmen gewonnen werden, die Know-How, Entwicklungstools aber auch Rechenzeit auf geeigneten Systemen bereitstellen.Auf der Anwendungsseite sind drei Firmen als assoziierte Partner integriert. Sie liefern praxisrelevante Anwendungsfälle und stellen somit sicher, dass die Entwicklungen von SKALB auch nachhaltig genutzt werden können.

Weitere wissenschaftliche Verknüpfungen

Zwei Projektpartner (RRZE und LSS) sind seit Jahren in die Aktivitäten des bayerischen Kompetenznetzwerks für Technisch-Wissenschaftliches Hoch- und Höchstleistungsrechnen in Bayern (KONWIHR) eingebunden. Das HLRB ist Teil des Gauss Centre for Supercomputing, das RRZE ist assoziiertes Gründungsmitglied der Gauss-Allianz. Prof. Krafczyk war Sprecher des 2007 ausgelaufenen DFG-Paketantrages Lattice Boltzmann Methoden: Analysis, Numerik und Anwendungen, an dem auch die Gruppe von Prof. Turek beteiligt war.

Das Advanced Center for Computation and Communication, RIKEN, Japan, das für die Entwicklung und Installation des japanischen “Next-Generation Supercomputer” verantwortlich ist, hat dem RRZE gegenüber erklärt, dass sie eng mit SKALB zusammenarbeiten möchten.

Nächste Schritte

Für Januar 2009 ist ein offizielles Kick-Off Meeting geplant. Mehr dazu und weiteren SKALB-relevanten Themen hier in diesem Blog und auf einem noch zu schaffenden SKALB-Webauftritt.