Quantencomputer programmieren, bevor es sie gibt?
Am Karlsruher Institut für Technologie (KIT) entsteht bereits heute Software für Quantencomputer, obwohl funktionsfähige Großsysteme erst in ferner Zukunft erwartet werden. Ziel ist es, Anwendungen und Werkzeuge bereitzuhalten, sobald die Hardware einsatzfähig wird.
Die Forschenden des KIT nutzen HoreKa, den Hochleistungsrechner Karlsruhe, um Quantencomputer zu simulieren und ihre Programme zu testen.
Foto: picture alliance/dpa | Uli Deck
Die Idee, Programme für Maschinen zu entwickeln, die noch nicht existieren, erscheint auf den ersten Blick paradox. Doch auf den zweiten Blick ist diese Strategie gar nicht so abwegig. Quantencomputer gelten seit Jahren als Hoffnungsträger für hochkomplexe Aufgaben, die mit klassischer Rechentechnik kaum lösbar sind.
Materialsimulationen, die Optimierung globaler Lieferketten oder auch Fragen der Kryptografie werden oft als mögliche Anwendungsfelder genannt. Gegenwärtige Systeme sind jedoch nicht mehr als empfindliche Laborexperimente mit einer Rechenleistung, die kaum über die eines Taschenrechners hinausgeht. Sie sind störanfällig, benötigen aufwendige Kühlung und liefern häufig unzuverlässige Ergebnisse.
Inhaltsverzeichnis
- Frühzeitige Softwareentwicklung für Quantencomputer: Warum man aus Fehlern gelernt hat
- Vergleich mit der Frühzeit des klassischen Computers
- Von Grundlagen-Algorithmen zu lauffähigen Anwendungen
- Entwicklung eines Quantum Software Stacks
- Software für Quantencomputer: Interdisziplinäre Forschung und Nachwuchsförderung
- Neue Möglichkeiten für Logistik, Materialwissenschaften oder Kryptografie
Frühzeitige Softwareentwicklung für Quantencomputer: Warum man aus Fehlern gelernt hat
Trotzdem ist es entscheidend, die Softwareseite frühzeitig mitzudenken. Historische Erfahrungen liefern dafür eine klare Begründung: In den 1960er-Jahren entstand in der klassischen Informatik die sogenannte Softwarekrise. Damals wurden leistungsfähige Computer entwickelt, aber es fehlten Programme, um diese Maschinen sinnvoll einzusetzen. Projekte verzögerten sich, Fehler häuften sich und der Fortschritt geriet ins Stocken. „Dieses Mal wollen wir vorbereitet sein“, betont Prof. Dr.-Ing. Ina Schaefer vom KIT.
Derzeit existieren zwar spezielle Programmiersprachen wie Qiskit oder Q#, doch diese sind sehr hardwarenah. Wer damit arbeitet, benötigt ein tiefes Verständnis der zugrunde liegenden Quantenmechanik. Komfortfunktionen, die man aus modernen Programmiersprachen kennt, fehlen weitgehend.
Vergleich mit der Frühzeit des klassischen Computers
Dazu gehören grafische Benutzeroberflächen, automatisierte Fehlerkorrektur oder umfangreiche Bibliotheken. Informatiker Domenik Eichhorn zieht daher einen Vergleich mit der Frühzeit der klassischen Computer: „Damals mussten Entwickler mit Assembler oder Lochkarten arbeiten, um überhaupt Programme schreiben zu können. Heute ist es ähnlich, nur dass die zugrunde liegende Technologie noch wesentlich komplexer ist.“
Das Funktionsprinzip von Quantencomputern unterscheidet sich grundlegend von klassischen Rechnern. Statt Bits nutzen sie Qubits, die aufgrund quantenmechanischer Effekte wie Superposition mehrere Zustände gleichzeitig annehmen können. Durch Verschränkung lassen sich zudem komplexe Zusammenhänge abbilden. Daraus ergibt sich theoretisch eine enorme Rechenleistung. Die Herausforderung liegt darin, Algorithmen zu entwickeln, die mit Wahrscheinlichkeiten arbeiten und dennoch verlässliche Ergebnisse liefern.
Von Grundlagen-Algorithmen zu lauffähigen Anwendungen
Um diese Herausforderungen systematisch anzugehen, startet am KIT das Schwerpunktprogramm „Quantum Software, Algorithms and Systems“ (SPP 2514), gefördert von der Deutschen Forschungsgemeinschaft. Parallel dazu läuft das Projekt QuSol, das vom Bundesministerium für Forschung, Technologie und Raumfahrt unterstützt wird.
Beide Initiativen bündeln Kompetenzen aus Informatik, Physik, Mathematik und Ingenieurwissenschaften und sollen eine Grundlage schaffen, damit künftige Quantenhardware sofort nutzbar wird. Koordiniert wird das Programm von Ina Schaefer; im Programmbeirat sind führende Wissenschaftlerinnen und Wissenschaftler aus Berlin, Regensburg, Dortmund und München vertreten.
Entwicklung eines Quantum Software Stacks
Im Zentrum der Arbeiten steht die Entwicklung eines umfassenden Quantum Software Stacks. Innerhalb dieses Rahmens sind mehrere Forschungsfelder definiert, die sich gegenseitig ergänzen. Dazu zählen algorithmische Grundlagen und ihre Verankerung in der Quantenphysik, die Entwicklung von Programmiersprachen und Entwicklungsumgebungen.
Auch Methoden zur Übersetzung und Ausführung von Quantenprogrammen auf spezifischer Hardware sowie Konzepte für das Co-Design von Hard- und Software gehören zu den Aufgabeb. Hinzu kommen Benchmarking und Simulation, die eine systematische Validierung und den Vergleich der unterschiedlichen Ansätze ermöglichen.
Software für Quantencomputer: Interdisziplinäre Forschung und Nachwuchsförderung
Die Vorstellung ist dabei nicht, eine einheitliche Quanten-Softwareplattform zu schaffen. Vielmehr sollen unterschiedliche methodische Bausteine entstehen, die sich in vertikalen Prototypen kombinieren lassen und auf verschiedenen Hardwarearchitekturen erprobt werden können. Damit soll ein flexibles, erweiterbares Fundament für künftige Quantenanwendungen entstehen.
Entscheidend ist der interdisziplinäre Ansatz: Nur wenn Physik, Informatik, Mathematik und Ingenieurwissenschaften eng zusammenarbeiten, lassen sich die konzeptionellen Hürden überwinden. Somit könnten erste Anwendungen sofort einsatzbereit sein könnten, sobald Quantencomputer die notwendige Stabilität und Skalierbarkeit erreichen.
Neue Möglichkeiten für Logistik, Materialwissenschaften oder Kryptografie
Branchen wie Logistik, Materialwissenschaften oder Kryptografie hätten dadurch einen direkten Zugang zu den neuen Möglichkeiten, anstatt weitere Jahre mit der Softwareentwicklung zu verlieren. „Wir programmieren für morgen – mit den Werkzeugen von heute“, fasst Eichhorn die Motivation zusammen.
Einen besonderen Stellenwert hat im Rahmen dieses Projekts auch die Nachwuchsförderung. Geplant sind ein Young Investigators Network sowie eine Quantum Software Summer School, die Promovierende und Postdocs gezielt unterstützt. Neben wissenschaftlichem Austausch stehen dabei auch Karriereförderung und Mentoring im Vordergrund. Regelmäßige Workshops und Seminare sollen die Zusammenarbeit vertiefen und eine lebendige Forschungscommunity entstehen lassen.
Ein Beitrag von: