DE102019105154A1 - Vorrichtung und Verfahren für ein feldprogrammierbares Quanten-Array - Google Patents

Vorrichtung und Verfahren für ein feldprogrammierbares Quanten-Array Download PDF

Info

Publication number
DE102019105154A1
DE102019105154A1 DE102019105154.1A DE102019105154A DE102019105154A1 DE 102019105154 A1 DE102019105154 A1 DE 102019105154A1 DE 102019105154 A DE102019105154 A DE 102019105154A DE 102019105154 A1 DE102019105154 A1 DE 102019105154A1
Authority
DE
Germany
Prior art keywords
quantum
qbit
grid
qbits
runtime code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019105154.1A
Other languages
English (en)
Inventor
James Clarke
Sonika Johri
Adam Holmes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102019105154A1 publication Critical patent/DE102019105154A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computational Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Superconductor Devices And Manufacturing Methods Thereof (AREA)
  • Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
  • Logic Circuits (AREA)

Abstract

Es werden eine Vorrichtung und ein Verfahren für ein feldprogrammierbares Quanten-Array beschrieben. Zum Beispiel umfasst ein Ausführungsbeispiel einer Vorrichtung: ein Quantenbit(Qbit)-Gitter, das eine Mehrzahl von Qbit-Positionen umfasst; eine Quanten-Steuerung zum Ausführen von Quanten-Laufzeit-Code; einen dynamischen Scheduler zum Analysieren des Quanten-Laufzeit-Codes, um Quanten-Rechenmuster innerhalb des Quanten-Laufzeit-Codes zu detektieren; eine adaptive Maschinenkonfigurations-Steuerung zum dynamischen Konfigurieren des Qbit-Gitters basierend auf den detektierten Quanten-Rechenmustern, wobei das Qbit-Gitter dynamisch ausgebildet wird, wobei einige Positionen durch Qbits belegt werden und andere Positionen nicht durch Qbits belegt werden; und den dynamischen Scheduler zum Modifizieren von zumindest einem Abschnitt des Quanten-Laufzeit-Codes basierend auf der Rekonfiguration des Qbit-Gitters.

