Quantinuum-Anbieter

Tipp

Erstbenutzer erhalten automatisch kostenlose Azure Quantum-Guthabenin Höhe von 500 USD für die Verwendung mit jedem teilnehmenden Quantenhardwareanbieter. Wenn Sie das gesamte Guthaben verbraucht haben und mehr benötigen, können Sie sich für das Azure Quantum Credits-Programm bewerben.

Quantinuum bietet Zugriff auf ein System mit abgefangenen Atomen mit hoher Genauigkeit, vollständig verbundenen Qubits und der Möglichkeit zur Durchführung von Messungen im Mittleren Schaltkreis.

Ziele

Bei diesem Anbieter sind folgende targets Optionen verfügbar:

Zielname Ziel-ID Anzahl von Qubits BESCHREIBUNG
H1-1-Syntaxprüfung quantinuum.sim.h1-1sc 20 Qubits Hiermit können Sie Quantenprogramme für den H1-1-Compiler überprüfen, bevor Sie sie an Hardware oder Emulatoren der Quantinuum-Plattform übermitteln. Dafür fallen keine Kosten an.
H2-1 Syntax Checker quantinuum.sim.h2-1sc 32 Qubits Verwenden Sie diese Option, um Quantenprogramme mit dem H2-1-Compiler zu überprüfen, bevor Sie die Übermittlung an Hardware oder Emulatoren auf der Plattform von Quantinuum durchführen. Dafür fallen keine Kosten an.
H1-1-Emulator quantinuum.sim.h1-1e 20 Qubits Verwendet ein realistisches physisches Modell und ein entsprechendes Rauschmodell von H1-1.
H2-1 Emulator quantinuum.sim.h2-1e 32 Qubits Verwendet ein realistisches physisches Modell und ein Rauschmodell von H2-1.
H1-1 quantinuum.qpu.h1-1 20 Qubits H1-1-Gerät mit Ionenfalle von Quantinuum.
H2-1 quantinuum.qpu.h2-1 32 Qubits Quantinuums H2-1-Ion-Gerät.

Quantinuum entspricht targets einem Basic Measurement Feedback Profil. Weitere Informationen zu diesem target Profil und seinen Einschränkungen finden Sie unter Grundlegendes zu target Profiltypen in Azure Quantum.

Alle Von Quantinuum unterstützen targets jetzt integrierte Hybridschaltungen. Weitere Informationen zum Übermitteln von integrierten Hybridaufträgen finden Sie unter Integriertes Hybrid Computing.

Informationen zu den ersten Schritten mit dem Quantinuum-Anbieter in Azure Quantum finden Sie unter Erste Schritte mit Q# und einem Azure Quantum-Notebook.

Tipp

Quantenaufträge, die unter einer Sitzung übermittelt werden, haben exklusiven Zugriff auf Quantinuum-Hardware, solange Sie Aufträge innerhalb einer Minute voneinander in die Warteschlange stellen. Danach wird jeder Auftrag akzeptiert und mit der Standardwarteschlangen- und Priorisierungslogik behandelt. Weitere Informationen finden Sie unter Sitzungen in Azure Quantum.

Syntaxprüfungen

Benutzer sollten ihren Code zunächst mithilfe einer Syntaxprüfung überprüfen. Dies ist ein Tool zum Überprüfen der richtigen Syntax, Kompilierungsabschluss und Computerkompatibilität. Syntaxprüfer verwenden denselben Compiler wie der Quantencomputer.target Beispielsweise verwendet die Syntaxprüfung H1-1 denselben Compiler wie H1-1. Der gesamte Kompilierungsstapel wird ausgeführt (mit Ausnahme der tatsächlichen Quantenvorgänge). Wenn der Code kompiliert wird, gibt die Syntaxprüfung eine success status und ein Ergebnis aller 0s zurück. Wenn der Code nicht kompiliert wird, gibt die Syntaxprüfung einen fehlerhaften status zurück und gibt den zurückgegebenen Fehler an, um Benutzern beim Debuggen ihrer Leitungssyntax zu helfen. Mit der Syntaxprüfung können Entwickler ihren Code jederzeit überprüfen, auch wenn die Computer offline sind.

  • Job-Typ: Simulation
  • Datenformate: honeywell.openqasm.v1, honeywell.qir.v1
  • Ziel-ID:
    • H1-1-Syntaxprüfung: quantinuum.sim.h1-1sc
    • H2-1 Syntax Checker: quantinuum.sim.h2-1sc
  • Zielausführungsprofil: Grundlegendes Feedback zur Messung

