共用方式為


Quantinuum 提供者

提示

當您建立 Azure Quantum 工作區時,會自動為每個量子硬體提供者取得 500 美元的免費 Azure Quantum 點數 。 您可以使用 Azure Quantum 點數,將第一個量子程式提交到真正的量子硬體。

Quantinuum 可讓您存取具有高精確度、完全連接量子位的捕獲離子系統,以及執行中電路測量的能力。

  • 發行者: Quantinuum
  • 提供者識別碼: quantinuum

Targets

下列 targets 項目可從此提供者取得:

Target 名稱 Target 標識碼 量子位數目 描述
H1-1 語法檢查程式 quantinuum.sim.h1-1sc 20 個量子位 在提交至 Quantinuum 平臺上的硬體或模擬器之前,使用此方法驗證 H1-1 編譯程式的量子程式。 免費。
H2-1 語法檢查程式 quantinuum.sim.h2-1sc 56 個量子位 在提交至 Quantinuum 平臺上的硬體或模擬器之前,請先對 H2-1 編譯程式驗證量子程式。 免費。
H1-1 模擬器 quantinuum.sim.h1-1e 20 個量子位 使用 H1-1 的實際實體模型和雜訊模型。
H2-1 模擬器 quantinuum.sim.h2-1e 56/32 量子位 使用 H2-1 的實際實體模型和雜訊模型。 56 量子位模擬僅適用於穩定器模擬
H1-1 quantinuum.qpu.h1-1 20 個量子位 昆蒂努姆的H1-1被困離子裝置。
H2-1 quantinuum.qpu.h2-1 56 個量子位 昆蒂努姆的H2-1捕獲離子裝置。

Quantinuum 的 targets 對應到 QIR Adaptive RI 配置檔。 如需此 target 配置檔及其限制的詳細資訊,請參閱 瞭解 target Azure Quantum 中的配置檔類型。

所有 Quantinuum targets 現在都支援整合式混合式線路。 如需提交整合式混合式作業的詳細資訊,請參閱 整合式混合式運算

若要開始使用 Azure Quantum 上的 Quantinuum 提供者,請參閱 開始使用 Q# 和 Azure Quantum Notebook

提示

只要您在彼此之間的一分鐘內將作業排入佇列,會話下提交的量子作業就具有 Quantinuum 硬體的獨佔存取 權。 之後,任何作業都會接受並使用標準佇列和優先順序邏輯來處理。 如需詳細資訊,請參閱 Azure Quantum 中的會話。

語法檢查程式

我們建議使用者先使用語法檢查程式來驗證其程序代碼。 這是驗證適當語法、編譯完成和計算機相容性的工具。 語法檢查程式會使用與量子 target計算機相同的編譯程式。 例如,H1-1 語法檢查程式會使用與 H1-1 相同的編譯程式。 除了實際的量子作業之外,會執行完整的編譯堆疊。 如果程式代碼編譯,語法檢查程式會 success 傳回所有 0 的狀態和結果。 如果程式代碼未編譯,語法檢查程式會傳回失敗狀態,並提供傳回的錯誤,以協助用戶偵錯其線路語法。 語法檢查程式可讓開發人員隨時驗證其程序代碼,即使機器離線也一樣。

  • 工作類型: Simulation
  • 數據格式: honeywell.openqasm.v1honeywell.qir.v1
  • Target 識別碼:
    • H1-1 語法檢查程式: quantinuum.sim.h1-1sc
    • H2-1 語法檢查程式: quantinuum.sim.h2-1sc
  • Target 執行設定檔: QIR Adaptive RI

語法檢查程式使用量免費提供。

系統模型 H1 模擬器

使用語法檢查程式驗證其程式代碼的語法之後,使用者可以利用Quantinuum的系統模型 H1 模擬器、包含實際系統模型 H1 硬體的詳細實體模型和實際雜訊模型的模擬工具。 雜訊模型衍生自硬體的詳細特徵。 系統模型 H1 模擬器使用與系統模型 H1 硬體相同的作業提交 API,讓模擬順暢地轉換到硬體。 為了協助將生產力最大化並縮短開發時間,即使硬體離線,系統模型 H1 模擬器仍可供使用。

如需詳細資訊,請參閱在 [系統模型 H1] 頁面上找到的系統模型 H1 模擬器產品數據工作表

  • 工作類型: Simulation
  • 資料格式: quantinuum.openqasm.v1
  • Target 識別碼:
    • H1-1 模擬器: quantinuum.sim.h1-1e
  • Target 執行設定檔: QIR Adaptive RI

系統型號 H1 模擬器使用量隨附硬體訂用帳戶免費。 如需詳細資訊,請參閱 Azure Quantum 定價