Description

  • HINTERGRUND
  • Gebiet der Erfindung
  • Die Ausführungsbeispiele der Erfindung betreffen allgemein das Gebiet der Quanten-Datenverarbeitung. Genauer betreffen diese Ausführungsbeispiele eine Vorrichtung und ein Verfahren für ein feldprogrammierbares Quanten-Array.
  • BESCHREIBUNG DER VERWANDTEN TECHNIK
  • Quanten-Datenverarbeitung bezeichnet das Forschungsgebiet, das Rechensysteme betrifft, die quantenmechanische Phänomene nutzen, um Daten zu bearbeiten. Diese quantenmechanischen Phänomene, wie etwa Superposition (bei der eine Quantenvariable gleichzeitig in mehreren unterschiedlichen Zuständen vorliegen kann) und Verschränkung (bei der mehrere Quantenvariablen verwandte Zustände unabhängig von ihrem gegenseitigen räumlichen und zeitlichen Abstand haben), haben in der Welt der klassischen Datenverarbeitung keine Entsprechungen und können daher nicht mit klassischen Rechenvorrichtungen implementiert werden.
  • Figurenliste
  • Ein besseres Verständnis der vorliegenden Erfindung kann aus der nachfolgenden detaillierten Beschreibung in Verbindung mit den nachfolgenden Zeichnungen erhalten werden, in denen:
    • 1A-1F verschiedene Ansichten eines Beispiels für eine Quantenpunkt-Vorrichtung gemäß einem Ausführungsbeispiel darstellen;
    • 2 ein Ausführungsbeispiel einer Quanten-Steuerung zum Analysieren einer Quanten-Laufzeit und zum Einstellen eines Quantenprozessors als Reaktion darauf darstellt;
    • 3 ein Beispiel für ein Qbit-Gitter mit voller Belegung darstellt;
    • 4 ein weiteres Beispiel eines Qbit-Gitters mit einer Mehrzahl von freien Positionen darstellt, die keine Qbits enthalten; und
    • 5 ein Verfahren gemäß einem Ausführungsbeispiel der Erfindung darstellt.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung sind zum Zwecke der Erläuterung zahlreiche spezifische Details dargelegt, um ein tiefreichendes Verstehen für die Ausführungsbeispiele der nachfolgend beschriebenen Erfindung zu ermöglichen. Für Fachleute auf dem Gebiet ist es jedoch offensichtlich, dass die Ausführungsbeispiele der Erfindung ohne diese spezifischen Details durchgeführt werden können. In anderen Fällen sind bekannte Strukturen und Vorrichtungen in Blockdiagrammform gezeigt, um eine Verunklarung der Prinzipien, die den Ausführungsbeispielen der Erfindung zugrunde liegen, zu vermeiden.
  • Vorbemerkung
  • Ein Quantencomputer nutzt quantenmechanische Phänomene, wie etwa Superposition und Verschränkung, um Datenverarbeitungen durchzuführen. Im Gegensatz zu digitalen Computern, die Daten in einem von zwei eindeutigen Zuständen (0 oder 1) speichern, nutzt die Quanten-Datenverarbeitung Quantenbits (Qbits), bei denen sich Zustände überlagern bzw. superponieren können. Qbits können anhand von physikalisch unterscheidbaren Quantenzuständen elementarer Teilchen, wie etwa Elektronen und Photonen, implementiert werden. Zum Beispiel kann die Polarisation eines Photons genutzt werden, wo die beiden Zustände eine vertikale Polarisation und eine horizontale Polarisation sein können. Ebenso kann der Spin eines Elektrons unterscheidbare Zustände aufweisen, wie etwa einen „Aufwärts-Spin“ und einen „Abwärts-Spin“.
  • Qbit-Zustände werden typischerweise durch die Klammerschreibweisen |0〉 und |1〉 dargestellt. In einem herkömmlichen Computersystem weist ein Bit ausschließlich entweder den einen Zustand oder den anderen Zustand auf, d.h. eine ,0' oder eine ,1'. Jedoch können Qbits in quantenmechanischen Systemen gleichzeitig eine Superposition beider Zustände aufweisen, eine Eigenschaft, die für die Quanten-Datenverarbeitung einzigartig und fundamental ist.
  • Quanten-Datenverarbeitungssysteme führen Algorithmen aus, die quantenlogische Operationen enthalten, die an Qbits durchgeführt werden. Die Abfolge der Operationen wird statisch zu einem Schema kompiliert, und die Qbits werden mittels eines Indexschemas adressiert. Dieser Algorithmus wird dann ausreichend oft ausgeführt, bis das Konfidenzintervall der errechneten Antwort oberhalb eines Schwellenwerts (z.B. ~95+ %) liegt. Wenn der Schwellenwert erreicht wird, bedeutet dies, dass das gewünschte Ergebnis des Algorithmus erreicht wurde.
  • Qbits werden anhand einer Reihe unterschiedlicher Technologien, die in der Lage sind, Quantenzustände zu manipulieren und zu lesen, implementiert. Dazu gehören unter anderem Quantenpunkt-Vorrichtungen (Spin-basiert und Raum-basiert), Elektronenfallenvorrichtungen, superleitende Quanten-Computer, optische Gitter, Kernmagnetresonanz-Computer, Kane-Festkörper-NMR-Quantenvorrichtungen, Quanten-Computer auf Basis von Elektronen auf Helium, hohlraum-quantenelektrodynamische (CQED)-Vorrichtungen, Molekularmagnet-Computer und auf Fulleren basierende ESR-Quanten-Computer, um nur einige zu nennen. Auch wenn nachstehend eine Quantenpunkt-Vorrichtung in Bezug auf bestimmte Ausführungsbeispiele der Erfindung beschrieben wird, können die Prinzipien, die der Erfindung zugrunde liegen, in Kombination mit jeder Art von Quantenprozessor angewendet werden, unter anderem mit den oben aufgeführten. Die jeweilige physische Qbit-Implementierung ist orthogonal in Bezug auf die hierin beschriebenen Ausführungsbeispiele der Erfindung.
  • QUANTENPUNKT - VORRICHTUNGEN
  • Quantenpunkte sind kleine Halbleiterteilchen, typischerweise weniger Nanometer groß. Wegen dieser geringen Größe verhalten sich Quantenpunkte gemäß den Regeln der Quantenmechanik, so dass sie optische und elektronische Eigenschaften aufweisen, die sich von makroskopischen Einheiten unterscheiden. Quantenpunkte werden manchmal als „künstliche Atome“ bezeichnet, um auf die Tatsache hinzuweisen, dass ein Quantenpunkt ein einzelnes Objekt mit unterscheidbaren, gebundenen elektronischen Zuständen ist, wie dies bei Atomen und Molekülen der Fall ist.
  • Die 1A-1F sind verschiedene Ansichten einer Quantenpunkt-Vorrichtung 100, die mit nachstehend beschriebenen Ausführungsbeispielen der Erfindung verwendet werden kann. 1A ist eine Draufsicht auf einen Abschnitt der Quantenpunkt-Vorrichtung 100, von der einiges Material entfernt wurde, so dass die ersten Gate-Leitungen 102, die zweiten Gate-Leitungen 104 und die dritten Gate-Leitungen 106 sichtbar sind. Auch wenn viele der hierin enthaltenen Zeichnungen und Beschreibungen bestimmte Sätze von Leitungen oder Gates als „Barriere“- oder „Quantenpunkt“-Leitungen oder -Gates beschreiben mögen, dient dies lediglich der Vereinfachung der Erörterung, und in anderen Ausführungsbeispielen kann die Rolle von „Barriere“- und „Quantenpunkt“-Leitungen und -Gates vertauscht sein (z.B. können Barriere-Gates stattdessen als Quantenpunkt-Gates wirken und umgekehrt). Die 1B-1F sind Seiten-Querschnittsansichten der Quantenpunkt-Vorrichtung 100 von 1A; genauer ist 1B eine Ansicht durch den Schnitt B-B von 1A, ist Figur IC eine Ansicht durch den Schnitt C-C von 1A, ist 1D eine Ansicht durch den Schnitt D-D von 1A, ist 1E eine Ansicht durch den Schnitt E-E von 1A und ist 1F eine Ansicht durch den Schnitt F-F von 1A.
  • Die Quantenpunkt-Vorrichtung 100 von 1 kann auf beliebige einer Anzahl von Arten betrieben werden. Zum Beispiel können in manchen Ausführungsbeispielen elektrische Signale, wie etwa Spannungen, Ströme, Radiofrequenz(RF)- und/oder Mikrowellensignale an einer oder mehreren ersten Gate-Leitungen 102, zweiten Gate-Leitungen 104 und/oder dritten Gate-Leitungen 106 bereitgestellt werden, um zu bewirken, dass sich ein Quantenpunkt (z.B. ein auf Elektronenspin basierender Quantenpunkt oder ein auf Lochspin basierender Quantenpunkt) in einem Quantentopfstapel 146 unter einem dritten Gate 166 einer dritten Gate-Leitung 106 bildet. Elektrische Signale, die an einer dritten Gate-Leitung 106 bereitgestellt werden, können das elektrische Potential eines Quantentopfs unter den dritten Gates 166 dieser dritten Gate-Leitung 106 steuern, während elektrische Signale, die an einer ersten Gate-Leitung 102 (und/oder einer zweiten Gate-Leitung 104) bereitgestellt werden, die Lageenergiebarriere unter den ersten Gates 162 dieser ersten Gate-Leitung 102 (und/oder der zweiten Gates 164 dieser zweiten Gate-Leitung 104) zwischen einander benachbarten Quantentöpfen steuern können. Quanten-Interaktionen zwischen Quantenpunkten in unterschiedlichen Quantentöpfen im Quantentopfstapel 146 (z.B. unter unterschiedlichen Quantenpunkt-Gates) können teilweise durch die Lageenergiebarriere gesteuert werden, die von den zwischen ihnen liegenden Barrierepotentialen (z.B. von zwischen ihnen angeordnete Barriere-Gates) bereitgestellt wird.
  • Im Allgemeinen können die hierin offenbarten Quantenpunkt-Vorrichtungen 100 ferner eine Quelle für Magnetfelder (nicht gezeigt) aufweisen, die verwendet werden können, um eine Energiedifferenz in den Zuständen eines Quantenpunktes (z.B. den Spin-Zuständen eines auf Elektronenspin basierenden Quantenpunktes), die normalerweise schwächer werden, zu erzeugen, und die Zustände der Quantenpunkte (z.B. die Spin-Zustände) können durch Anlegen von elektromagnetischer Energie an die Gate-Leitungen manipuliert werden, um Quantenbits zu erzeugen, die sich für eine Datenverarbeitung eignen. Bei der Quelle für Magnetfelder kann es sich um eine oder mehrere Magnetleitungen handeln, wie nachstehend erörtert wird. Somit können die hierin offenbarten Quantenpunkt-Vorrichtungen 100 durch gesteuertes Anlegen elektromagnetischer Energie in der Lage sein, die Position, die Zahl und den Quantenzustand (z.B. den Spin) von Quantenpunkten im Quantentopfstapel 146 zu manipulieren.
  • In der Quantenpunkt-Vorrichtung 100 von 1 kann ein Gate-Dielektrikum 114 auf einem Quantentopfstapel 146 angeordnet sein. Ein Quantentopfstapel 146 kann mindestens eine Quantentopfschicht 152 (in 1 nicht gezeigt) aufweisen, in der Quantenpunkte während des Betriebs der Quantenpunkt-Vorrichtung 100 positioniert sein können. Das Gate-Dielektrikum 114 kann jedes geeignete Material sein, wie etwa ein High-K-Material. Mehrere parallele erste Gate-Leitungen 102 können auf dem Gate-Dielektrikum 114 angeordnet sein, und Spacer-Material 118 kann auf Seitenflächen der ersten Gate-Leitungen 102 angeordnet sein. In manchen Ausführungsbeispielen kann eine strukturierte Hartmaske 110 auf den ersten Gate-Leitungen 102 angeordnet sein (wobei die Struktur der Struktur der ersten Gate-Leitungen 102 entspricht), und das Spacer-Material 118 kann sich an den Seiten der Hartmaske 110 nach oben erstrecken, wie gezeigt. Die ersten Gate-Leitungen 102 können jeweils ein erstes Gate 162 sein. Unterschiedliche von den ersten Gate-Leitungen 102 können in jeder geeigneten Kombination elektrisch gesteuert werden (z.B. kann jede erste Gate-Leitung 102 separat elektrisch gesteuert werden oder manche oder alle von den ersten Gate-Leitungen 102 können gemeinsam in einer oder mehreren Gruppen kurzgeschlossen werden, falls gewünscht).
  • Mehrere parallele zweite Gate-Leitungen 104 können über und zwischen den ersten Gate-Leitungen 102 angeordnet sein. Wie in 1 dargestellt ist, können die zweiten Gate-Leitungen 104 senkrecht zu den ersten Gate-Leitungen 102 angeordnet sein. Die zweiten Gate-Leitungen 104 können sich über die Hartmaske 110 erstrecken und können zweite Gates 164 aufweisen, die sich abwärts zum Quantentopfstapel 146 erstrecken und das Gate-Dielektrikum 114 zwischen einander benachbarten ersten Gate-Leitungen 102 berühren, wie in 1D dargestellt ist. In manchen Ausführungsbeispielen können die zweiten Gates 164 den Bereich zwischen einander benachbarten Strukturen der ersten Gate-Leitungen 102/des Spacer-Materials 118 füllen; in anderen Ausführungsbeispielen kann ein Isoliermaterial (nicht gezeigt) zwischen den Strukturen der ersten Gate-Leitungen 102/des Spacer-Materials 118 und den nahe gelegenen zweiten Gates 164 vorhanden sein. In manchen Ausführungsbeispielen kann Spacer-Material 118 auf Seitenflächen der zweiten Gate-Leitungen 104 angeordnet sein; in anderen Ausführungsbeispielen könnte kein Spacer-Material 118 auf Seitenflächen der zweiten Gate-Leitungen 104 angeordnet sein. In manchen Ausführungsbeispielen kann eine Hartmaske 115 über den zweiten Gate-Leitungen 104 angeordnet sein. Mehrere von den zweiten Gates 164 einer zweiten Gate-Leitung 104 sind elektrisch zusammenhängend (aufgrund des gemeinsamen leitenden Materials der zweiten Gate-Leitung 104 über der Hartmaske 110). Unterschiedliche von den zweiten Gate-Leitungen 104 können in jeder geeigneten Kombination elektrisch gesteuert werden (z.B. kann jede zweite Gate-Leitung 104 separat elektrisch gesteuert werden oder manche oder alle von den zweiten Gate-Leitungen 104 können gemeinsam in einer oder mehreren Gruppen kurzgeschlossen werden, falls gewünscht). Gemeinsam können die ersten Gate-Leitungen 102 und die zweiten Gate-Leitungen 104 ein Gitter bilden, wie in 1 abgebildet.
  • Mehrere parallele dritte Gate-Leitungen 106 können über und zwischen den ersten Gate-Leitungen 102 und den zweiten Gate-Leitungen 104 angeordnet sein. Wie in 1 dargestellt ist, können die dritten Gate-Leitungen 106 diagonal zu den ersten Gate-Leitungen 102 und diagonal zu den zweiten Gate-Leitungen 104 angeordnet sein. Insbesondere können die dritten Gate-Leitungen 106 diagonal über den Öffnungen in dem Gitter angeordnet sein, das von den ersten Gate-Leitungen 102 und den zweiten Gate-Leitungen 104 gebildet wird. Die dritten Gate-Leitungen 106 können dritte Gates 166 aufweisen, die sich in den Öffnungen in dem Gitter, das von den ersten Gate-Leitungen 102 und den zweiten Gate-Leitungen 104 gebildet wird, hinunter zum Gate-Dielektrikum 114 erstrecken; somit kann jede dritte Gate-Leitung 166 von zwei unterschiedlichen ersten Gate-Leitungen 102 und zwei unterschiedlichen zweiten Gate-Leitungen 104 begrenzt werden. In manchen Ausführungsbeispielen können die dritten Gates 166 von Isoliermaterial 128 begrenzt werden; in anderen Ausführungsbeispielen können die dritten Gates 166 die Öffnungen in dem Gitter füllen (z.B. das Spacer-Material 118 berühren, das auf Seitenflächen der benachbarten ersten Gate-Leitungen 102 und zweiten Gate-Leitungen 104 angeordnet ist, nicht gezeigt). Zusätzliches Isoliermaterial 117 kann auf und/oder um die dritten Gate-Leitungen 106 angeordnet sein. Mehrere von den dritten Gates 166 einer dritten Gate-Leitung 106 sind elektrisch zusammenhängend (aufgrund des gemeinsamen leitenden Materials der dritten Gate-Leitung 106 über den ersten Gate-Leitungen 102 und den zweiten Gate-Leitungen 104). Unterschiedliche von den dritten Gate-Leitungen 106 können in jeder geeigneten Kombination elektrisch gesteuert werden (z.B. kann jede dritte Gate-Leitung 106 separat elektrisch gesteuert werden oder manche oder alle von den dritten Gate-Leitungen 106 können gemeinsam in einer oder mehreren Gruppen kurzgeschlossen werden, falls gewünscht).
  • Auch wenn die 1A-F eine bestimmte Zahl von ersten Gate-Leitungen 102, zweiten Gate-Leitungen 104 und dritten Gate-Leitungen 106 darstellen, dient dies nur der Veranschaulichung, und es kann jede beliebige Zahl von ersten Gate-Leitungen 102, zweiten Gate-Leitungen 104 und dritten Gate-Leitungen 106 in einer Quantenpunkt-Vorrichtung 100 enthalten sein. Andere Beispiele für die Anordnung erster Gate-Leitungen 102, zweiter Gate-Leitungen 104 und dritter Gate-Leitungen 106 sind möglich. Elektrische Verbindungen (z.B. Durchkontaktierungen bzw. Vias und Leitungen) können die ersten Gate-Leitungen 102, zweiten Gate-Leitungen 104 und dritten Gate-Leitungen 106 auf jede gewünschte Weise kontaktieren.
  • Nicht in 1 dargestellt sind Akkumulationsregionen, die elektrisch mit der Quantentopfschicht des Quantentopfstapels 146 gekoppelt sind (z.B. lateral in der Nähe der Quantentopfschicht). Die Akkumulationsregionen können durch eine dünne Schicht aus dielektrischem Zwischenmaterial von den Gate-Leitungen beabstandet sein. Die Akkumulationsregionen können Regionen sein, in denen sich Träger ansammeln (z.B. aufgrund von Dotierung oder aufgrund des Vorhandenseins großer Elektroden, die Träger in die Quantentopfschicht ziehen), und können als Reservoirs für Träger dienen, die selektiv in die Bereiche der Quantentopfschicht unter den dritten Gates 166 gezogen werden können (z.B. durch Steuern der Spannungen an den Quantentopf-Gates, den ersten Gates 162 und den zweiten Gates 164), um auf Trägern basierende Quantenpunkte zu bilden (z.B. Elektronen- oder Loch-Quantenpunkte, einschließlich eines einzelnen Ladungsträgers, mehrerer Ladungsträger oder ohne Ladungsträger). In anderen Ausführungsbeispielen könnte eine Quantenpunkt-Vorrichtung 100 keine lateralen Akkumulationsregionen aufweisen, sondern könnte stattdessen dotierte Schichten innerhalb des Quantentopfstapels 146 aufweisen. Diese dotierten Schichten können die Träger für die Quantentopfschicht bereitstellen. Jede Kombination von Akkumulationsregionen (z.B. dotiert oder nicht dotiert) oder dotierten Schichten in einem Quantentopfstapel 146 kann in jedem der hierin offenbarten Ausführungsbeispiele für die Quantenpunkt-Vorrichtungen 100 verwendet werden.
  • Vorrichtung und Verfahren für ein feldprogrammierbares Quanten-Array
  • Quantenalgorithmen verlangen häufig eine Kompilierung zu Multi-Qbit-Gates, die zwischen Qbits durchgeführt wird, die physisch auf einer Qbit-Ebene verbunden sind (wie z.B. bei der oben beschriebenen Quantenpunkt-Vorrichtung). In einem Quantensystem, in dem ein Shutteln physischer Qbits zwischen Punktpositionen schneller und robuster ist als die Durchführung von zwei Qbit-Swap-Gates, wird eine Optimierung durch die Schaffung von Belegungslücken in einem Qbit-Gitter, um die effektive Konnektivität der physischen Vorrichtung zu verbessern, mit dem Verlust von Rechenelementen erkauft. Unterschiedliche Quantenarbeitsaufgaben können einen großen Bereich von Rechenmustern darstellen, die auf Maschinen mit unterschiedlichen Graden und Arten einer physischen Konnektivität optimal ausgeführt werden können. In einem Ausführungsbeispielen der Erfindung werden Quantenprozessoren als Reaktion auf diese Arten von Rechenmustern selektiv rekonfiguriert, um Quantenpunktpositionen frei zu machen oder zu füllen, um die lokale Konnektivität in bestimmten Regionen zu erhöhen oder zu senken.
  • In heutigen Quantenprozessoren werden für Ablaufplanungs- bzw. Scheduling- und Abbildungs- bzw. Mapping-Operationen Vorrichtungen mit rekonfigurierbaren Topologien nicht in Betracht gezogen. Stattdessen wird angenommen, dass Vorrichtungen statisch konfiguriert werden und Ablaufpläne werden unter dieser Annahme entworfen. Adaptive Techniken der Quanten-Datenverarbeitung werden derzeit für manche Steuerverfahren erforscht, aber nicht auf Basis der Rekonfigurierung einer Konnektivität physischer Vorrichtungen oder Topologien.
  • Quantenalgorithmen bestehen aus quantenlogischen Operationen, die an Qbits durchgeführt werden. Die Abfolge der Operationen wird statisch zu einem Ablaufplan kompiliert, der für die Beschreibung eines bestimmten physischen Quantenprozessors in Bezug auf Qbit-Konnektivität und Steuerungsbeschränkungen geeignet ist (d.h. für eine bestimmte Zahl von Qbits und Steuerleitungen mit einer bestimmten physischen Anordnung innerhalb des Quantenprozessors). Für bestimmte Algorithmen bieten Quantenpunkt-Vorrichtungen einen Rahmen, in dem ein Shutteln einzelner Qbits zwischen Punktpositionen schneller und robuster sein kann als die Durchführung von Multi-Qbit-Gate-Operationen.
  • Ein Ausführungsbeispiel der Erfindung schließt einen dynamischen Scheduler ein, der die Belegung von Quantenpunktpositionen in einer physischen Quantenmaschine als Reaktion auf bestimmte Rechensequenzen rekonfiguriert. Insbesondere analysiert ein Ausführungsbeispiel des dynamischen Schedulers die Spezifikationen des Logikprogramms und identifiziert Rechenmuster, die in diesen Spezifikationen dargelegt werden. Zum Beispiel kann der dynamische Scheduler heiße und kalte Rechenzonen detektieren und diese als solche kenntlich machen. Unter Verwendung von Daten, die vom dynamischen Scheduler identifiziert werden, wählt eine adaptive Maschinenkonfigurations-Steuerung Belegungsdichten auf dem physischen Quantenprozessor aus (z.B. das Shutteln von Elektronen zwischen Quantenpunktpositionen). Der dynamische Scheduler passt dann den Ablaufplan der physischen Maschine an, um der neuen Maschinenkonfiguration gerecht zu werden.
  • 2 zeigt ein Ausführungsbeispiel einer Quanten-Datenverarbeitungsarchitektur, die einen Quantenprozessor 260 aufweist, der eine Mehrzahl von Qbits 265 umfasst, die als Reaktion auf Signale von einer Quanten-Steuerung 205 manipuliert werden. Die Signale können beispielsweise elektrische oder elektromagnetische Signale einschließen, die Potentiale in bestimmten Regionen einer Quantenpunkt-Vorrichtung so anpassen, dass Elektronen zwischen Quantenpunktpositionen bewegt werden.
  • In einem Ausführungsbeispiel führt die Quanten-Steuerung 205 eine Quanten-Laufzeit 202 aus, um eine Abfolge von Operationen am Quantenprozessor 260 durchzuführen. Zum Beispiel kann zumindest ein Abschnitt der Quanten-Steuerung 205 einen Speicher zum Speichern der Quanten-Laufzeit 201 und einen Prozessor zum Verarbeiten der Quanten-Laufzeit aufweisen. In einer Ausführungsbeispiel schreibt das Programm einen Quanten-Programmcode 200 (d.h. einen Quellcode), der von einem Compiler 201 in die Quanten-Laufzeit 202 übersetzt wird.
  • Die Quanten-Steuerung 205 kann sowohl einen Universalprozessor für die Ausführung von Software (z.B. der Quanten-Laufzeit 202) als auch eine spezielle Schaltung aufweisen, die elektromagnetische Transceiver und Spannungssteuerschaltungen zum Steuern der Qbits aufweist. In einer Ausführungsbeispiel führt der Quantenprozessor 260 als Reaktion auf die Ausführung des Quanten-Laufzeit-Codes 201 Operationen an den Qbits 265 durch, um Ergebnisse 270 zu erzeugen. In einer Implementierung sind mehrere Iterationen einer bestimmten Operation oder einer Reihe von Operationen nötig, um die endgültigen Ergebnisse 270 zu erzeugen.
  • Ein dynamischer Scheduler 230 plant Operationen, die am Quantenprozessor 260 durchgeführt werden sollen, wie von der Quanten-Laufzeit 202 vorgegeben. Wie gesagt analysiert in einem Ausführungsbeispiel der dynamische Scheduler 230 die Spezifikationen des Logikprogramms der Quanten-Laufzeit 202 und identifiziert Rechenmuster, die in diesen Spezifikationen dargelegt werden. Zum Beispiel kann der dynamische Scheduler 230 heiße und kalte Rechenzonen im Zeitverlauf detektieren und diese gegenüber der adaptiven Maschinenkonfigurations-Steuerung 240 kenntlich machen.
  • Unter Verwendung der Daten, die vom dynamischen Scheduler identifiziert worden sind, wählt die adaptive Maschinenkonfigurations-Steuerung 240 Belegungsdichten auf dem physischen Quantenprozessor 260 aus. In einer Implementierung beinhaltet dies eine Abfolge von Shuttle-Operationen, um Elektronen zu unterschiedlichen leeren Quantenpunktpositionen zu bewegen (wobei diese möglicherweise durch mehrere leere Positionen hindurch bewegt werden, bevor sie an der gewünschten Position ankommen). Wie oben erörtert, kann das Bewegen eines Qbit zwischen Quantenpunkten unter Verwendung elektrischer Signale bewerkstelligt werden, die an Gate-Leitungen bereitgestellt werden, um die Lageenergiebarriere zwischen einander benachbarten Quantentöpfen zu steuern. Nachdem die Qbits an den gewünschten Positionen abgesetzt wurden, können darüber hinaus Quanten-Interaktionen zwischen Qbits in unterschiedlichen Quantentöpfen zumindest zum Teil von den Barrierepotentialen gesteuert werden, die zwischen ihnen errichtet worden sind (z.B. durch dazwischengeschaltete Barriere-Gates).
  • Sobald die adaptive Maschinenkonfigurations-Steuerung 240 die Qbits erfolgreich an bestimmten Positionen innerhalb des Quantenprozessors (und mit einer ausgewählten Dichte/Lückenhaftigkeit) konfiguriert hat, passt der dynamische Scheduler 230 dann den Ablaufplan für den physischen Quantenprozessor 260 im Hinblick auf die Belegungsmodifikationen an, die von der adaptiven Maschinenkonfigurations-Steuerung 240 durchgeführt wurden. Falls beispielsweise die adaptive Maschinenkonfigurations-Steuerung 240 einen schwach belegten Quantenprozessor mit zahlreichen leeren Positionen konfiguriert hat, kann der dynamische Scheduler bestimmte Swap-Gate-Operationen in Shuttle-Operationen ändern (z.B. wo ein Qbit einer leeren Position statt einer belegten Position benachbart ist).
  • Auch wenn dies in 2 nicht dargestellt ist, führen eine oder mehrere Vorrichtungen aus physischen Schichten die zugrundeliegenden Operationen an den Qbits 265 durch, wie von der adaptiven Maschinenkonfigurations-Steuerung 240 und vom dynamischen Scheduler 230 vorgegeben. Zum Beispiel können die Vorrichtungen aus physischen Schichten exakt gezielte und kalibrierte elektromagnetische Sender aufweisen, um Mikrowellen oder andere elektromagnetische Wellen zu erzeugen, um die Qbits 265 zu manipulieren, und können auch exakte Spannungsregulierungsvorrichtungen einschließen, um Barrierepotentiale zwischen Quantentöpfen zu erhöhen und zu senken.
  • In einem Ausführungsbeispiel werden die Ergebnisse 270 der Qbit-Operationen in einer Datenbank, einem Dateisystem oder einer anderen Form von Datenspeicherstruktur gespeichert. Auch wenn sie separat von der Quanten-Laufzeit 202 und der Quanten-Steuerung 205 dargestellt sind, können sowohl die Ergebnisse 270 als auch die Quanten-Steuerung 205 und die Quanten-Laufzeit 202 auf derselben physischen Datenverarbeitungsvorrichtung implementiert sein, wie etwa einem Server oder einer Workstation mit einem Speicher, mindestens einem Prozessor, einer Speichervorrichtung und einer seriellen und/oder drahtlosen Kommunikationsschnittstellen, um die Quanten-Steuerung 205 mit einem Netz zu verbinden.
  • Wie in 2 angegeben, sendet ein Ausführungsbeispiel für die Quanten-Laufzeit 202 Operationen an die Quanten-Steuerung 205 gemäß der Open Quantum Assembly Language (QASM), einer Zwischendarstellung für Quantenbefehle. Jedoch sind die der Erfindung zugrundeliegenden Prinzipien nicht auf eine bestimmte Sprache beschränkt.
  • In einem Ausführungsbeispiel ist der dynamische Scheduler 230 mit einem Übersetzungspuffer (Translation Lookaside Buffer, TLB) 232 gekoppelt (oder ausgestattet), um virtuelle Qbit-Adressen in physische Qbit-Adressen zu übersetzen, um physisch auf die Qbits 265 zugreifen zu können. In einer Implementierung ändert der dynamische Scheduler 230 die physische Qbit-Adressierung innerhalb des TLB 232 gemäß den Konfigurationsänderungen, die von der adaptiven Maschinenkonfigurations-Steuerung 240 vorgenommen wurden. Zum Beispiel kann der dynamische Scheduler 230 als Reaktion auf die Änderungen, die von der adaptiven Maschinenkonfigurations-Steuerung 240 vorgenommen wurden, neue physische Adressen mit virtuellen Adressen für einen neuen Satz von Qbit-Positionen innerhalb des Quantenprozessors 260 assoziieren.
  • Quantenanwendungen sind gekennzeichnet durch einen Bereich verschiedenartiger Rechenmuster, aber heutige Quantenmaschinen sind so ausgelegt, dass sie einmal hergestellt und statisch bewahrt werden. Das selektive Wählen von Belegungsdichten für Bereiche eines 2-dimensionalen Qbit-Gitters ermöglicht es Vorrichtungen, ihre effektive lokale Konnektivität zu ändern, wodurch sie Rechenmusterunterschiede zwischen Quantenanwendungen nutzen können.
  • 3 stellt ein Beispiel für ein Qbit-Gitter dar, das neun untereinander verbundene Qbits 301-309 umfasst. In diesem Beispiel ist ein Qbit an jeder Stelle des Gitters positioniert (d.h. die Belegungsdichte ist 100 %). Um das Qbit 305 von seiner aktuellen Position an eine andere Position im Gitter zu bewegen, wie etwa an die Position des Qbit 303, muss die Steuerung somit eine oder mehrere „Swap“-Operationen durchführen, die manchmal als „Zwei-Qbit-Gates“ oder „Swap-Gates“ bezeichnet werden. Damit beispielsweise das Qbit 305 mit dem Qbit 303 interagieren kann (z.B. um die Qbits zu verschränken), muss zuerst eine Swap-Gate-Operation zwischen Qbit 305 und Qbit 302 (oder 306) durchgeführt werden, so dass das Qbit 305 der Nachbar des Qbit 303 wird. Im Anschluss an die Swap-Gate-Operation haben die Qbits 302 und 305 ihre Positionen getauscht.
  • Auch wenn Swap-Gate-Operationen für manche Algorithmen die effektivste Vorgehensweise sind, erzeugen sie zusätzliches Rauschen und können auf bestimmten Quantenprozessoren zu Problemen führen. Darüber hinaus laufen andere Algorithmen deutlich effizienter unter Verwendung von Shuttle-Operationen ab, bei denen die Qbits durch leere Positionen in einem Gitter bewegt werden, um sie an ihr Ziel zu bringen. Wenn das Bewegen eines physischen Qbit durch ein Gitter schneller und robuster ist als die Durchführung von Zwei-Bit-Gates, dann ermöglicht das Vorhandensein von Shuttle-Pfaden eine schnelle Interaktion zwischen physisch getrennten Qbits, wodurch die Konnektivität einer Vorrichtung effektiv erhöht wird. Das in 3 gezeigte Gitter ist nicht in der Lage, ein Shutteln durchzuführen, weil jede Position belegt ist.
  • Im Gegensatz dazu zeigt 4 ein Ausführungsbeispiel eines Qbit-Gitters 400, in dem nur 1/3 der 49 Positionen 401-407, 411-417, 421-427, 431-437, 441-447, 451-457, 461-467, 411-417 Qbits enthält (d.h. es ist zu 1/3 belegt). In diesem Beispiel sind dunkle Kreise 401, 404, 407, 413, 416, 422, 425, 431, 434, 437, 443, 446, 452, 455, 461, 464 und 467 Quantenpunkte, die Qbits enthalten, während die übrigen, unmarkierten Positionen leer sind. Zu beachten ist, dass die Qbits in 4 gleichmäßig über dem Gitter verteilt sind, so dass jedes Qbit bewegt werden kann, damit es mit einem beliebigen anderen Qbit interagiert, ohne dass Swap-Gate-Operationen durchgeführt werden müssen. Zum Beispiel zeigen die fett gezeichneten Verbindungslinien die verschiedenen Pfade an, auf denen das Qbit 434 geshuttelt werden kann, um andere Qbits in dem Gitter zu erreichen, ohne dass Swap-Gate-Operationen nötig sind.
  • Man beachte, dass 4 eine von vielen möglichen Anordnungen des Qbit-Gitters darstellt. Auch wenn die Anordnung in 4 für manche Quantenalgorithmen ideal sein mag, ist sie für andere Quantenalgorithmen nicht ideal. Infolgedessen stimmt der dynamische Scheduler 230 in einem Ausführungsbeispiel die Konnektivität von Bereichen des Gitters selektiv ab, und zwar durch Durchmustern der Quantenalgorithmen, die in der Quanten-Laufzeit 202 enthalten sind, und durch Detektieren und Profilieren von Rechenmustern, um die effizienteste Anordnung von Qbits und leeren Positionen zu identifizieren. Auf Basis dieser Informationen initialisiert die adaptive Maschinenkonfigurations-Steuerung 240 dynamisch ein Muster/eine Sequenz von Chip-Steuerspannungen, um durch Freimachen (oder Füllen) von Quantenpunktpositionen von (mit) physischen Qbits spezifische Vorrichtungsbelegungsdichten und -muster zu erzeugen. Nachdem das gewünschte Muster erstellt worden ist, passt in einem Ausführungsbeispiel der dynamische Scheduler 230 den Maschinencode der Quanten-Laufzeit 202 gemäß der rekonfigurierten Vorrichtungstopologie an. Wie gesagt kann dies eine Änderung einer oder mehrerer Swap-Gate-Operationen in Shuttle-Operationen beinhalten.
  • Ein Verfahren gemäß einem Ausführungsbeispiel der Erfindung ist in 5 darstellt. Das Verfahren kann innerhalb des Kontextes der oben beschriebenen Systemarchitektur implementiert werden, ist aber nicht auf irgendeine bestimmte Systemarchitektur beschränkt.
  • Bei 500 wird die Quanten-Laufzeit kompiliert und ausgeführt, und bei 501 wird ein Qbit-Gitter, das eine Mehrzahl von Positionen aufweist, initialisiert, so dass manche Positionen Qbits enthalten und andere Positionen unbelegt sind. Bei 502 wird die Quanten-Laufzeit durchmustert/analysiert, um Rechenmuster zu detektieren und zu profilieren. Zum Beispiel können die physischen Interaktionen zwischen Qbits identifiziert werden, die nötig sind, um eine Mehrzahl von Quanten-Gates zu implementieren.
  • Bei 503 wird das Verbindungsgitter auf Basis der Rechenmuster dynamisch rekonfiguriert, um durch Freimachen/Füllen von Quantenpunktpositionen von/mit physischen Qbits spezifische Vorrichtungsbelegungsdichten und -muster zu erzeugen. Bei 504 wird der Code der Quanten-Laufzeit gemäß der rekonfigurierten Vorrichtungstopologie angepasst. Zum Beispiel kann eine oder können mehrere Operationen für existierende Operationen innerhalb der Quanten-Laufzeit eingetauscht werden, oder die Quanten-Laufzeit kann mit den neuen Operationen ergänzt werden. Alternativ dazu kann der Quantenprogrammcode 200 vor der Ausführung vom Compiler 201 dynamisch aktualisiert und neukompiliert werden.
  • Bei 505 gibt der adaptive Scheduler die modifizierten Quantenoperationen in das Qbit-Gitter ein. Wie gesagt - falls das Ergebnis eine effizientere Abfolge von Operationen ist, kann ein Shutteln von Qbits durchgeführt werden, um die Qbits physisch an gewünschte Orte in dem Gitter zu bewegen. Nachdem die Abfolge von Operationen durchgeführt worden ist, werden Werte von Daten-Qbits gelesen und in den Ergebnissen 270 gespeichert.
  • Auch wenn einige der obigen Ausführungsbeispiele mit Bezug auf einen Quantenpunktprozessor beschrieben wurden, sind die der Erfindung zugrundeliegenden Prinzipien nicht auf eine bestimmte physische Implementierung von Qbits beschränkt. Die hierin beschriebenen Techniken sollen verwendet werden, um die Effizienz unterschiedlicher Arten von physischen Vorrichtungen, die unterschiedliche physikalische Eigenschaften haben, zu verbessern. Infolgedessen evaluiert in einem Ausführungsbeispiel der dynamische Scheduler 230 die Eigenschaften des spezifischen verwendeten Quantenprozessors 260, wenn er die Quanten-Laufzeit evaluiert und Konfigurationsentscheidungen trifft.
  • Unter Verwendung der oben beschriebenen Techniken werden physische Quantenvorrichtungen möglich, die deutlich flexibler sind, wenn eine große Bandbreite an algorithmischer Arbeit verrichtet wird. Darüber hinaus verringern diese Techniken die Schaltungstiefe für ausgeführte Algorithmen, verringern die Fehlerkorrekturlast, erhöhen die Wahrscheinlichkeit für einen erfolgreichen Algorithmus und verringern die Wärmebilanzlast. Ferner können Fehlerkorrekturschemata gewählt werden, die selektiv die unterschiedlichen Konnektivitäts- und physikalischen Eigenschaften unterschiedlicher Vorrichtungen nutzen, wodurch sie im Betrieb die Wahl der besten Fehlerkorrekturoption angesichts unterschiedlicher verfügbarer Fehlerkorrekturmechanismen ermöglichen.
  • Ausführungsbeispiele der Erfindung können verschiedene Schritte beinhalten, die oben beschrieben wurden. Die Schritte können als maschinenlesbare Befehle verkörpert werden, die verwendet werden können, um einen Universal- oder zweckgebundenen Computer zu veranlassen, die Schritte durchzuführen. Alternativ dazu können diese Schritte von spezifischen Hardware-Komponenten durchgeführt werden, die festverdrahtete Logik enthalten, um diese Schritte durchzuführen, oder durch eine beliebige Kombination programmierter Computerkomponenten und maßgeschneiderter Hardware-Komponenten.
  • Wie hierin beschrieben, können mit Befehlen spezifische Hardware-Konfigurationen gemeint sein, wie etwa anwendungsspezifische integrierte Schaltungen (ASICs), die so konfiguriert sind, dass sie bestimmte Operationen durchführen, oder Software-Befehle, die in einem Speicher enthalten sind, der als nicht-transientes computerlesbares Medium verkörpert ist. Somit können die in den Figuren gezeigten Techniken unter Verwendung von Code und Daten implementiert werden, die auf einer oder mehreren elektronischen Vorrichtungen (z.B. einem Endgerät, einem Netzelement usw.) gespeichert und ausgeführt werden. Solche elektronischen Vorrichtungen speichern und übermitteln (intern und/oder mit anderen elektronischen Vorrichtungen über ein Netz) Code und Daten unter Verwendung rechenmaschinenlesbarer Medien, wie etwa nicht-transienter rechenmaschinenlesbarer Speichermedien (z.B. Magnetplatten; optischer Platten; Direktzugriffsspeicher; Nur-Lese-Speicher; Flash-Speichervorrichtungen; Phasenänderungsspeicher) und transienter rechenmaschinenlesbarer Kommunikationsmedien (z.B. elektrischer, optischer, akustischer oder anderer Formen von weitergegebenen Signalen - wie etwa Trägerwellen, Infrarotsignalen, digitalen Signalen usw.).
  • Außerdem schließen solche elektronischen Vorrichtungen typischerweise eine Satz aus einem oder mehreren Prozessoren ein, der mit einer oder mehreren anderen Komponenten gekoppelt ist, wie etwa mit einer oder mehreren Speichervorrichtungen (nicht-transienten maschinenlesbaren Speichermedien), Benutzer-Eingabe/Ausgabe-Vorrichtungen (z.B. einer Tastatur, einem Touchscreen und/oder einer Anzeige) und Netzverbindungen. Das Koppeln des Satzes von Prozessoren und anderer Komponenten geschieht typischerweise über einen oder mehrere Busse und Brücken (auch als Bus-Steuerungen bezeichnet). Die Speichervorrichtung und die Signale, die den Netzverkehr transportieren, stellen jeweils mindestens ein maschinenlesbares Speichermedium oder maschinenlesbares Kommunikationsmedium dar. Somit speichert die Speichervorrichtung einer bestimmten elektronischen Vorrichtung typischerweise Code und/oder Daten für die Ausführung auf dem Satz aus einem oder mehreren Prozessoren dieser elektronischen Vorrichtung. Natürlich kann mindestens ein Teil eines Ausführungsbeispiels der Erfindung unter Verwendung unterschiedlicher Kombinationen aus Software, Firmware und/oder Hardware implementiert werden. In der gesamten Beschreibung wurden für die Zwecke der Erläuterung zahlreiche spezifische Details dargelegt, um ein tiefreichendes Verständnis der vorliegenden Erfindung zu ermöglichen. Für Fachleute ist es jedoch offensichtlich, dass die Erfindung ohne diese spezifischen Details in die Praxis umgesetzt werden kann. In bestimmten Fällen wurden bekannte Strukturen und Funktionen nicht ausführlich beschrieben, um eine Verunklarung des Gegenstands der vorliegenden Erfindung zu vermeiden. Demgemäß sollen der Bereich und der Gedanke der Erfindung vor dem Hintergrund der folgenden Ansprüche beurteilt werden.
  • BEISPIELE
  • Beispiel 1. Ein Verfahren, umfassend: Analysieren eines Quanten-Laufzeit-Codes, um Quanten-Rechenmuster innerhalb des Quanten-Laufzeit-Codes zu detektieren; dynamisches Konfigurieren eines Quantenbit(Qbit)-Gitters basierend auf den detektierten Quanten-Rechenmustern, wobei das Qbit-Gitter eine Mehrzahl von Positionen umfasst und dynamisch konfiguriert wird, wobei einige Positionen durch Qbits belegt werden und andere Positionen nicht durch Qbits belegt werden; und Modifizieren von zumindest einem Abschnitt des Quanten-Laufzeit-Codes basierend auf der Rekonfiguration des Qbit-Gitters.
  • Beispiel 2. Das Verfahren von Beispiel 1, wobei das dynamische Rekonfigurieren das Shutteln von zumindest einem Qbit von einer ersten Position innerhalb des Qbit-Gitters zu einer zweiten Position innerhalb des Qbit-Gitters umfasst.
  • Beispiel 3. Das Verfahren von Beispiel 2, wobei das Shutteln das Bewegen des Qbits von der ersten Position durch eine Mehrzahl von Zwischenpositionen hindurch umfasst, um es an die zweite Position zu bringen.
  • Beispiel 4. Das Verfahren von Beispiel 3, wobei das Qbit zu der Mehrzahl von Zwischenpositionen und der zweiten Position bewegt wird, ohne eine Swap-Gate-Operation durchzuführen.
  • Beispiel 5. Das Verfahren von Beispiel 1, wobei das Analysieren das identifizieren physischer Interaktionen zwischen Qbits umfasst, die innerhalb des Quanten-Laufzeit-Codes spezifiziert sind.
  • Beispiel 6. Das Verfahren von Beispiel 1, wobei das Analysieren das Identifizieren von einem oder mehreren Quanten-Gates umfasst, die durch den Quanten-Laufzeit-Code implementiert sind.
  • Beispiel 7. Das Verfahren von Beispiel 1 wobei das Qbit-Gitter eine Quantenpunkt-Vorrichtung umfasst.
  • Beispiel 8. Das Verfahren von Beispiel 7, wobei jede Position in der Quantenpunkt-Vorrichtung einen Elektronenspin-basierten Quantenpunkt oder einen Lochspin-basierten Quantenpunkt umfasst.
  • Beispiel 9. Das Verfahren von Beispiel 8, wobei jeder Quantenpunkt über eine oder mehrere Quanten-Gate-Leitungen mit einem oder mehreren anderen Quantenpunkten gekoppelt ist.
  • Beispiel 10. Das Verfahren von Beispiel 9, wobei das dynamische Rekonfigurieren des Qbit-Gitters das Anlegen von Spannungen, Strömen, Radiofrequenz- (RF-) Signalen und/oder Mikrowellensignalen an eine oder mehrere der Quanten-Gate-Leitungen umfasst.
  • Beispiel 11. Eine Vorrichtung, umfassend: ein Quantenbit-(Qbit-) Gitter, das eine Mehrzahl von Qbit-Positionen umfasst; eine Quantensteuerung zum Ausführen von Quanten-Laufzeit-Code; einen dynamischen Scheduler zum Analysieren des Quanten-Laufzeit-Codes, um Quanten-Rechenmuster innerhalb des Quanten-Laufzeit-Codes zu detektieren; eine adaptive Maschinenkonfigurations-Steuerung zum dynamischen Konfigurieren des Qbit-Gitters basierend auf den detektierten Quanten-Rechenmustern, wobei das Qbit-Gitter dynamisch konfiguriert ist, mit einigen Positionen, die durch Qbits belegt sind, und anderen Positionen, die nicht durch Qbits belegt sind; und den dynamischen Scheduler zum Modifizieren von zumindest einem Abschnitt des Quanten-Laufzeit-Codes basierend auf der Rekonfiguration des Qbit-Gitters.
  • Beispiel 12. Die Vorrichtung von Beispiel 11, wobei die adaptive Maschinenkonfigurations-Steuerung zum dynamischen Konfigurieren des Qbit-Gitters mindestens ein Qbit von einer ersten Position innerhalb des Qbit-Gitters zu einer zweiten Position innerhalb des Qbit-Gitters shutteln muss.
  • Beispiel 13. Die Vorrichtung von Beispiel 12, wobei die adaptive Maschinenkonfigurations-Steuerung das Qbit von der ersten Position durch eine Mehrzahl von Zwischenpositionen bewegen muss, um an der zweiten Position anzukommen.
  • Beispiel 14. Die Vorrichtung von Beispiel 13, wobei die adaptive Maschinenkonfigurations-Steuerung das Qbit zu der Mehrzahl von Zwischenpositionen und der zweiten Position bewegt, ohne eine Swap-Gate-Operation durchzuführen.
  • Beispiel 15. Die Vorrichtung von Beispiel 11, wobei der dynamische Scheduler zum Analysieren des Quanten-Laufzeit-Codes physische Interaktionen zwischen den Qbits, die in dem Quanten-Laufzeit-Code spezifiziert sind, identifizieren muss.
  • Beispiel 16. Die Vorrichtung von Beispiel 11, wobei der dynamische Scheduler zum Analysieren des Quanten-Laufzeit-Codes ein oder mehrere Quanten-Gates identifizieren muss, die durch den Quanten-Laufzeit-Code implementiert sind.
  • Beispiel 17. Die Vorrichtung von Beispiel 11, wobei das Qbit-Gitter eine Quantenpunkt-Vorrichtung umfasst.
  • Beispiel 18. Die Vorrichtung von Beispiel 17, wobei jede Position in der Quantenpunkt-Vorrichtung einen Elektronenspin-basierten Quantenpunkt oder einen Lochspin-basierten Quantenpunkt umfasst.
  • Beispiel 19. Die Vorrichtung von Beispiel 18, wobei jeder Quantenpunkt über eine oder mehrere Quanten-Gate-Leitungen mit einem oder mehreren anderen Quantenpunkten gekoppelt ist.
  • Beispiel 20. Die Vorrichtung von Beispiel 19, wobei das dynamische Rekonfigurieren des Qbit-Gitters das Anlegen von Spannungen, Strömen, Radiofrequenz- (RF-) Signalen und/oder Mikrowellensignalen an eine oder mehrere der Quanten-Gate-Leitungen umfasst.
  • Beispiel 21. Ein maschinenlesbares Medium mit darauf gespeichertem Programmcode, der, wenn er von einer Maschine ausgeführt wird, bewirkt, dass die Maschine die folgenden Operationen ausführt: Analysieren eines Quanten-Laufzeit-Codes, um Quanten-Rechenmuster innerhalb des Quanten-Laufzeit-Codes zu detektieren; dynamisches Konfigurieren eines Quantenbit(Qbit)-Gitters basierend auf den detektierten Quanten-Rechenmustern, wobei das Qbit-Gitter eine Mehrzahl von Positionen umfasst und dynamisch konfiguriert ist, mit einigen Positionen, die durch Qbits belegt sind, und anderen Positionen, die nicht durch Qbits belegt sind; und Modifizieren von zumindest einem Abschnitt des Quanten-Laufzeit-Codes basierend auf der Rekonfiguration des Qbit-Gitters.
  • Beispiel 22. Das maschinenlesbare Medium von Beispiel 21, wobei das dynamische Rekonfigurieren das Shutteln von mindestens einem Qbit von einer ersten Position innerhalb des Qbit-Gitters zu einer zweiten Position innerhalb des Qbit-Gitters umfasst.
  • Beispiel 23. Das maschinenlesbare Medium von Beispiel 22, wobei das Shutteln das Bewegen des Qbits von der ersten Position durch eine Mehrzahl von Zwischenpositionen hindurch umfasst, um es an die zweite Position zu bringen.
  • Beispiel 24. Das maschinenlesbare Medium von Beispiel 23, wobei das Qbit zu der Mehrzahl von Zwischenpositionen und der zweiten Position bewegt wird, ohne eine Swap-Gate-Operation durchzuführen.
  • Beispiel 25. Das maschinenlesbare Medium von Beispiel 21, wobei das Analysieren das Identifizieren von physischen Interaktionen zwischen Qbits umfasst, die innerhalb des Quanten-Laufzeit-Codes spezifiziert sind.
  • Beispiel 26. Das maschinenlesbare Medium von Beispiel 21, wobei das Analysieren das Identifizieren von einem oder mehreren Quanten-Gates umfasst, die durch den Quanten-Laufzeit-Code implementiert sind.
  • Beispiel 27. Das maschinenlesbare Medium von Beispiel 21, wobei das Qbit-Gitter eine Quantenpunkt-Vorrichtung umfasst.
  • Beispiel 28. Das maschinenlesbare Medium von Beispiel 27, wobei jede Position in der Quantenpunkt-Vorrichtung einen Elektronenspin-basierten Quantenpunkt oder einen Lochspin-basierten Quantenpunkt umfasst.
  • Beispiel 29. Das maschinenlesbare Medium von Beispiel 28, wobei jeder Quantenpunkt über eine oder mehrere Quanten-Gate-Leitungen mit einem oder mehreren anderen Quantenpunkten gekoppelt ist.
  • Beispiel 30. Das maschinenlesbare Medium von Beispiel 29, wobei das dynamische Rekonfigurieren des Qbit-Gitters das Anlegen von Spannungen, Strömen, Radiofrequenz- (RF-) Signalen und/oder Mikrowellensignalen an eine oder mehrere der Quanten-Gate-Leitungen umfasst.

Claims (31)

  1. Ein Verfahren umfassend: Analysieren eines Quanten-Laufzeit-Codes, um Quanten-Rechenmuster innerhalb des Quanten-Laufzeit-Codes zu detektieren; dynamisches Konfigurieren eines Quantenbit- (Qbit) Gitters basierend auf den detektierten Quanten-Rechenmustern, wobei das Qbit-Gitter eine Mehrzahl von Positionen umfasst und dynamisch konfiguriert ist, mit einigen Positionen belegt durch Qbits und anderen Positionen nicht belegt durch Qbits; und Modifizieren von zumindest einem Abschnitt des Quanten-Laufzeit-Codes basierend auf der Rekonfiguration des Qbit-Gitters.
  2. Das Verfahren gemäß Anspruch 1, wobei das dynamische Rekonfigurieren das Shutteln von zumindest einem Qbit von einer ersten Position innerhalb des Qbit-Gitters zu einer zweiten Position innerhalb des Qbit-Gitters umfasst.
  3. Das Verfahren gemäß Anspruch 2, wobei das Shutteln das Bewegen des Qbits von der ersten Position durch eine Mehrzahl von Zwischenpositionen umfasst, um an der zweiten Position anzukommen.
  4. Das Verfahren gemäß Anspruch 3, wobei das Qbit zu der Mehrzahl von Zwischenpositionen und der zweiten Position bewegt wird, ohne eine Swap-Gate-Operation durchzuführen.
  5. Das Verfahren gemäß einem der vorangehenden Ansprüche, wobei das Analysieren das Identifizieren von physikalischen Interaktionen zwischen Qbits umfasst, die innerhalb des Quanten-Laufzeit-Codes spezifiziert sind.
  6. Das Verfahren gemäß einem der vorangehenden Ansprüche, wobei das Analysieren das Identifizieren von einem oder mehreren Quanten-Gates umfasst, die durch den Quanten-Laufzeit-Code implementiert sind.
  7. Das Verfahren gemäß einem der vorangehenden Ansprüche, wobei das Qbit-Gitter eine Quantenpunkt-Vorrichtung umfasst.
  8. Das Verfahren gemäß Anspruch 7, wobei jede Position in der Quantenpunkt-Vorrichtung einen Elektronenspin-basierten Quantenpunkt oder einen Lochspin-basierten Quantenpunkt umfasst.
  9. Das Verfahren gemäß Anspruch 8, wobei jeder Quantenpunkt mit einem oder mehreren anderen Quantenpunkten über eine oder mehrere Quanten-Gate-Leitungen gekoppelt ist.
  10. Das Verfahren gemäß Anspruch 9, wobei das dynamische Rekonfigurieren des Qbit-Gitters das Anlegen von Spannungen, Strömen, Radiofrequenz- (RF-) Signalen und/oder Mikrowellensignalen an eine oder mehrere der Quanten-Gate-Leitungen umfasst.
  11. Eine Vorrichtung umfassend: ein Quantenbit-(Qbit-) Gitter, das eine Mehrzahl von Qbit-Positionen umfasst; eine Quantensteuerung zum Ausführen von Quanten-Laufzeit-Code; einen dynamischen Scheduler zum Analysieren des Quanten-Laufzeit-Codes, um Quanten-Rechenmuster innerhalb des Quanten-Laufzeit-Codes zu detektieren; eine adaptive Maschinenkonfigurations-Steuerung zum dynamischen Konfigurieren des Qbit-Gitters basierend auf den detektierten Quanten-Rechenmustern, wobei das Qbit-Gitter dynamisch konfiguriert ist, mit einigen Positionen belegt durch Qbits und anderen Positionen nicht belegt durch Qbits; und den dynamischen Scheduler zum Modifizieren von zumindest einem Abschnitt des Quanten-Laufzeit-Codes basierend auf der Rekonfiguration des Qbit-Gitters.
  12. Die Vorrichtung gemäß Anspruch 11, wobei, zum dynamischen Konfigurieren des Qbit-Gitters, die adaptive Maschinenkonfigurations-Steuerung zumindest ein Qbit von einer ersten Position innerhalb des Qbit-Gitters zu einer zweiten Position innerhalb des Qbit-Gitters shutteln muss.
  13. Die Vorrichtung gemäß Anspruch 12, wobei die adaptive Maschinenkonfigurations-Steuerung das Qbit von der ersten Position durch eine Mehrzahl von Zwischenpositionen bewegen muss, um an der zweiten Position anzukommen.
  14. Die Vorrichtung gemäß Anspruch 13, wobei die adaptive Maschinenkonfigurations-Steuerung das Qbit zu der Mehrzahl von Zwischenpositionen und der zweiten Position bewegt, ohne eine Swap-Gate-Operation durchzuführen.
  15. Die Vorrichtung gemäß einem der Ansprüche 11-14, wobei, zum Analysieren des Quanten-Laufzeit-Codes, der dynamische Scheduler physikalische Interaktionen zwischen den Qbits identifizieren soll, die in dem Quanten-Laufzeit-Code spezifiziert sind.
  16. Die Vorrichtung gemäß einem der Ansprüche 11-15, wobei, zum Analysieren des Quanten-Laufzeit-Codes, der dynamische Scheduler ein oder mehrere Quanten-Gates identifizieren muss, die durch den Quanten-Laufzeit-Code implementiert sind.
  17. Die Vorrichtung gemäß einem der Ansprüchen 11-16, wobei das Qbit-Gitter eine Quantenpunkt-Vorrichtung umfasst.
  18. Die Vorrichtung gemäß Anspruch 17, wobei jede Position in der Quantenpunkt-Vorrichtung einen Elektronenspin-basierten Quantenpunkt oder einen Lochspin-basierten Quantenpunkt umfasst.
  19. Die Vorrichtung gemäß Anspruch 18, wobei jeder Quantenpunkt mit einem oder mehreren anderen Quantenpunkten über eine oder mehrere Quanten-Gate-Leitungen gekoppelt ist.
  20. Die Vorrichtung gemäß Anspruch 19, wobei das dynamische Rekonfigurieren des Qbit-Gitters das Anlegen von Spannungen, Strömen, Radiofrequenz- (RF-) Signalen und/oder Mikrowellensignalen an eine oder mehrere der Quanten-Gate-Leitungen umfasst.
  21. Ein maschinenlesbares Medium mit darauf gespeichertem Programmcode, der, wenn er von einer Maschine ausgeführt wird, bewirkt, dass die Maschine die folgenden Operationen ausführt: Analysieren eines Quanten-Laufzeit-Codes, um Quanten-Rechenmuster innerhalb des Quanten-Laufzeit-Codes zu detektieren; dynamisches Konfigurieren eines Quantenbit- (qbit) Gitters basierend auf den detektierten Quanten-Rechenmustern, wobei das Qbit-Gitter eine Mehrzahl von Positionen umfasst und dynamisch konfiguriert ist, mit einigen Positionen belegt durch Qbits und anderen Positionen nicht belegt durch Qbits; und Modifizieren von zumindest einem Abschnitt des Quanten-Laufzeit-Codes basierend auf der Rekonfiguration des Qbit-Gitters.
  22. Eine Vorrichtung umfassend: Mittel zum Analysieren eines Quanten-Laufzeit-Codes, um Quanten-Rechenmuster innerhalb des Quanten-Laufzeit-Codes zu detektieren; Mittel zum dynamischen Konfigurieren eines Quantenbit- (qbit) Gitters basierend auf den detektierten Quanten-Rechenmustern, wobei das Qbit-Gitter eine Mehrzahl von Positionen umfasst und dynamisch konfiguriert ist, mit einigen Positionen belegt durch Qbits und anderen Positionen nicht belegt durch Qbits; und Mittel zum Modifizieren von zumindest einem Abschnitt des Quanten-Laufzeit-Codes basierend auf der Rekonfiguration des Qbit-Gitters.
  23. Die Vorrichtung gemäß Anspruch 22, wobei das Mittel zum dynamischen rekonfigurieren das Shutteln von zumindest einem Qbit von einer ersten Position innerhalb des Qbit-Gitters zu einer zweiten Position innerhalb des Qbit-Gitters ausführt.
  24. Die Vorrichtung gemäß Anspruch 23, wobei das Shutteln das Bewegen des Qbits von der ersten Position durch eine Mehrzahl von Zwischenpositionen umfasst, um an der zweiten Position anzukommen.
  25. Die Vorrichtung gemäß Anspruch 24, wobei das Qbit zu der Mehrzahl von Zwischenpositionen und der zweiten Position bewegt wird, ohne eine Swap-Gate-Operation durchzuführen.
  26. Die Vorrichtung gemäß einem der Ansprüche 22-25, wobei das Mittel zum Analysieren physikalische Interaktionen zwischen den Qbits identifiziert, die in dem Quanten-Laufzeit-Code spezifiziert sind.
  27. Die Vorrichtung gemäß einem der Ansprüche 22-26, wobei das Mittel zum Analysieren ein oder mehrere Quanten-Gates identifiziert, die durch den Quanten-Laufzeit-Code implementiert sind.
  28. Die Vorrichtung gemäß einem der Ansprüchen 22-27, wobei das Qbit-Gitter eine Quantenpunkt-Vorrichtung umfasst.
  29. Die Vorrichtung gemäß Anspruch 28, wobei jede Position in der Quantenpunkt-Vorrichtung einen Elektronenspin-basierten Quantenpunkt oder einen Lochspin-basierten Quantenpunkt umfasst.
  30. Die Vorrichtung gemäß Anspruch 29, wobei jeder Quantenpunkt mit einem oder mehreren anderen Quantenpunkten über eine oder mehrere Quantengatter-Leitungen gekoppelt ist.
  31. Die Vorrichtung gemäß Anspruch 30, wobei das Mittel zum dynamischen Rekonfigurieren des Qbit-Gitters Spannungen, Ströme, Radiofrequenz- (RF-) Signale und/oder Mikrowellensignale an eine oder mehrere der Quanten-Gate-Leitungen anlegt.