Die Verwendung von Syntaxprüfungen ist kostenlos.

System Model H1 Emulatoren

Nach dem Überprüfen der Syntax ihres Codes mit einer Syntaxprüfung können Benutzer die Vorteile der Systemmodell-H1-Emulatoren von Quantinuum nutzen, die Emulationstools, die ein detailliertes physisches Modell und ein realistisches Rauschmodell der tatsächlichen Systemmodell H1-Hardware enthalten. Die Rauschmodelle werden von einer detaillierten Charakterisierung der Hardware abgeleitet. Die System model H1 Emulators verwenden eine identische API für die Auftragsübermittlung wie die System Model H1-Hardware, die einen nahtlosen Übergang von der Emulation zur Hardware ermöglicht. Um die Produktivität zu maximieren und die Entwicklungszeit zu verkürzen, sind die System Model H1-Emulatoren verfügbar, auch wenn die Hardware offline ist.

Weitere Informationen finden Sie im Produktdatenblatt zum Systemmodell H1-Emulator auf der Seite Systemmodell H1 .

  • Job-Typ: Simulation
  • Datenformat: quantinuum.openqasm.v1
  • Ziel-ID:
    • H1-1-Emulator: quantinuum.sim.h1-1e
  • Zielausführungsprofil: Basic Measurement Feedback

Die Nutzung des Systemmodell H1-Emulators wird mit einem Hardwareabonnement kostenlos angeboten. Ausführliche Informationen finden Sie unter Preisdetails für Azure Quantum.

Emulator der H-Serie (cloudbasiert)

Der Emulator der H-Serie ist kostenlos auf der Seite Code with Azure Quantum auf der Azure Quantum-Website verfügbar, auf der Sie Q#-Code schreiben und Ihre Aufträge ohne Azure-Konto an den Quantinuum H-Series-Emulator übermitteln können. Der Emulator der H-Serie ist ein zustandsvektorbasierter Quantenemulator, der ein realistisches physikalisches Rauschmodell und generalisierte Fehlerparameter basierend auf der typischen Leistung eines Systemmodell H1-Quantencomputers verwendet. Die durchgeführte Quantensimulation ist identisch mit dem H1-Emulator des Systemmodells , aber die klassische Leitungsoptimierungsroutine wird reduziert, um den Durchsatz zu erhöhen. Die Unterstützung für integriertes Hybrid computing ist für ein zukünftiges Datum geplant.

Systemmodell H1

Die System Model H1 Generation von Quantencomputern, powered by Honeywell, besteht aus einem Quantum Charge-Coupled Device (QCCD) mit einem linearen Abschnitt und umfasst derzeit eine Maschine targets: die H1-1. Benutzer werden aufgefordert, die Kompatibilität ihres Codes mit dem H1-1 zu testen, indem Sie Aufträge an eine Syntaxprüfung und einen Systemmodell H1-Emulator übermitteln, bevor sie an die target Computer übermittelt werden.

Die Systemmodell H1-Maschine wird während des gesamten Produktlebenszyklus kontinuierlich aktualisiert. Benutzern wird Zugriff auf die aktuellste, fortgeschrittene und fähige Hardware verfügbare Hardware gewährt.

Weitere Informationen finden Sie im Systemmodell H1-Produktdatenblatt auf der Seite Systemmodell H1 .

  • Auftragstyp: Quantum Program
  • Datenformat: honeywell.openqasm.v1, honeywell.qir.v1
  • Ziel-ID:
    • H1-1: quantinuum.qpu.h1-1
  • Zielausführungsprofil: Basic Measurement Feedback

Systemmodell-H2-Emulator

