Quantinuum 提供者
提示
第一次用戶會自動取得 免費 $500 (USD) Azure Quantum 點數 ,以便與每個參與的量子硬體提供者搭配使用。 如果您已使用所有點數,但還需要更多,可以申請 Azure Quantum 點數方案。
Quantinuum 可讓您存取具有高精確度、完全連接的量子位,以及執行中間電路測量的能力。
- 發行者:Quantinuum
- 提供者識別碼:
quantinuum
Targets
此提供者提供下列 targets 專案:
目標名稱 | 目標標識碼 | 量子位數目 | Description |
---|---|---|---|
H1-1 語法檢查程式 | quantinuum.sim.h1-1sc | 20 個量子位 | 在提交至 Quantinuum 平臺上的硬體或模擬器之前,使用此方法驗證 H1-1 編譯程式的量子程式。 免費。 |
H2-1 語法檢查程式 | quantinuum.sim.h2-1sc | 32 個量子位 | 在提交至 Quantinuum 平臺上的硬體或模擬器之前,使用此方法驗證 H2-1 編譯程式的量子程式。 免費。 |
H1-1 模擬器 | quantinuum.sim.h1-1e | 20 個量子位 | 使用 H1-1 的實際實體模型和雜訊模型。 |
H2-1 模擬器 | quantinuum.sim.h2-1e | 32 個量子位 | 使用 H2-1 的實際實體模型和雜訊模型。 |
H1-1 | quantinuum.qpu.h1-1 | 20 個量子位 | Quantinuum 的 H1-1 已截獲電電裝置。 |
H2-1 | quantinuum.qpu.h2-1 | 32 個量子位 | Quantinuum 的 H2-1 被截獲的電池裝置。 |
Quantinuum 的 targets 對應至 Basic Measurement Feedback 配置檔。 如需此 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.v1
、honeywell.qir.v1
- 目標識別碼:
- H1-1 語法檢查程式:
quantinuum.sim.h1-1sc
- H2-1 語法檢查程式:
quantinuum.sim.h2-1sc
- H1-1 語法檢查程式:
- 目標執行設定檔:基本測量回饋
語法檢查程式使用量免費提供。
系統模型 H1 模擬器
使用語法檢查程式驗證其程式代碼的語法之後,使用者可以利用Quantinuum的系統模型 H1 模擬器、模擬工具,其中包含實際系統模型H1硬體的詳細實體模型和實際雜訊模型。 雜訊模型衍生自硬體的詳細問題。 系統模型 H1 模擬器會使用與系統模型 H1 硬體相同的 API 提交作業,以便從模擬順暢地轉換到硬體。 為了協助將生產力最大化並縮短開發時間,即使硬體離線,系統模型 H1 模擬器仍可供使用。
您可以在系統模型 H1 頁面上找到的系統模型 H1 模擬器產品數據工作表中找到詳細資訊。
- 作業類型:
Simulation
- 資料格式:
quantinuum.openqasm.v1
- 目標識別碼:
- H1-1 模擬器:
quantinuum.sim.h1-1e
- H1-1 模擬器:
- 目標執行設定檔: Basic Measurement Feedback
系統模型 H1 模擬器使用量會隨硬體訂用帳戶免費提供。 如需詳細資訊,請參閱 Azure Quantum 定價。
H 系列模擬器 (雲端式)
H 系列模擬器可在 Azure Quantum 網站上的 [使用 Azure Quantum 的程式代碼 ] 頁面上免費取得,您可以在其中撰寫 Q# 程式代碼,並將作業提交至沒有 Azure 帳戶的 Quantinuum H 系列模擬器。 H 系列模擬器是以狀態變數為基礎的量子模擬器,會根據 系統模型 H1 量子計算機的一般效能,使用實際的實體雜訊模型和一般化錯誤參數。 執行的量子模擬與 系統模型 H1 模擬器 相同,但傳統線路優化例程會減少以增加輸送量。 已規劃未來日期支援 整合式混合式運算 。
系統模型 H1
由 Honeywell 提供之量子計算機的系統模型 H1 世代是由量子充電結合裝置所組成, (QCCD) 具有一個線性區段,目前包含一部計算機 targets:H1-1。 建議使用者在將作業提交至語法檢查程式和系統模型 H1 模擬器之前target,先測試其程式代碼與 H1-1 的相容性。
系統模型 H1 機器會在其產品生命週期中持續升級。 使用者可以取得最新、最進階、最強大的可用硬體。
如需詳細資訊,請參閱系統模型 H1 頁面上找到的系統模型 H1 產品數據工作表。
- 作業類型:
Quantum Program
- 數據格式:
honeywell.openqasm.v1
、honeywell.qir.v1
- 目標識別碼:
- H1-1:
quantinuum.qpu.h1-1
- H1-1:
- 目標執行設定檔: Basic Measurement Feedback
系統模型 H2 模擬器
使用 H2-1 語法檢查程式驗證其程式代碼語法之後,使用者可以利用 Quantinuum 的系統模型 H2 模擬器,這是模擬工具,其中包含實際系統模型 H2 硬體的詳細實體模型和實際雜訊模型。 您可以在系統模型 H2 頁面上找到的系統模型 H2 模擬器產品數據工作表中找到雜訊模型的詳細資訊。 系統模型 H2 模擬器會使用與系統模型 H2 硬體相同的 API 提交作業,以順暢地從模擬轉換到硬體。 為了協助將生產力最大化並縮短開發時間,即使硬體離線,仍可使用 H2 模擬器。
- 作業類型:
Simulation
- 資料格式:
quantinuum.openqasm.v1
- 目標識別碼:
- H2-1 模擬器:
quantinuum.sim.h2-1e
- H2-1 模擬器:
- 目標執行設定檔:基本測量回饋
系統模型 H2 模擬器使用量可透過硬體訂用帳戶免費提供。 如需詳細資訊,請參閱 Azure Quantum 定價。
系統模型 H2
Quantinuum 系統模型 H2 代量子計算機由 Honeywell 提供,由 Quantum 費用結合裝置所組成, (QCCD) 有兩個連線的線性區段,目前有 1 部電腦 H2-1。 如需詳細資訊,請參閱在 [系統模型 H2] 頁面上找到的系統模型 H2 產品數據工作表。 建議使用者在將作業提交至語法檢查程式和系統模型 H2 模擬器之前,先target測試其程式代碼的相容性。
如果使用者將作業提交至 H2-1 計算機,且 H2-1 計算機無法使用,該作業會保留在該電腦的佇列中,直到計算機可供使用為止。
系統模型 H2 硬體會在產品生命週期中持續升級。 使用者可以取得最新、最進階、最強大的可用硬體。
- 作業類型:
Quantum Program
- 資料格式:
quantinuum.openqasm.v1
- 目標識別碼:
- H2-1:
quantinuum.qpu.h2-1
- H2-1:
- 目標執行設定檔:基本測量回饋
系統模型 H1 和 H2 技術規格
如需系統模型 H1 和系統模型 H2 的技術詳細數據,請參閱 系統模型 H1 和 系統模型 H2 頁面上的 Quantinuum 產品數據工作表,以及 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
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];
}
任意角度 ZZ 閘道
Quantinuum 的原生閘道包含任意角度 ZZ 閘道。 這有助於減少許多量子演算法和網關序列的 2 個量子位網關計數。 如需 Quantinuum 系統中任意角度 ZZ 閘道的資訊,請參閱 系統模型 H1 和 系統模型 H2 頁面上的 H 系列產品數據工作表。
在 Q# 中,任意角度 ZZ 閘道是使用 作業來實作 Rzz
。
%%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;
}
模擬器雜訊參數
用戶可以選擇實驗 Quantinuum 模擬器的雜訊參數。 此處只會強調幾個可用的雜訊參數,示範如何在 Azure Quantum 提供者中傳遞參數。
如需可用之一組完整雜訊參數的詳細資訊,請參閱 系統模型 H1 和 系統模型 H2 頁面上的 H 系列模擬器產品數據工作表。
首先,匯入必要的套件並起始基底配置檔:
import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)
接下來,定義函式。
%%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);
}
並編譯作業:
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-model
選項設定為 False
。 依預設,這會設定為 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
。
如需 的詳細資訊 pytket
,請參閱下列連結:
首先,匯入必要的套件並起始基底配置檔:
import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)
接下來,定義函式。
%%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);
}
並編譯作業:
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
}
提交作業時傳入 otimization 選項:
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 系統的使用方式。
目標可用性
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) 、提交至 Quantinuum 量子計算機的作業,以及模擬器 HQC (eHQC) 針對提交至模擬器的工作追蹤。
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 點數 方案,而不是計費方案,配額資訊會對應至您配置的點數。 在此情況下,配額會列出您收到的點數總數。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應