KONWIHR

Kompetenznetzwerk für wissenschaftliches Höchstleistungsrechnen in Bayern

Inhalt

EMPIRE: Ein Höchstleistungsprogramm für die semiempirische Molekülorbital-Theorie

Antragssteller

Prof. Dr. Timothy Clark
Computer-Chemie-Centrum
FAU Erlangen-Nürnberg

Projektübersicht

Das in KONWIHR-II entwickelte semiempirische Molekülorbital- (MO-) Programm EMPIRE stellt das weltweit leistungsfähigste Paket für Rechnungen dieser Art dar. Erstmalig können komplette MO-Berechnungen an mikroskopisch sichtbaren Objekten durchgeführt werden. Systeme, die schon gerechnet wurden, schließen sowohl technische (organische Transistoren, bulkheterojunction Solarzellen, heterogene Katalysatoren, selbstassemblierte Monolagen) als auch biologische (Enzyme, Rezeptoren, biologische Membranen, Nukleinsäuren) Systeme ein. EMPIRE wird immer dort eingesetzt, wo die elektronische Eigenschaften eines großen Aggregates oder Moleküls von Interesse sind. Die mit EMPIRE berechneten Wellenfunktionen dienen zum Beispiel als Basis für anschließende Simulationen des elektronischen Verhaltens eines organischen Transistors oder zur Untersuchung des Ladungstransfers in einem bakteriellen photochemischen Reaktionszentrum.

Im Computer-Chemie-Centrum (CCC) steht naturgemäß die Erweiterung der in EMPIRE enthaltenen Rechenverfahren im Vordergrund. Dies führt dazu, dass das Programm zwar von Anfang an für HPC-Anlagen konzipiert und entworfen wurde aber, dass die Gelegenheit, eine konsequente Leistungsanalyse und Optimierung der Kern-Algorithmen durchzuführen, nie wahrgenommen werden konnte. Gleiches gilt für die Frage des Einsatzes von GPGPUs oder Intel Xeon Phi Architekturen. Im vorliegenden Leuchtturmantrag soll in enger Zusammenarbeit zwischen dem CCC und der Professur für Höchstleistungsrechnen das EMPIRE-Programm eingehend analysiert, optimiert und so gestaltet werden, dass es auch für neue (heterogene) Rechnerarchitekturen nachhaltig genutzt werden kann. Grundlegende architekturübergreifende Konzepte wie Skalierbarkeit innerhalb eines Rechenknotens (z.B. zu hohen OpenMP-ThreadZahlen, Nutzung von Beschleunigern) und der effiziente Einsatz von „wide-SIMD“ Konzepten sollen erarbeitet und umgesetzt werden. Gleichzeitig soll auch die massive Parallelisierung über die Knoten hinweg verbessert werden, um Grundzustandsrechnungen von Systemen mit einer Million Atomen zu ermöglichen. Auch soll die Kapazität und Leistung des Programms für angeregte Zustände mittels Konfigurationswechselwirkungs-Rechnungen (configuration interaction, CI) so erweitert werden, dass Systeme mit bis zu ca. 10.000 Atomen simuliert werden können.

Durch den konsequenten Einsatz der Intel-MKL-Bibliothek konnte bisher in vielen Programmteilen eine hohe Rechenleistung erzielt werden. Bei Verwendung einer größeren Zahl an Rechenknoten und -Kernen ergeben sich jedoch neue Flaschenhälse, die noch nicht eingehender untersucht und beseitigt wurden. Identifikation und Elemination dieser neuen Flaschenhälse ist nur durch die Zusammenarbeit von HPC-Spezialisten und Chemikern möglich, da die Lösungen für diese Probleme sowohl rein programmiertechnischer Natur sein als auch im verwendeten theoretischen Ansatz liegen können. Die erprobte Kombination der HPC-Gruppe mit dem CCC bietet die Möglichkeit, alle Aspekte des Programms, welche die Leistung einschränken, gleichzeitig zu analysieren, um zur bestmöglichen Lösung zu kommen. Es ist zum Beispiel durchaus denkbar, dass Algorithmen, die aus Gründen der Rechenzeit in heutigen Programmen nicht mehr eingesetzt werden, im Rahmen einer massiv-parallelen Rechnung an einem sehr großen System die beste Option darstellen.

Das Projekt startet mit Software, die auf einem hohen Niveau spezifisch für HPC konzipiert und programmiert wurde, die aber nie einer konsequenten Leistungsoptimierung unterzogen wurde. Das Ziel ist, diese Software zu einem wahren Leuchtturm des HPC im Bereich der Chemie zu machen sowie eine nachhaltige und hocheffiziente Implementierung zu erstellen. Sowohl Systemgrößen, die behandelt werden können, als auch die absolute Rechenleistung und die Flexibilität neue Rechnerarchitekturen nutzen zu können sollen diesem Anspruch gerecht werden.