DE102019105154.1A 2018-03-30 2019-02-28 Vorrichtung und Verfahren für ein feldprogrammierbares Quanten-Array Pending DE102019105154A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/942,300 US20190042965A1 (en) 2018-03-30 2018-03-30 Apparatus and method for a field programmable quantum array
US15/942,300 2018-03-30

Publications (1)

Publication Number Publication Date
DE102019105154A1 true DE102019105154A1 (de) 2019-10-02

Family

ID=65231675

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019105154.1A Pending DE102019105154A1 (de) 2018-03-30 2019-02-28 Vorrichtung und Verfahren für ein feldprogrammierbares Quanten-Array

Country Status (3)

Country Link
US (1) US20190042965A1 (de)
CN (1) CN110321128A (de)
DE (1) DE102019105154A1 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010145B1 (en) * 2018-02-21 2021-05-18 Rigetti & Co, Inc. Retargetable compilation for quantum computing systems
US10333503B1 (en) 2018-11-26 2019-06-25 Quantum Machines Quantum controller with modular and dynamic pulse generation and routing
US10635202B1 (en) * 2018-12-18 2020-04-28 Valve Corporation Dynamic sensor assignment
US10454459B1 (en) 2019-01-14 2019-10-22 Quantum Machines Quantum controller with multiple pulse modes
US10905946B2 (en) 2019-02-28 2021-02-02 Valve Corporation Continuous controller calibration
US10505524B1 (en) 2019-03-06 2019-12-10 Quantum Machines Synchronization in a quantum controller with modular and dynamic pulse generation and routing
US20200311525A1 (en) * 2019-04-01 2020-10-01 International Business Machines Corporation Bias correction in deep learning systems
US11164100B2 (en) 2019-05-02 2021-11-02 Quantum Machines Modular and dynamic digital control in a quantum controller
CN110187885B (zh) * 2019-06-10 2023-03-31 合肥本源量子计算科技有限责任公司 一种量子程序编译的中间代码生成方法及装置
US11537925B2 (en) 2019-06-19 2022-12-27 International Business Machines Corporation System and method for latency-aware mapping of quantum circuits to quantum chips
US10931267B1 (en) 2019-07-31 2021-02-23 Quantum Machines Frequency generation in a quantum controller
US10862465B1 (en) 2019-09-02 2020-12-08 Quantum Machines Quantum controller architecture
US11245390B2 (en) 2019-09-02 2022-02-08 Quantum Machines Software-defined pulse orchestration platform
EP4028965A4 (de) * 2019-09-13 2023-08-09 The University of Chicago System und verfahren zur partiellen kompilierung mit variierenden algorithmen für quantenrechner
CN110825375B (zh) * 2019-10-12 2022-12-06 合肥本源量子计算科技有限责任公司 一种量子程序的转化方法、装置、存储介质和电子装置
CN110942152B (zh) * 2019-10-29 2024-02-13 本源量子计算科技(合肥)股份有限公司 量子芯片系统、量子计算处理系统及电子设备
US11507873B1 (en) 2019-12-16 2022-11-22 Quantum Machines Highly scalable quantum control
EP3839836A1 (de) * 2019-12-20 2021-06-23 Bull SAS Quantencomputerkompilierung
US11126926B1 (en) 2020-03-09 2021-09-21 Quantum Machines Concurrent results processing in a quantum control system
US20230153673A1 (en) * 2020-03-13 2023-05-18 Quantum Motion Technologies Limited A qubit processing method
EP4172881A1 (de) * 2020-06-26 2023-05-03 Corning Incorporated Quantenrechnersysteme mit einer rekonfigurierbaren quantenverarbeitungseinheit
US11043939B1 (en) 2020-08-05 2021-06-22 Quantum Machines Frequency management for quantum control
US11567887B2 (en) 2020-09-11 2023-01-31 International Business Machines Corporation Quantum controller fast path interface
US11671180B2 (en) 2021-04-28 2023-06-06 Quantum Machines System and method for communication between quantum controller modules