Nach der Überprüfung der Syntax ihres Codes mit der H2-1-Syntaxprüfung können Benutzer den Systemmodell H2-Emulator von Quantinuum nutzen, ein Emulationstool, das ein detailliertes physisches Modell und ein realistisches Rauschmodell der tatsächlichen Systemmodell H2-Hardware enthält. Weitere Informationen zum Rauschmodell finden Sie im Produktdatenblatt Systemmodell H2 Emulator auf der Seite Systemmodell H2 . Der System model H2 Emulator verwendet eine identische API für die Auftragsübermittlung wie die System Model H2-Hardware, die einen nahtlosen Übergang von der Emulation zur Hardware ermöglicht. Um die Produktivität zu maximieren und die Entwicklungszeit zu verkürzen, ist der H2-Emulator verfügbar, auch wenn die Hardware offline ist.

Die Nutzung des H2-Systemmodell-Emulators wird kostenlos mit einem Hardwareabonnement angeboten. Ausführliche Informationen finden Sie unter Preisdetails für Azure Quantum.

Systemmodell H2

Die Quantinuum System Model H2 Generation von Quantencomputern, powered by Honeywell, besteht aus einem Quantum Charge-Coupled Device (QCCD) mit zwei verbundenen linearen Abschnitten und verfügt derzeit über eine Maschine, die H2-1. Weitere Informationen finden Sie im Systemmodell H2-Produktdatenblatt auf der Seite Systemmodell H2 . Benutzern wird empfohlen, die Kompatibilität ihres Codes zu testen, indem sie Aufträge an eine Syntaxprüfung und einen H2-Systemmodellemulator übermitteln, bevor sie an die target Computer übermittelt werden.

Wenn ein Benutzer einen Auftrag an den H2-1-Computer übermittelt und der H2-1-Computer nicht verfügbar ist, verbleibt der Auftrag in der Warteschlange dieses Computers, bis der Computer verfügbar ist.

Die Hardware des Systemmodells H2 wird während des gesamten Produktlebenszyklus kontinuierlich aktualisiert. Benutzern wird Zugriff auf die aktuellste, fortgeschrittene und fähige Hardware verfügbare Hardware gewährt.

Technische Spezifikationen des Systemmodells H1 und H2

Technische Details für Das Systemmodell H1 und das Systemmodell H2 finden Sie in den Produktdatenblättern von Quantinuum auf den Seiten Systemmodell H1 und Systemmodell H2 sowie Links zu Quantinuum-Spezifikation und Quantenvolumendatenrepositorys und zur Verwendung von Quantinuum-Systemen.

Weitere Funktionen

Weitere Funktionen, die über die Quantinuum-API verfügbar sind, sind hier aufgeführt.

Funktion BESCHREIBUNG
Mid-Circuit Measurement and Reset (MCMR) Messen von Qubits in der Mitte einer Verbindung und Wiederverwenden
Beliebige Winkel ZZ-Tore Direktes Ausführen beliebiger Winkeltordrehungen mit 2 Qubit
Emulatorrauschparameter Experimentieren mit den Rauschparametern, die in den Quantinuum-Emulatoren der H-Serie verwendet werden
TKET-Optimierungen im Stapel der H-Serie Experimentieren mit dem Aktivieren verschiedener Ebenen von TKET-Optimierungen im Stapel der H-Serie

Benutzer können diese zusätzlichen Funktionen über Leitungsfunktionen oder Passthroughparameter in den Azure Quantum Q#- und Qiskit-Anbietern nutzen.

Mid-Circuit-Messung und Rücksetzung

Mid-Circuit Measurement and Reset (MCMR) ermöglicht es Benutzern, Qubits in der Mitte einer Schaltung zu messen und zurückzusetzen. Dies ermöglicht Funktionen für die Quantenfehlerkorrektur sowie die Möglichkeit, Qubits innerhalb der Schaltung wiederzuverwenden.

Aufgrund der internen Ebenenstruktur von Trapped-Ion-Qubits kann eine Mid-Circuit-Messung das Qubit in einem nicht rechnerischen Zustand hinterlassen. Auf alle Mid-Circuit-Messungen sollte eine Zurücksetzung folgen, wenn das Qubit wieder in dieser Schaltung verwendet werden soll. Die folgenden Codebeispiele veranschaulichen dies.

