Über die Besonderheit datenintensiver WorkloadsKI-Berechnungen mit IPUs anstelle von GPUs
Von
Thorben Louw *
8 min Lesedauer
Künstliche Intelligenz und Machine Learning sind besonders leistungshungrig. Vermehrt kommen deshalb angepasste Prozessoren wie die IPU, sprich Intelligence Processing Unit von Graphcore zum Einsatz. Dieser Beitrag beleuchtet die Besonderheiten der KI-Programmierung.
Auf KI und ML spezialisierte Chips helfen, die physikalischen Gegebenheiten in einem kompletten Gasturbinen-Triebwerk zu simulieren.
Zusammen mit vier anderen Universitäten und Unternehmen bildet die Universität Bristol die High-Performance Computing Group (HPC Group). Die Partner sind damit Teil der ASiMoV (Advanced Simulation and Modelling of Virtual Systems) Prosperity Partnership Initiative, die auf fünf Jahre angelegt ist und vom britischen Engineering & Physical Sciences Research Council (EPSRC) gefördert wird.
Unter der Federführung des Triebwerkherstellers Rolls-Royce besteht das Ziel des Konsortiums darin, Techniken zur exakten und hochgenauen Simulation der physikalischen Gegebenheiten in einem kompletten Gasturbinen-Triebwerk zu entwickeln. Die HPC Group an der Universität Bristol untersucht, wie dieses Problem mit neuen IT-Architekturen und KI-Beschleunigern in Angriff genommen werden kann.
Maschinelles Lernen spielte in technisch-wissenschaftlichen Supercomputing-Anwendungen in den vergangenen zehn Jahren eine immer größere Rolle. Um diese leistungshungrigen Workloads besser zu unterstützen, setzen Supercomputer zunehmend auf KI-Lösungen wie die IPU-POD Scale-Out-Systeme von Graphcore, die die traditionellen HPC-Systeme ergänzen.
Die speziell für KI-Workloads entwickelten IPU-Systeme eignen sich dank schneller Ergebnisse besonders gut für technisch-wissenschaftliche Anwendungen. Unter der Leitung von Prof. Simon McIntosh-Smith hat die HPC Group untersucht, wie die IPU-Technologie von Graphcore in Converged KI/HPC-Anwendungen für technisch-wissenschaftliche Aufgaben in den Bereichen numerische Strömungsmechanik, Elektromechanik und Teilchensimulation eingesetzt werden kann.
Besonderheiten der KI-Programmierung
Software für wissenschaftliche Aufgaben wird von Anfang an massiv parallel ausgelegt, so dass sie auf zigtausend Knoten eines Supercomputers gleichzeitig ausgeführt werden kann. Jedoch können komplexe Datenabhängigkeiten und Speicherzugriffsmuster in numerischen Algorithmen dazu führen, dass die Applikation in ihrer Leistung durch die Speicherbandbreite oder Engpässe bei der Kommunikation begrenzt wird.
Infolgedessen lässt sich die theoretische Rechengeschwindigkeit der einzelnen Knoten gar nicht voll ausnutzen. Hier kommen neue Prozessordesigns wie die IPU ins Spiel, bei denen die Prozessor-Cores durch große On-Chip-SRAM-Speicher ergänzt werden.
In den heutigen zunehmend heterogenen Supercomputern sind die Applikationen dafür ausgelegt, die Stärken der verfügbaren verschiedenartigen Rechner zu nutzen. So werden CPUs beispielsweise für allgemeine Rechenoperationen mit geringer Latenz und hoher Präzision eingesetzt und haben Zugriff auf große DRAM-Speicherkapazitäten, wobei jedoch dieser Speicherzugriff langsam und energieintensiv ist.
GPUs eignen sich gut für datenparallele Workloads, die das SIMT-Design (Single-Instruction Multiple-Thread) nutzen können. Dagegen haben IPUs ein Multiple-Instruction Multiple-Data (MIMD)-Design, das die gleichzeitige Ausführung von mehr als 100.000 unabhängigen Programmen ermöglicht.
Dieses Design in Verbindung mit der sehr hohen Speicherbandbreite, großem On-Chip-Speicher und dedizierter Hardware-Unterstützung für Operationen wie Matrix-Multiplikation und Faltungen macht die IPU zu einer attraktiven Lösung für bestimmte HPC-Aufgaben, die nicht optimal mit CPUs und GPUs gelöst werden. Mögliche Anwendungen sind die Berechnung von Graphennetzen und die effiziente Verarbeitung von Sparse-Linear-Algebra-Aufgaben.
Unter Verwendung von Graphcore Mk1 IPUs untersuchte die HPC Group an der Universität Bristol zunächst sogenannte strukturierte Gitter. Diese Klasse von HPC-Problemen unterstützt die Solver für partielle Differentialgleichungen, die in der Modellierung physikalischer Prozesse wie Wärmeübergang und Fluidströmung zum Einsatz kommen.
Da HPC-Entwickler die verwendete Hardware mit maximaler Effizienz nutzen müssen, wird die Software in niedrigeren Programmiersprachen wie C, C++ oder Fortran erstellt. Für die Arbeit mit der IPU verwendete das Team das Poplar Low-Level C++ Framework von Graphcore und untersuchte, wie häufig genutzte „Bausteine“ der HPC-Software in Poplar ausgedrückt werden können. Beispiele für entsprechende Fragestellungen sind:
Verfahrensweise zur Aufteilung großer strukturierter Gitter auf mehrere IPUs
Effizienter Austausch gemeinsam genutzter Gitterbereiche („Halos“) zwischen den IPU-Tiles
Nutzung optimierter Primitive von Poplar für parallele Operationen wie Reduktionen und Implementierungen von Faltungen und Matrix-Multiplikation, die von der verwendeten optimierten IPU-Hardware profitieren können
Optimierung kritischer Code-Bereiche unter Verwendung vektorisierter Poplar-Datentypen (z. B. half4)
Nutzung der nativen Unterstützung der IPU für 16-Bit-Gleitkommazahlen mit halber Genauigkeit
Modelle für Speicherbandbreite und Performance
Als Leitlinie für die angestrebten Optimierungen und zur Messung der Leistungsfähigkeit von Applikationen entwickelte das Team zunächst ein so genanntes Roofline Performance Model für die Graphcore Mk1 IPU.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Hierzu wurde zunächst die BabelSTREAM-Benchmark für die IPU umgesetzt, welche die zu erwartende Speicherbandbreite einer Applikation charakterisiert. Das Team fand heraus, dass typische C++ Applikationen (erstellt mit einer Kombination von speziell angepassten C++ Eckpunkten und PopLibs-Bibliotheken von Poplar) eine Speicherbandbreite von 7,3 TB/s für einfache Präzision und von 7,5 Terabyte pro Sekunde (TB/s) für halbe Präzision erreichten.
Noch höhere Werte sind für Applikationen möglich, welche die Assemblerbefehle der IPU direkt nutzen. Diese sehr hohen Bandbreiten liegen in einer Größenordnung, die üblicherweise bei der Modellierung von CPU-Caches statt Speichern erreicht werden und sind dem vollständigen On-Chip-SRAM-Design der IPU zu verdanken.
Auf der Grundlage dieser Benchmarks für die Speicherbandbreite stellte das Team anschließend Roofline-Modelle auf, mit denen nachgewiesen werden kann, ob leistungskritische Bereiche der Applikation von der Speicherbandbreite oder der Rechenleistung abhängig sind. Dies erleichtert den Entwicklern die Auswahl der richtigen Optimierungsmaßnahmen für verschiedene Teile ihrer Applikationen.
Anwendungen mit strukturierten Gittern
Unter Anwendung ihrer HPC-Bausteine für die IPU und der Performance-Modelle realisierte die HPC Group an der Universität Bristol zwei Beispiele für Anwendungen mit strukturierten Gittern, die das „Stencil“-Muster verwenden: ein Gaußsches Weichzeichner-Bildfilter und eine 2D-Lattice-Boltzmann-Simulation für numerische Strömungsmechanik.
Bei der Skalierung dieser Anwendungen unter Verwendung mehrerer IPUs konnte das Team von der Poplar-Unterstützung für den transparenten Einsatz von 2,4,8 oder 16 IPUs in einer „Multi-IPU“-Konfiguration profitieren. Beide Anwendungen zeigten ein gutes „Weak Scaling“-Verhalten, d. h. durch Hinzufügen weiterer IPUs ließen sich größere Aufgabenstellung in nahezu der gleichen Zeit lösen.
Bei der Anwendung mit dem Gaußschen Weichzeichner wurde mit einer einzigen IPU eine Geschwindigkeitsverbesserung um mehr als den Faktor 5,3 gegenüber dem Einsatz von 48 CPU-Cores (Dual-Socket Intel Xeon Platinum 8186 CPU mit OpenCL) erzielt. Ebenso erzielte das Team eine Geschwindigkeitssteigerung um den Faktor 1,5 im Vergleich zu einer NVIDIA V100 GPU und noch bessere Ergebnisse bei Verwendung von Multi-IPU-Konfigurationen.
Für die Lattice-Boltzmann-Simulation wurde mit einer einzigen Graphcore Mk1 IPU eine Geschwindigkeitssteigerung um mehr als da 6,9-Fache im Vergleich zu 48 CPU-Cores erzielt. Diese erste IPU-Implementierung demonstrierte Vorteile gegenüber einer bisher eingesetzten optimierten Implementierung für die NVIDIA V100 GPU, die 0,7-mal so schnell war wie die NVIDIA V100. Nach Ansicht des Forschungsteams besteht auf der Grundlage seiner Roofline-Performance-Modelle ein starkes Potenzial für weitere Optimierungen.
Einsatz in Teilchensimulationen
Nach diesen vielversprechenden ersten Erfolgen mit dem Einsatz der IPU für Problemstellungen mit strukturierten Gittern hat die HPC Group an der Universität Bristol die IPU auch für komplexere HPC-Anwendungen mit unstrukturierten Gittern eingesetzt. Diese werden auch in Simulationen von Verbrennungsvorgängen, Aerodynamik und Elektromechanik verwendet und sind Gegenstand der Forschungsarbeiten im Rahmen der ASiMoV-Mitgliedschaft.
Da unstrukturierte Gitter eine Graph-artige Darstellung der Verbindungen zwischen verschiedenen Knoten eines Netzes verwenden, sind Speicherzugriffe wesentlich komplizierter als bei Anwendungen mit strukturierten Gittern. Solche Anwendungen können potenziell noch stärker von dem IPU-Design mit seiner hohen Bandbreite und seinen niedrigen Latenzzeiten profitieren. Das Team untersuchte außerdem die Möglichkeiten des IPU-Einsatzes in Teilchensimulationen.
Im Rahmen der ASiMoV-Partnerschaft haben Teilchensimulationen eine hohe Bedeutung für das Verständnis, wie effizient ein Motorenkonzept den Kraftstoff bei der Verbrennung nutzen kann. Teilchensimulationen stellen jedoch auch eine wichtigen HPC-Anwendungsfall dar, mit Einsatzmöglichkeiten, die von der Arzneimittelforschung (biomolekulare Simulationen) bis zur Astrophysik (Simulation der Einwirkung von Kräften wie z. B. der Schwerkraft auf Sterne in einer Galaxie) reichen.
Aktuell erforscht das Team Möglichkeiten, häufig verwendete Muster für Teilchensimulationen mit Hilfe des Computational Graph Paradigm von Poplar mit kompilierter Kommunikation zu definieren. Darüber hinaus setzt die HPC Group an der Universität Bristol IPUs in großen Converged KI/HPC-Simulationen ein, bei denen Konzepte des maschinellen Lernens mit traditionellen Simulationstechniken kombiniert werden.
Das Team erforscht die Verwendung von tiefen neuronalen Netzen zur Beschleunigung von linearen Solvern, z. B. zur Vorhersage besserer Interpolationsoperatoren für die Verwendung in der Algebraic Multigrid Method, und hat mit der Untersuchung von „Physics-informed Machine Learning“-Modellen begonnen. Diese verwenden Techniken wie Super-Resolution zur Gewinnung von Resultaten mit hoher Genauigkeit und Auflösung auf der Basis von grob auflösenden Simulationen.
* Thorben Louw ist Senior Research Associate an der Universität Bristol.
Was ist Poplar?
Das Graphcore Poplar SDK ist ein kompletter Software-Stack, der gemeinsam mit der IPU von Grund auf neu entwickelt wurde, um Graphcores Graph-Toolchain in einer benutzerfreundlichen und flexiblen Software-Entwicklungsumgebung zu implementieren. Poplar ist dabei vollständig in Standard-Frameworks für maschinelles Lernen integriert, sodass Entwickler bestehende Modelle einfach portieren und neue Anwendungen in einer vertrauten Umgebung sofort einsetzen können.
Unterhalb dieses Frameworks befindet sich Poplar. Für Entwickler, die volle Kontrolle über die maximale Leistungsfähigkeit der IPU erhalten wollen, ermöglicht Poplar die direkte IPU-Programmierung in Python und C++.
Poplar lässt sich nahtlos in Standard-Frameworks für maschinelle Intelligenz integrieren:
Unterstützung von PyTorch für IPUs mit PyTorch ATEN Backend sowie PyTorch Lightning
Unterstützung von TensorFlow 1 & 2 und vollständige Performance-Integration mit TensorFlow XLA Backend sowie Keras via TensorFlow 2
PopART (Poplar Advanced Runtime) für Training & Inferenz; unterstützt Python/C++-Modellbildung und ONNX-Modelleingabe
Unterstützung von Alibaba Cloud HALO (Heterogeneity-Aware Lowering and Optimization) und Alibaba Cloud ODLA (Open Deep Learning API)
Vollständige Unterstützung für PaddlePaddle in Kürze
Graphcore stellt seine Poplar-Bibliotheken (PopLibs) als Open-Source-Version zur Verfügung und bietet Entwicklern Zugriff auf über 50 optimierte Funktionen für gängige Maschinenlernmodelle und 750 Hochleistungs-Rechenelemente, um neue Ansätze für die maschinelle Intelligenz zu unterstützen. Das Unternehmen stellt auch seine TensorFlow- und PopART-APIs als Open-Source-Lösung bereit, um Entwicklern Einblick in die Integration von Frameworks in IPU-Hardwareplattformen zu geben, was die Modelloptimierung unterstützt.
Jeden Monat besuchen rund 900 Entwickler das Developer Portal von Graphcore. Dieser Hub für Entwicklerressourcen bietet umfassende Informationen, um mit dem Poplar SDK kommende Anwendungen für maschinelle Intelligenz zu erstellen. Zudem stehen Tutorials, Schulungsvideos, Benutzerhandbücher und Dokumentation bereit.