IBM öffnet seinen Quantencomputer-Stack für Dritte

IBM öffnet seinen Quantencomputer-Stack für Dritte

Vergrößern / Der kleine Quantenprozessor (Mitte), umgeben von Kabeln, die Mikrowellensignale zu ihm übertragen, und die Kühlhardware.

Wie wir bereits früher in diesem Jahr beschrieben haben, erfordert der Betrieb eines Quantencomputers angesichts der Menge an Messungen und Steuervorgängen, die ausgeführt und interpretiert werden müssen, eine erhebliche Investition in klassische Rechenressourcen. Das bedeutet, dass der Betrieb eines Quantencomputers auch einen Software-Stack erfordert, um den Informationsfluss von der Quantenseite aus zu steuern und zu interpretieren.

Aber Software greift auch ein, lange bevor etwas ausgeführt wird. Während es möglich ist, Algorithmen auf Quantenhardware auszuführen, indem der gesamte Satz an Befehlen definiert wird, die an die Hardware gesendet werden, möchten sich die meisten Benutzer auf die Algorithmenentwicklung konzentrieren und nicht auf die Details der Steuerung eines einzelnen Quantenhardwareteils. „Wenn sich alle an die Arbeit machen und wissen müssen, was das Rauschen ist, Performance-Management-Tools (nutzen) müssen, müssen sie wissen, wie man eine Quantenschaltung durch Hardware kompiliert, man muss in zu viel Experte werden, als dass man dazu in der Lage wäre.“ um die Algorithmuserkennung durchzuführen”, sagte Jay Gambetta von IBM. Ein Teil des Software-Stacks, den Unternehmen zur Steuerung ihrer Quantenhardware entwickeln, umfasst daher Software, die abstrakte Darstellungen von Quantenalgorithmen in die zu ihrer Ausführung erforderlichen Befehlsfolgen umwandelt.

IBM-Version dieser Software heißt Qiskit (obwohl es Open Source war und seitdem von anderen Unternehmen übernommen wurde). Kürzlich hat IBM einige Ankündigungen zu Qiskit gemacht, die es sowohl im Vergleich zu anderen Software-Stacks vergleichen als auch für Module von Drittanbietern öffnen. Wir werfen einen Blick auf die Funktionsweise von Software-Stacks, bevor wir uns mit den Details der Neuerungen befassen.

Was macht der Software-Stack?

Es ist verlockend, IBMs Qiskit als das Äquivalent eines Compilers zu betrachten. Und auf der grundlegendsten Ebene ist das eine vernünftige Analogie, da von Menschen definierte Algorithmen in Dinge umgewandelt werden, die von Hardware ausgeführt werden können. Doch im Detail gibt es erhebliche Unterschiede. Ein Compiler für einen klassischen Computer erzeugt Code, den der Prozessor des Computers in interne Anweisungen umwandelt, die zum Konfigurieren der Prozessorhardware und zum Ausführen von Vorgängen verwendet werden.

Selbst wenn Programmierer die sogenannte „Maschinensprache“ verwenden, steuern sie die Hardware nicht direkt; Programmierer haben keine Kontrolle darüber, wo auf der Hardware Dinge ausgeführt werden (d. h. welcher Prozessor oder welche Ausführungseinheit innerhalb dieses Prozessors) oder sogar die Reihenfolge, in der Anweisungen ausgeführt werden.

Bei Quantencomputern sieht es zumindest derzeit ganz anders aus. Zunächst einmal wird alles, was auf dem Prozessor geschieht, von externer Hardware gesteuert, die typischerweise eine Reihe von Laser- oder Mikrowellenimpulsen erzeugt. Software wie Qiskit von IBM oder Q# von Microsoft wandelt den Code, den sie erhalten, in Befehle um, die an Hardware außerhalb des Prozessors gesendet werden.

Diese „Compiler“ müssen auch genau verfolgen, auf welchem ​​Teil des Prozessors etwas passiert. Quantencomputer agieren, indem sie bestimmte Operationen (sogenannte Gates) an einzelnen Qubits oder Paaren von Qubits ausführen; Dazu muss man genau wissen, welches Qubit man anspricht. Und bei Dingen wie supraleitenden Qubits, bei denen es von Gerät zu Gerät Unterschiede geben kann, kann die letztendlich verwendete Hardware-Qubits einen erheblichen Einfluss auf das Ergebnis der Berechnungen haben.

Daher bieten die meisten Dinge wie Qiskit die Möglichkeit, die Hardware direkt anzusprechen. Wenn sich ein Programmierer jedoch dagegen entscheidet, kann die Software generische Anweisungen in eine präzise Reihe von Aktionen umwandeln, die den codierten Algorithmus ausführen. Dazu muss der Software-Stack Entscheidungen darüber treffen, welche physikalischen Qubits verwendet werden sollen, welche Gatter und Messungen ausgeführt werden sollen und in welcher Reihenfolge sie ausgeführt werden sollen.

Die Rolle des Software-Stacks dürfte jedoch in den nächsten Jahren erheblich zunehmen. Eine Reihe von Unternehmen experimentieren mit Hardware-Qubit-Designs, die das Auftreten eines häufigen Fehlertyps melden können, und es wurden Fortschritte bei der Entwicklung logischer Qubits erzielt, die eine Fehlerkorrektur ermöglichen. Letztendlich wird jedes Unternehmen, das Zugang zu Quantencomputern bereitstellt, seinen Software-Stack so modifizieren wollen, dass diese Funktionen ohne Aufwand seitens der Entwickler der Algorithmen möglich sind.

Leave a Comment

Your email address will not be published. Required fields are marked *