H 系列模擬器(雲端式)

H 系列模擬器可在 Azure Quantum 網站上的 [使用 Azure Quantum 的程式代碼] 頁面上免費取得,您可以在其中撰寫 Q# 程式代碼,並將作業提交至沒有 Azure 帳戶的 Quantinuum H 系列模擬器。 H 系列模擬器是以 statevector 為基礎的量子模擬器,會根據系統模型 H1 量子計算機的一般效能,使用實際的實體雜訊模型和一般化錯誤參數。 執行的量子模擬與 系統模型 H1 模擬器 相同,但傳統線路優化例程會減少以增加輸送量。 整合式混合式運算的支持計劃在未來日期。

系統模型 H1

由 Honeywell 提供電源的量子計算機系統模型 H1 代是由具有一個線性區段的量子充電結合裝置 (QCCD)所組成,目前包含一部計算機 targets:H1-1。 建議使用者在將作業提交至語法檢查程式和系統模型 H1 模擬器之前target,先測試其程式代碼與 H1-1 的相容性。

系統型號 H1 機器在其產品生命週期內持續升級。 用戶可以存取最新、進階且可用的硬體。

如需詳細資訊,請參閱在 [系統模型 H1] 頁面上找到的系統模型 H1 產品數據工作表

  • 工作類型: Quantum Program
  • 數據格式: honeywell.openqasm.v1honeywell.qir.v1
  • Target 識別碼:
    • H1-1: quantinuum.qpu.h1-1
  • Target 執行設定檔: QIR Adaptive RI

系統模型 H2 模擬器

使用 H2-1 語法檢查程式驗證其程式代碼的語法之後,使用者可以利用 Quantinuum 的系統模型 H2 模擬器,這是模擬工具,其中包含實際系統模型 H2 硬體的詳細實體模型和實際雜訊模型。 如需雜訊模型的詳細資訊,請參閱在 [系統模型 H2] 頁面上找到的系統模型 H2 模擬器產品數據工作表。 系統模型 H2 模擬器使用與系統模型 H2 硬體相同的作業提交 API,讓模擬到硬體的無縫轉換。 為了協助將生產力最大化並縮短開發時間,即使硬體已脫機,仍可使用 H2 模擬器。

  • 工作類型: Simulation
  • 資料格式: quantinuum.openqasm.v1
  • Target 識別碼:
    • H2-1 模擬器: quantinuum.sim.h2-1e
  • Target 執行設定檔: QIR Adaptive RI

系統模型 H2 模擬器使用量隨附硬體訂用帳戶免費。 如需詳細資訊,請參閱 Azure Quantum 定價

系統模型 H2

Quantinuum 系統型號 H2 代量子計算機由 Honeywell 提供,由量子充電結合裝置 (QCCD) 組成,具有兩個連接的線性區段,目前有 1 部機器 H2-1。 如需詳細資訊,請參閱在 [系統模型 H2] 頁面上找到的系統模型 H2 產品數據工作表。 建議使用者先將作業提交至語法檢查程式和系統模型 H2 模擬器,再將其提交至target計算機,以測試其程式代碼的相容性。

如果使用者將作業提交至 H2-1 計算機,且 H2-1 計算機無法使用,則工作會保留在該電腦的佇列中,直到計算機可供使用為止。

系統型號 H2 硬體會在產品生命週期內持續升級。 用戶可以存取最新、進階且可用的硬體。

  • 工作類型: Quantum Program
  • 資料格式: quantinuum.openqasm.v1
  • Target 識別碼:
    • H2-1: quantinuum.qpu.h2-1
  • Target 執行設定檔: QIR Adaptive RI

系統模型 H1 和 H2 技術規格

您可以在 Quantinuum 系統模型 H1 和系統模型 H2 頁面上的 Quantinuum 產品數據表中 找到系統模型 H1系統模型 H2 的技術詳細數據,以及 Quantinuum 規格和量子量數據存放庫的連結,以及如何引用 Quantinuum 系統的使用量。

其他功能

這裡列出透過Quantinuum API提供的其他功能。

功能 描述
中電路測量和重設 (MCMR) 測量線路中間的量子位並重複使用
任意角度 ZZ 閘道 直接執行 2 量子位任意角度閘道旋轉
模擬器雜訊參數 實驗 Quantinuum H 系列模擬器中使用的雜訊參數
H 系列堆疊中的 TKET 優化 實驗在 H 系列堆疊中開啟不同層級的 TKET 優化

用戶可以透過線路函式或 Azure Quantum Q# 和 Qiskit 提供者中的傳遞參數,利用這些額外的功能。