Also Published As

Publication number Publication date
US20190042965A1 (en) 2019-02-07
CN110321128A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
DE102019105154A1 (de) Vorrichtung und Verfahren für ein feldprogrammierbares Quanten-Array
DE69330432T2 (de) Universaler neuronaler netzwerkrechner und superrechner
DE112012001735T5 (de) Modulare Anordnung von Quantensystemen mit fester Kopplung zur Quanteninformationsverarbeitung
DE3856234T2 (de) Hierarchischer Aufstellungsplan
DE69421106T2 (de) Neuronales Netzwerk mit räumlich verteilter Arbeitsweise
DE102020104639A1 (de) Regularisierte Hochleistungs-Network-on-Chip-Architektur
DE102019116300A1 (de) Realisierung von binären neuronalen Netzen in Nand-Speicherarrays
DE102010044531B4 (de) Autonome Speicherarchitektur
EP4031488A1 (de) Manipulationszone für qubits in quantenpunkten
DE112009000899T5 (de) Verfahren und Vorrichtung zur hierarchischen Verkehrsführung in gitterbasierten Multiprozessorsystemen
DE112020002186B4 (de) Dnn-training mit asymmetrischen rpu-einheiten
DE102018108985B4 (de) Vertikale Speichervorrichtungen und Verfahren zum Herstellen vertikaler Speichervorrichtungen
DE112021002870T5 (de) Halbleiterschaltungs-entwurf und einheits-pin-anordnung
DE102021106911A1 (de) Vertikales abbilden und berechnen für tiefe neuronale netze in einem nichtflüchtigen speicher
DE102019116733A1 (de) Verfahren, vorrichtung und system eines integrierten schaltungslayouts
DE102021110414A1 (de) Vier-cpp-breite speicherzelle mit vergrabenem leistungsgitter und verfahren zu deren herstellung
DE102010044529A1 (de) Autonome Subsystem-Architektur
DE102019116952A1 (de) Integrierte-schaltkreis-struktur, layout-schaubild-verfahren und system
DE112020001093T5 (de) Resonanzfrequenzanpassung für qubits mit fester frequenz
DE2442850A1 (de) Verfahren zum automatischen design integrierter schaltungen
DE112017007883B4 (de) Supraleitende Kopplungseinheit in planarer Quanteneinheit, Verfahren und Supraleiter-Fertigungssystem zur Herstellung derselben
DE102020115154A1 (de) Multiplexer
DE102020132602B4 (de) Halbleitervorrichtung mit vergrabenen leitfähigen fingern und deren herstellungsverfahren
DE102023100725A1 (de) Ic-logikbauteil, layout, system und verfahren
DE102018217016A1 (de) Ein-Chip-System und Sicherheitsschaltung mit einem derartigen Ein-Chip-System