Wenn eine Teilmenge von Qubits in der Mitte des Stromkreises gemessen wird, können die klassischen Informationen aus diesen Messungen verwendet werden, um zukünftige Elemente der Schaltung zu konditionieren. In den Beispielen wird auch diese Verwendung hervorgehoben.

Informationen zu MCMR in Quantinuum-Systemen finden Sie in den Produktdatenblättern der H-Serie auf den Seiten Systemmodell H1 und Systemmodell H2 .

In Q# kann die MResetZ Funktion sowohl zum Messen eines Qubits als auch zum Zurücksetzen verwendet werden. Weitere Informationen zu dieser Funktion finden Sie MResetZ in der Q#-Dokumentation.

%%qsharp
open Microsoft.Quantum.Intrinsic;
open Microsoft.Quantum.Measurement;

operation ContinueComputationAfterReset() : Result[] {
    // Set up circuit with 2 qubits
    use qubits = Qubit[2];

    // Perform Bell Test
    H(qubits[0]);
    CNOT(qubits[0], qubits[1]);

    // Measure Qubit 1 and reset it
    let res1 = MResetZ(qubits[1]);

    // Continue additional computation, conditioned on qubits[1] measurement outcome
    if res1 == One {
         X(qubits[0]);
    }
    CNOT(qubits[0], qubits[1]);

    // Measure qubits and return results
    let res2 = Measure([PauliZ, PauliZ], qubits);
    return [res1, res2];
}

Beliebige Winkel ZZ-Tore

Das native Gate-Set von Quantinuum enthält beliebige winkelnde ZZ-Tore. Dies ist von Vorteil, um die 2-Qubit-Gate-Anzahl für viele Quantenalgorithmen und Gatesequenzen zu reduzieren. Informationen zu ZZ-Toren mit beliebigen Winkeln in Quantinuum-Systemen finden Sie in den Produktdatenblättern der H-Serie auf den Seiten Systemmodell H1 und Systemmodell H2 .

In Q# wird das beliebige Winkel-ZZ-Gate mit dem Rzz Vorgang implementiert.

%%qsharp
open Microsoft.Quantum.Intrinsic;
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;

operation ContinueComputationAfterReset(theta : Double) : Result[] {
    
    // Set up circuit with 2 qubits
    use qubits = Qubit[2];

    // Create array for measurement results
    mutable resultArray = [Zero, size = 2];

    H(qubits[0]);
    Rz(theta, qubits[0]);
    Rz(theta, qubits[1]);
    X(qubits[1]);

    // Add Arbitrary Angle ZZ gate
    Rzz(theta, qubits[0], qubits[1]);  

    // Measure qubits and return results
    for i in IndexRange(qubits) {
        set resultArray w/= i <- M(qubits[i]);  
    }
    
    return resultArray;
}

Emulatorrauschparameter

Benutzer haben die Möglichkeit, mit den Rauschparametern der Quantinuum-Emulatoren zu experimentieren. Hier sind nur einige der verfügbaren Rauschparameter hervorgehoben , die zeigen, wie die Parameter in den Azure Quantum-Anbietern übergeben werden.

Weitere Informationen zu den verfügbaren Rauschparametern finden Sie in den Produktdatenblättern des Emulators der H-Serie auf den Seiten Systemmodell H1 und Systemmodell H2 .

Importieren Sie zunächst die erforderlichen Pakete, und initiieren Sie das Basisprofil:

import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)

Definieren Sie als Nächstes die -Funktion.

%%qsharp
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.Convert;

operation GenerateRandomBit() : Result {
    use target = Qubit();

    // Apply an H-gate and measure.
    H(target);
    return M(target);
}

und kompilieren Sie den Vorgang:

MyProgram = qsharp.compile("GenerateRandomBit()")

Stellen Sie eine Verbindung mit Azure Quantum her, wählen Sie den target Computer aus, und konfigurieren Sie die Rauschparameter für den Emulator:

MyWorkspace = azure.quantum.Workspace(
    resource_id = "",
    location = ""
)

MyTarget = MyWorkspace.get_targets("quantinuum.sim.h1-1e")

