Einführung
Willkommen an der Grenze des Machbaren
Im Laufe der Geschichte ist unser wissenschaftliches Verständnis der Welt immer dann rasant gewachsen, wenn neue Werkzeuge verfügbar wurden – Werkzeuge, die es uns ermöglichten, neue Fragen zu stellen, größere Experimente durchzuführen und neue Forschungsgebiete zu erschließen. Zu diesen Werkzeugen gehören das Teleskop, das Mikroskop und der Large Hadron Collider. Jedes davon eröffnete Zugang zu neuen Arten wissenschaftlicher Entdeckungen. In den 1960er Jahren erlebten wir auch die Entwicklung des Hochleistungsrechnens (HPC), das zu einem unverzichtbaren Werkzeug für die Lösung komplexer Rechenaufgaben wurde – darunter viele wichtige wissenschaftliche Herausforderungen.
Jetzt haben wir ein weiteres wichtiges Werkzeug für den wissenschaftlichen Fortschritt: Quantencomputer. Obwohl es sich noch um eine aufkommende Technologie handelt, haben Quantencomputer das Potenzial, die Art der Rechenprobleme, die wir effizient lösen können, grundlegend zu verändern. Dieser Kurs befasst sich damit, wie diese Technologien im Zusammenspiel die Grenzen des Rechenbaren erweitern können.
Unsere Mission ist klar, aber ehrgeizig: dir das konzeptuelle und praktische Wissen zu vermitteln, das du benötigst, um diese Technologien für einige der schwierigsten Probleme der Welt einzusetzen.
Dieses Video beschreibt die Ziele dieses Kurses und die Motivation hinter der Kombination von HPC und Quantencomputing.
HPC
Was genau ist Hochleistungsrechnen? Hochleistungsrechnen ist zur Grundlage für die Lösung moderner Rechenprobleme geworden. Wir leben nicht mehr in einer Zeit, in der komplexe Probleme mit einfachen Hilfsmitteln wie einem Abakus oder Stift und Papier gelöst werden können; stattdessen arbeiten wir mit Fragen und Datensätzen, die enorme Rechenleistung erfordern.
Das Gebiet des Hochleistungsrechnens lässt sich auf die Entwicklung der ersten Supercomputer in den 1960er Jahren zurückführen. Diese Maschinen wurden gezielt entwickelt, um groß angelegte wissenschaftliche und ingenieurwissenschaftliche Probleme schneller zu lösen als herkömmliche Computer.
Einer der ersten bekannten Supercomputer war der CDC 6600 (1964), gebaut von Seymour Cray, der oft als Vater des Supercomputings bezeichnet wird. Der CDC 6600 war der schnellste Computer seiner Zeit und nutzte eine innovative Architektur mit parallelen Funktionseinheiten und Pipelining – Konzepte, die im HPC bis heute verwendet werden.
Cray trieb das Feld mit dem Cray-1 (1976) weiter voran, der die Vektorverarbeitung einführte – eine Technik, die die Geschwindigkeit von Operationen auf großen Datenarrays erheblich steigerte und ihn besonders für wissenschaftliches Rechnen geeignet machte.
Als die Geschwindigkeit einzelner Prozessoren zu stagnieren begann, entwickelte sich HPC in Richtung Parallelrechnen – also dem Einsatz vieler Prozessoren, die gemeinsam an verschiedenen Teilen eines Problems arbeiten. In den 1980er und 1990er Jahren wurden Parallelarchitekturen im HPC verbreitet. Zu Beginn der 2000er Jahre verlagerte sich HPC hin zu Clustern aus handelsüblicher Hardware – gewöhnliche Server, die über Hochgeschwindigkeitsnetzwerke verbunden sind. Diese Verschiebung machte Supercomputing erschwinglicher und ermöglichte einen breiteren Zugang zu HPC.
Während dieser gesamten Entwicklung war IBM® an der Spitze der HPC-Forschung und -Implementierung. Besonders hervorzuheben sind die IBM Blue Gene Supercomputer, die zu den einflussreichsten Supercomputerfamilien der 2000er und frühen 2010er Jahre gehörten. Dies war eine Ära enormen Wachstums bei massiv parallelen Systemen, wovon Blue Gene/Q ein Beispiel war – eine Instanz (Sequoia) hatte 100.000 Knoten. Der von IBM gebaute Oak Ridge Summit war 2018 die erste HPC-Ressource, die ExaOPS (1,88 gemischte Präzision) erreichte.
Heute befinden wir uns im Exascale-Zeitalter, in dem Supercomputer Operationen pro Sekunde (Exaflops) ausführen können. Der erste Supercomputer, der diesen Meilenstein erreichte, war Frontier, im Oak Ridge National Laboratory.
Warum brauchen wir also solch leistungsstarke Rechenressourcen? Es gibt Probleme, die für das menschliche Wohlbefinden entscheidend sind und solche extremen Ressourcen erfordern, um sie zu modellieren oder zu lösen. Beispiele sind Klimamodelle, die Untersuchung der Struktur und Bewegung des Erdmantels sowie Strömungssimulationen.
Viele Probleme dieser Art wurden von IBM-Forscherinnen und -Forschern sowie Kollaborierenden angegangen, die auf IBM-Systemen arbeiten. Diese anhaltende Führungsposition wurde weithin anerkannt. So haben IBM-Forschende den Gordon Bell Prize beispielsweise sechsmal gewonnen.[1]
HPC ist ein sehr aktives Gebiet, in dem Grenzen regelmäßig verschoben werden. Einen Überblick über moderne Fähigkeiten bietet diese Liste der Top-500-Supercomputer.
Quantencomputing
Quantencomputing ist ein neues Rechenparadigma, das nicht einfach der schrittweisen Entwicklung klassischer Computer folgt. Es zielt darauf ab, die Quanteneigenschaften von Superposition, Verschränkung und Quanteninterferenz zu nutzen, um Probleme zu lösen, die für klassische Computer allein unlösbar wären. Wir werden in diesem Kurs nicht auf die Besonderheiten des Quantencomputings eingehen – dafür steht Fundamentals of quantum information zur Verfügung – sondern vielmehr diskutieren, wie die Kombination dieser beiden Infrastrukturen zu Durchbrüchen in der angewandten Wissenschaft führen könnte.
Ein hybrider Ansatz
Am wichtigsten ist zu betonen, dass diese beiden Rechenparadigmen keine Konkurrenten sind. Wir befinden uns in einer Ära, in der optimierte Workflows verlangen, dass sich die beiden Paradigmen ergänzen und Aufgaben dort erledigt werden, wo sie am effektivsten bewältigt werden können. Quantencomputer werden klassische Systeme nicht ersetzen; vielmehr wird die Zukunft der Computerwissenschaft zunehmend von hybriden Workflows abhängen, bei denen HPC leistungsstarke klassische Verarbeitung liefert und Quantencomputing einzigartige Fähigkeiten beisteuert. Als Praktizierende, Forschende oder Technologiefachleute wirst du durch das Verständnis der Kombination dieser Werkzeuge zu einer führenden Persönlichkeit in der nächsten Ära des wissenschaftlichen und technologischen Fortschritts.
Wir werden untersuchen, wie Quantencomputing und HPC positioniert sind, um Durchbrüche in einer Vielzahl von Branchen zu ermöglichen, darunter:
-
Chemie: Beschleunigung der Identifizierung neuer Medikamente und Materialien.
-
Energie: Entwicklung verbesserter Katalysatoren, Batterien und sauberer Energielösungen.
-
Finanzen: Risikomodellierung, Portfolio-Optimierung und Entwicklung neuer Finanzinstrumente.
-
KI & maschinelles Lernen: Verbesserung von Modelltraining, Optimierung und Datenanalyse.
Warum wir über klassisches Rechnen hinausgehen
Menschen haben in den oben genannten Anwendungsbereichen mit HPC beachtliche Erfolge erzielt. Doch selbst die schnellsten Supercomputer der Welt stoßen an Grenzen, wenn Probleme faktoriell oder exponentiell mit der Problemgröße skalieren. Zum Beispiel führt die Auflistung jeder möglichen Anordnung von 50 Teilchen in einem komplexen Molekül zu Konfigurationen, die mindestens faktoriell wachsen und mehr Speicher erfordern, als alle Rechenzentren der Erde zusammen bereitstellen könnten.
Ein weiteres Beispiel ist die Planung einer Lieferroute für 10.000 Städte: Die Anzahl möglicher Routen wird so groß, dass die Berechnung – selbst wenn jeder jemals gebaute Computer eine Route pro Mikrosekunde testen würde – um Größenordnungen länger dauern würde als das aktuelle Alter unserer Sonne. Diese Zahlen sind nicht nur groß; sie wachsen exponentiell, was bedeutet, dass jedes zusätzliche Teilchen oder jede zusätzliche Stadt die Rechenlast weit über eine einfache Skalierung hinaus vervielfacht.
Wir k önnen weiterhin GPUs hinzufügen, aber die Manipulation solch riesiger Datenmengen verbraucht bereits Megawatt an Energie und erfordert Anlagen von der Größe von Lagerhäusern. Ab einem gewissen Punkt kann klassische Hardware nicht mehr auf praktikable oder erschwingliche Weise weiter skaliert werden. Aus diesem Grund wenden sich Forschende Quantenprozessoren zu, die Informationen in Superpositionen speichern und manchmal diese exponentiellen Wachstumsprobleme direkt angehen können – und spezifische Fälle lösen, die klassische Maschinen in keinem vernünftigen Zeitrahmen bewältigen können.
HPC erreicht schließlich fundamentale Grenzen, die durch Kombinatorik und Thermodynamik vorgegeben sind. Quantencomputing beseitigt diese Grenzen nicht, kann sie aber in sehr spezifischen Szenarien manchmal umgehen.
Warum nicht nur Quantencomputing?
Wenn Quantencomputing bestimmte Einschränkungen des klassischen Rechnens umgehen kann, warum verlassen wir uns dann nicht vollständig auf Quantencomputer? Der erste und offensichtlichste Grund ist, dass Quantencomputer nach wie vor klassische Maschinen benötigen, um zu funktionieren. Aufgaben wie das Kompilieren und Einspeisen von Circuits in den Quantenprozessor, das Speichern von Messergebnissen und grundlegende Nachverarbeitung werden alle von klassischen Computersystemen durchgeführt.
Warum brauchen wir dann zusätzlich noch Hochleistungsrechnen? Dafür gibt es mehrere Gründe. Viele aktuelle und zukünftige Anwendungen des Quantencomputings adressieren Probleme mit extrem großen Suchräumen. Quantenalgorithmen können die Größe dieses Raums oft erheblich reduzieren, aber in der Praxis kann das verbleibende Problem immer noch groß genug sein, um von HPC-Ressourcen zu profitieren. Zudem gibt es Algorithmen, die die Stärken von HPC und Quantencomputing ausbalancieren und genug Arbeit an HPC auslagern, um den Gesamtalgorithmus robuster gegenüber den Auswirkungen von Quantenrauschen zu machen.
Ein konkretes Beispiel ist der Sample-based Quantum Diagonalization (SQD)-Algorithmus. Dieser Algorithmus, der in Lektion 4 näher untersucht wird, zeigt, wie HPC und Quantencomputing sich in der Praxis ergänzen können. Weitere Hintergrundinformationen findest du im Kurs Quantum Diagonalization Algorithms auf IBM Quantum Learning.
Empfohlene Vorbereitung
Dieser Kurs richtet sich an Fachleute und Studierende, die eng mit HPC-Infrastrukturen und/oder Quantencomputing arbeiten – oder dies in Zukunft planen. Angesichts des rasanten Fortschritts in der Quantentechnologie gehen wir davon aus, dass in naher Zukunft Quantenprozessoren zusammen mit traditionellen HPC-Ressourcen eingesetzt werden, um genauere Ergebnisse zu erzielen und neue Ansätze zur Problemlösung zu ermöglichen. Dieser Kurs richtet sich an Lernende, die verstehen wollen, wie man solche hybriden Workflows aufbaut und ausführt.
Da die Teilnehmenden unterschiedliche Hintergründe mitbringen können, rechnen wir mit zwei Haupttypen von Lernenden: solchen mit HPC-Erfahrung, aber ohne Kenntnisse im Quantencomputing, und solchen mit Quantencomputing-Kenntnissen, aber ohne HPC-Erfahrung. Um allen das Beste aus diesem Kurs herauszuholen, geben wir im Folgenden Vorbereitungsempfehlungen für beide Gruppen.
Für Neueinsteiger im Bereich HPC
Dieser Kurs setzt Vertrautheit mit grundlegenden HPC-Konzepten voraus, wie z. B. verteilter Speicherprogrammierung, Message Passing, parallelen Programmiermodellen und Ressourcenverwaltung. Wir werden auch Werkzeuge wie den Slurm-Workload-Manager einsetzen. Viele dieser Konzepte werden bei Bedarf kurz eingeführt, aber etwas Vorwissen macht das Material zugänglicher. Hilfreiche Ressourcen sind:
- HPC Wiki: Eine Seite mit Definitionen und Ansätzen im Hochleistungsrechnen.
- Slurm-Wikipedia-Seite: Bietet einen kurzen Hintergrund und Hinweise zur weiten Verbreitung.
- Slurm-Schnellstartseite: Etwas Hintergrund, Hinweise zum Einstieg und eine Liste grundlegender Slurm-Befehle.
- MPI-Tutorial: Ein grundlegendes Hello-World-Programm mit MPI.
Weitere Ressourcen findest du auch in diesem GitHub-Repository.
Für Neueinsteiger im Bereich Quantencomputing
Dieser Kurs verwendet grundlegende Werkzeuge und Konzepte aus dem Quantencomputing mit minimaler einleitender Wiederholung. Wir empfehlen, dass du zumindest über grundlegende Kenntnisse in Qiskit, Vertrautheit mit Quantum Gates und Circuits sowie etwas Erfahrung mit sampling-basierten Algorithmen verfügst. Die unten aufgeführten Ressourcen sollten eine hilfreiche Vorbereitung bieten.
- IBM Quantum® Composer-Leitfaden: Eine Einführung in Composer, ein grafisches Quantenprogrammierwerkzeug, mit dem du Operationen per Drag-and-Drop platzieren kannst, um Quantum Circuits zu erstellen und auf Quantenhardware auszuführen.
- Einführung in Qiskit: Eine Sammlung von Leitfäden, die dir bei der Installation und Konfiguration von Qiskit helfen.
- Hello World: Ein kurzes Tutorial zu Qiskit, in dem du dein erstes Quantenprogramm einrichtest und ausführst.
- Quantum diagonalization algorithms: Ein Kurs, der verschiedene Typen von Quantenalgorithmen abdeckt, einschließlich SQD, der in diesem Kurs verwendet wird.
Weitere Ressourcen findest du auch in diesem GitHub-Repository.
Lernende aller Hintergründe könnten diesen Leitfaden nützlich finden; er behandelt das SPANK-Plugin für das Quantenressourcenmanagement und erläutert Slurm.
Es gibt einige Merkmale des Quantencomputings, die es verfahrenstechnisch von klassischen Rechenressourcen unterscheiden und für diesen Kurs relevant sind. Zum Beispiel gibt es kein gutes Quantenäquivalent zum RAM. Information wird in den Zuständen der Qubits selbst gespeichert und verarbeitet. Obwohl Messungen es erlauben, einige Eigenschaften der Qubits klassisch aufzuzeichnen, zerstören solche Messungen einen Großteil der Reichhaltigkeit des Quantenzustands, einschließlich Superposition und Verschränkung. Außerdem befinden sich Quantenrechenressourcen derzeit nicht auf demselben Knoten wie andere HPC-Ressourcen, und Nutzende von Quantenressourcen werden oft nicht denselben Grad an Scheduling-Kontrolle haben wie über klassische HPC-Ressourcen. Diese Realitäten werden in den entsprechenden Lektionen nochmals aufgegriffen. Die wichtigste Erkenntnis hier ist: Quantencomputer werden die Welt verändern und müssen mit HPC integriert werden, aber sie sind nicht „einfach eine weitere" HPC-Ressource, die genauso gesteuert und genutzt werden kann wie CPUs, GPUs usw. Quantencomputer verändern die Art und Weise, wie wir viele Rechenprobleme angehen können.
Über diesen Kurs
Am Ende dieses Kurses wirst du nicht nur technische Begriffe wiederholen können – du wirst verstehen, wie man einen modernen hybriden Workflow verwaltet, der bestimmte Teilaufgaben einem Quantenprozessor zuweist, während CPUs und GPUs die restliche Arbeit übernehmen. Du wirst lernen, wie man Skripte für Jobs schreibt, die reibungslos zwischen klassischen Knoten und QPUs wechseln, Ergebnisse präzise interpretiert und erkennt, wo Quantenbeschleunigung Berechnungen wirklich verbessern kann (und wo nicht). Ebenso wichtig ist, dass du eine Wachstumsmentalität pflegst: In einem neuen und sich schnell entwickelnden Gebiet lernt niemand alles auf einmal, und echter Fortschritt entsteht durch Iterieren, Experimentieren und Fragen stellen.
Dieser Kurs gliedert sich in 5 Kapitel, die folgende Themen behandeln:
Kursübersicht
- Lektion 1 – Diese Lektion vermittelte Hintergrund und Motivation
- Lektion 2 – Rechenressourcen und deren Verwaltung
- Lektion 3 – Programmiermodelle für heterogene Rechenumgebungen
- Lektion 4 – Quantenalgorithmen für hybride Workflows, speziell SQD
- Lektion 5 – Ausblick und künftige Richtung
Betrachte diesen Kurs als deinen Startpunkt – den Ort, an dem du das mentale Werkzeugset und das Selbstvertrauen aufbaust, um die Quanten-Klassik-Grenze noch lange nach Abschluss der letzten Lektion zu erkunden.