中電路測量和重設

中電路測量和重設 (MCMR) 可讓用戶測量電路中間的量子位,並重設它們。 這可啟用量子誤差修正的功能,以及能夠重複使用線路內的量子位。

由於截獲離子量子位的內部層級結構,中電路測量可能會使量子位處於非計算狀態。 如果量子位要在該線路中再次使用,則所有中間電路測量都應該接著重設。 下列程式代碼範例示範這一點。

當量子位子集在電路中間測量時,這些測量中的傳統資訊可以用來條件電路的未來元素。 這些範例也會反白顯示此使用方式。

如需 Quantinuum 系統中 MCMR 的資訊,請參閱系統型號 H1系統型號 H2 頁面上的 H 系列產品數據工作表。

在 Q# 中 MResetZ ,函式可用來測量量子位並重設它。 如需此函式的詳細資訊,請參閱 MResetZ Q# 檔案中的 。

%%qsharp
import Std.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];
}

任意角度 ZZ 閘道

Quantinuum 的原生閘道包括任意角度 ZZ 閘道。 這有利於減少許多量子演算法和閘道序列的 2 量子位閘道計數。 如需 Quantinuum 系統中任意角度 ZZ 閘道的資訊,請參閱系統型號 H1系統型號 H2 頁面上的 H 系列產品數據工作表。

在 Q# 中,任意角度 ZZ 閘道是使用 Rzz 作業實作。

%%qsharp
import Std.Intrinsic.*;
import Std.Measurement.*;
import Std.Arrays.*;

operation ArbitraryAngleZZExample(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) {
        resultArray w/= i <- M(qubits[i]);  
    }
    
    return resultArray;
}

蘇將軍(4) 糾纏門

昆蒂努姆的本地門集包括一般蘇(4)糾纏門。 請注意,提交至硬體的量子線路會重新基底到完全糾纏的 ZZ 閘道和任意角度 RZZ 閘道。 如果使用者選擇進入,線路只會重新調整至一般 SU(4) 糾纏閘道。 如需 Quantinuum 系統中的一般 SU(4) Entangler 資訊,請參閱系統型號 H1系統型號 H2 頁面上的 H 系列產品數據工作表。

在 Q# 中,一般 SU(4) 糾纏門是透過 Quantinuum 的 QIR 配置文件來實作。 若要使用它,請使用自定義內部函數來定義符合 QIR 配置檔簽章的函式,並在作業內 SU4Example 使用此函式。

為了確保線路以一般 SU(4) 糾纏閘道執行,請在 H 系列堆疊中傳遞下列選項:

  • nativetq: Rxxyyzz 以防止重新套用至其他原生閘道。
  • noreduce: True 以避免其他編譯程式優化 (選擇性)。
%%qsharp
import Std.Math.*;

operation __quantum__qis__rxxyyzz__body(a1 : Double, a2 : Double, a3 : Double, q1 : Qubit, q2 : Qubit) : Unit {
    body intrinsic;
}

operation SU4Example() : Result[] {
    use qs = Qubit[2];
    
    // Add SU(4) gate
    __quantum__qis__rxxyyzz__body(PI(), PI(), PI(), qs[0], qs[1]);
    
    MResetEachZ(qs)
}

現在編譯作業:

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

線上到 Azure Quantum、選取 target 機器,然後設定模擬器的雜訊參數:

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

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

# Update TKET optimization level desired
option_params = {
    "nativetq": `Rxxyyzz`,
    "noreduce": True
}

提交工作時傳入 noreduce 選項:

job = MyTarget.submit(MyProgram, "Submit a program with SU(4) gate", shots = 10, input_params = option_params)
job.get_results()

模擬器雜訊參數

用戶可以選擇實驗 Quantinuum 模擬器的雜訊參數。 這裡只會反白顯示 一些可用的雜訊參數,示範如何傳遞 Azure Quantum 提供者中的參數。

如需可用之一組完整雜訊參數的詳細資訊,請參閱系統型號 H1系統模型 H2 頁面上的 H 系列模擬器產品數據工作表。

首先,匯入必要的套件並起始基底配置檔:

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

接下來,定義函式。

%%qsharp
import Std.Measurement.*;
import Std.Arrays.*;
import Std.Convert.*;

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

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

並編譯作業:

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

線上到 Azure Quantum、選取 target 機器,然後設定模擬器的雜訊參數:

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
    }
}

提交作業時傳入模擬器雜訊選項:

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

若要關閉模擬器雜訊模型,請將 選項設定 error-modelFalse。 根據預設,這會設定為 True

option_params = {
    "error-model": False 
}