# Update the parameter names desired
# Note: This is not the full set of options available. 
# For the full set, see the System Model H1 Emulator Product Data Sheet
option_params = {
    "error-params": {
        "p1": 4e-5,
        "p2": 3e-3,
        "p_meas": [3e-3, 3e-3],
        "p_init": 4e-5,
        "p_crosstalk_meas": 1e-5,
        "p_crosstalk_init": 3e-5,
        "p1_emission_ratio": 6e-6,
        "p2_emission_ratio": 2e-4
    }
}

Übergeben Sie beim Übermitteln des Auftrags die Emulatorrauschoptionen:

job = MyTarget.submit(MyProgram, "Experiment with Emulator Noise Parameters", 
                      shots = 10, 
                      input_params = option_params)
job.get_results()

Um das Emulatorrauschmodell zu deaktivieren, legen Sie die error-model Option auf fest False. Sie ist standardmäßig auf True festgelegt.

option_params = {
    "error-model": False 
}

Um den Stabilisatoremulator zu verwenden, legen Sie die simulator Option auf fest stabilizer. Sie ist standardmäßig auf state-vector festgelegt.

option_params = {
    "simulator": "stabilizer" 
}

TKET-Kompilierung im Stapel der H-Serie

Leitungen, die an Systeme der Quantinuum H-Serie übermittelt werden, mit Ausnahme integrierter Hybridübermittlungen, werden automatisch über TKET-Kompilierungsdurchläufe für H-Serie-Hardware ausgeführt. Dadurch können Leitungen automatisch für Systeme der H-Serie optimiert und effizienter ausgeführt werden.

Weitere Informationen zu den angewendeten Kompilierungsdurchläufen finden Sie in der pytket-quantinuum Dokumentation, insbesondere im pytket-quantinuum Abschnitt Kompilierungsdurchläufe .

Im Softwarestapel der H-Serie wird die angewendete Optimierungsebene mit dem tket-opt-level -Parameter festgelegt. Die Standardeinstellung für die Kompilierung für alle an Systeme der H-Serie übermittelten Leitungen ist Optimierungsgrad 2.

Benutzer, die mit den TKET-Kompilierungsdurchläufen experimentieren möchten und sehen möchten, welche Optimierungen für ihre Verbindungen gelten würden, bevor sie Aufträge übermitteln, können das Notebook Quantinuum_compile_without_api.ipynb im pytket-quantinuum Ordner Examples anzeigen.

Weitere Informationen zu pytketfinden Sie unter den folgenden Links:

Importieren Sie zunächst die erforderlichen Pakete, und initiieren Sie das Basisprofil:

import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)

Definieren Sie als Nächstes die -Funktion.

%%qsharp
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.Convert;

operation GenerateRandomBit() : Result {
    use target = Qubit();

    // Apply an H-gate and measure.
    H(target);
    return M(target);
}

und kompilieren Sie den Vorgang:

MyProgram = qsharp.compile("GenerateRandomBit()")

Stellen Sie eine Verbindung mit Azure Quantum her, wählen Sie den target Computer aus, und konfigurieren Sie die Rauschparameter für den Emulator:

MyWorkspace = azure.quantum.Workspace(
    resource_id = "",
    location = ""
)

MyTarget = MyWorkspace.get_targets("quantinuum.sim.h1-1e")

# Update TKET optimization level desired
option_params = {
    "tket-opt-level": 1
}

Übergeben Sie die Otimisierungsoption, wenn Sie den Auftrag übermitteln:

job = MyTarget.submit(MyProgram, "Experiment with TKET Compilation", shots = 10, input_params = option_params)
job.get_results()

Technische Spezifikationen

Technische Details für das Systemmodell H1 und H2 sowie die Systemmodell H1- und H2-Emulatoren finden Sie in den Produktdatenblättern von Quantinuum auf der Seite Systemmodell H1 und Systemmodell H2 sowie Links zu Quantinuum-Spezifikations- und Quantenvolumendatenrepositorys und zur Verwendung von Quantinuum-Systemen.

Zielverfügbarkeit