若要使用穩定器模擬器,請將 simulator 選項設定為 stabilizer。 根據預設,這會設定為 state-vector

option_params = {
    "simulator": "stabilizer" 
}

H 系列堆疊中的 TKET 編譯

提交至 Quantinuum H 系列系統的線路, 除了整合式混合式提交之外,會自動透過 H 系列硬體的 TKET 編譯階段執行。 這可讓線路自動針對 H 系列系統優化,並更有效率地執行。

如需所套用之特定編譯階段的詳細資訊,請參閱 pytket-quantinuum 檔,特別是 pytket-quantinuum 編譯階段 一節。

在 H 系列軟體堆疊中,套用的優化層級會設定為 tket-opt-level 參數。 提交至 H 系列系統之所有線路的預設編譯設定為優化層級 2。

想要實驗 TKET 編譯的用戶會通過,並查看哪些優化會套用至其線路,再提交任何作業,即可在 [範例] 資料夾中看到 Quantinuum_compile_without_api.ipynb 筆記本pytket-quantinuum

若要關閉堆疊中的 TKET 編譯,可以設定為 Trueoption_params的不同選項no-opt。 例如: "no-opt": True

如需 的詳細資訊 pytket,請參閱下列連結:

首先,匯入必要的套件並起始基底配置檔:

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

接下來,定義函式。

%%qsharp
import Std.Measurement.*;
import Std.Arrays.*;
import Std.Convert.*;

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

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

並編譯作業:

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

線上到 Azure Quantum、選取 target 機器,然後設定模擬器的雜訊參數:

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
}

提交作業時傳入優化選項:

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

技術規格

如需系統模型 H1 和 H2 和系統模型 H1 和 H2 模擬器的技術詳細數據,請參閱 System Model H1 和 System Model H2 頁面的 Quantinuum 產品數據工作表,以及 Quantinuum 規格和量子磁碟區數據存放庫的連結,以及如何引用 Quantinuum 系統的使用量。

Target 可用性

Quantinuum H 系列量子計算機的設計目的是要持續升級,讓客戶能夠存取最新的硬體功能,因為 Quantinuum 會持續改善網關精確度、記憶體錯誤和系統速度。

Quantinuum 硬體會迴圈到商業週期和開發期間。 在商業期間,硬體可透過佇列系統處理作業。 在開發期間,硬體會在套用升級時脫機。

每個月,都會將日曆傳送給 Quantinuum 使用者,其中包含商業和發展期間的資訊。 如果您尚未收到此行事曆,請傳送電子郵件 QCsupport@quantinuum.com給 。

target的狀態表示其目前處理作業的能力。 可能的狀態 target 包括:

  • 可用: target 已上線、處理送出的工作,並接受新的作業。
  • 降級: target 正在接受作業,但目前不會處理這些作業。
  • 無法使用: target 離線,不接受新的作業提交。

針對 Quantinuum 量子電腦targets,[可用] 和 [已降級] 會對應至商業期間,而 [無法使用] 則對應至電腦離機進行升級的開發期間。

目前的狀態資訊可以從 Azure 入口網站 工作區的 [提供者] 索引卷標擷取

定價

若要查看 Quantinuum 的計費方案,請流覽 Azure Quantum 定價

限制和配額

針對提交至 Quantinuum 量子電腦的工作,以及提交至模擬器之工作的 QPU 使用量信用單位、 H-System Quantum Credit (HQC),以及模擬器 HQC (eHQCs) 的作業,可追蹤 Quantinuum 配額。

HQC 和 eHQC 是用來計算執行作業的成本,而且會根據下列公式來計算:

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

其中:

  • $N_{1q}$ 是線路中一個量子位作業的數目。
  • $N_{2q}$ 是線路中的原生雙量子位作業數目。 原生網關相當於 CNOT 最多數個一量子位網關。
  • $N_{m}$ 是線路中狀態準備和測量 (SPAM) 作業的數目,包括初始隱含狀態準備,以及任何中繼和最終的度量和狀態重設。
  • $C$ 是拍攝計數。

注意

HQC 的總成本包括所有條件式分支或控制流程的所有閘道和度量。 這可能會對整合式混合式作業產生更高的影響。

配額是以方案選取為基礎,且可透過支援票證來增加。 若要查看目前的限制和配額,請移至 [點數和配額] 刀鋒視窗,然後選取工作區 Azure 入口網站 的 [配額] 索引卷標。 如需詳細資訊,請參閱 Azure Quantum 配額

注意

如果您使用 Azure Quantum 點數 方案,而不是計費方案,配額資訊會對應至您配置的點數。 在此情況下,配額會列出您收到的點數總數。