Die Quantencomputer der Quantinuum H-Serie sollen kontinuierlich aktualisiert werden. Dadurch haben Kunden Zugriff auf die neuesten Hardwarefunktionen, da Quantinuum kontinuierlich die Gatterfidelität und Systemgeschwindigkeit verbessert sowie Speicherfehler behebt.

Quantinuum-Hardware durchläuft kommerzielle Phasen und Entwicklungsphasen. Während kommerzieller Phasen ist die Hardware für die Verarbeitung von Aufträgen über ein Warteschlangensystem verfügbar. Während der Entwicklungsphasen ist die Hardware offline, da Upgrades angewendet werden.

Jeden Monat wird ein Kalender an Quantinuum-Benutzer gesendet, die Informationen zu den kommerziellen Phasen und Entwicklungsphasen erhalten. Wenn Sie diesen Kalender nicht erhalten haben, senden Sie bitte E-Mail an QCsupport@quantinuum.com.

Ein targetstatus gibt seine aktuelle Fähigkeit an, Aufträge zu verarbeiten. Die möglichen Zustände eines target umfassen:

  • Verfügbar: Die target ist online, verarbeitet übermittelte Aufträge und akzeptiert neue Aufträge.
  • Beeinträchtigt: Die target akzeptiert Aufträge, verarbeitet diese aber derzeit nicht.
  • Nicht verfügbar: Der target ist offline und akzeptiert keine neuen Auftragsübermittlungen.

Für den Quantinuum-Quantencomputer targetsentsprechen Verfügbar und Degraded kommerziellen Zeiträumen, während Nicht verfügbar den Entwicklungszeiträumen entspricht, in denen der Computer für Upgrades offline ist.

Aktuelle Statusinformationen können im Azure-Portal auf der Registerkarte Anbieter eines Arbeitsbereichs abgerufen werden.

Preise

Die Abrechnungspläne für Quantinuum finden Sie unter Azure Quantum-Preise.

Grenzen und Kontingente

Quantinuums Kontingente werden basierend auf der QPU-Nutzungsgutschrifteinheit H-System Quantum Credit (HQC) für Aufträge nachverfolgt, die an Quantinuum-Quantencomputer übermittelt werden, und Emulator-HQCs (eHQCs) für Aufträge, die an Emulatoren übermittelt werden.

HQCs und eHQCs werden verwendet, um die Kosten einer Auftragsausführung zu berechnen. Die Berechnung basiert auf der folgenden Formel:

$$ HQC = 5 + C(N_{1q} + 10 N_{2q} + 5 N_m)/5000 $$

Dabei gilt:

  • $N_{1q}$ ist die Anzahl der Ein-Qubit-Vorgänge in einer Schaltung.
  • $N_{2q}$ ist die Anzahl der nativen Zwei-Qubit-Vorgänge in einer Schaltung. Natives Gate entspricht CNOT bis zu mehreren Ein-Qubit-Gates.
  • $N_{m}$ ist die Anzahl der Zustandsvorbereitungs- und Messvorgänge (State Preparation and Measurement, SPAM) in einer Schaltung einschließlich der anfänglichen impliziten Zustandsvorbereitung und aller Zwischen- und endgültigen Messungen sowie Zustandszurücksetzungen.
  • $C$ ist die Anzahl der Ausführungen.

Hinweis

Die Gesamtkosten in HQCs umfassen alle Gates und Messungen über alle bedingten Verzweigungen oder Kontrollflüsse hinweg. Dies kann einen höheren Einfluss auf integrierte Hybridaufträge haben.

Kontingente basieren auf dem ausgewählten Plan und können per Supportticket erhöht werden. Navigieren Sie zum Anzeigen Ihrer aktuellen Grenzwerte und Kontingente zum Blatt Gutschriften und Kontingente, und wählen Sie die Registerkarte Kontingente Ihres Arbeitsbereichs im Azure-Portal aus. Weitere Informationen finden Sie unter Azure Quantum-Kontingente.

Hinweis

Wenn Sie einen Azure Quantum-Guthabenplan und keinen Abrechnungsplan verwenden, werden die Kontingentinformationen Ihrem zugeteilten Guthaben zugeordnet. In diesem Fall wird für das Kontingent das Guthaben aufgeführt, das Sie insgesamt erhalten haben.