你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Honeywell 到 Quantinuum 的迁移指南
Honeywell 提供商已替换为 Azure Quantum 中的 Quantinuum 提供商。 本指南适用于以前使用 Honeywell 提供商并且需要迁移到 Quantinuum 提供商的用户。
注意
已获得 Azure Quantum 额度授权的现有 Honeywell 客户将能够在其授权到期之前使用 Honeywell 提供商。 有关详细信息,请查看你的加入电子邮件以了解授权到期日期。
步骤 1:更新 Azure Quantum 工作区
第一步是打开 Azure 门户 并导航到 Azure Quantum 工作区。 打开工作区后,请按照以下步骤操作:
- 单击左侧的导航按钮,导航到“提供商”窗格
- 找到“Honeywell 提供商”,然后单击“删除”按钮。 在打开的对话框中单击“是”确认删除。

- 单击窗口顶部的“添加提供商”按钮
- 从列表中选择 Quantinuum 提供商
- 从 Quantinuum 中选择计费计划。 如果这是你第一次使用 Quantinuum 提供商,则有资格免费获得 Quantinuum 的 500 美元 Azure Quantum 额度套餐。
部署完成后,便可以使用 Quantinuum 提供商了。 如果有需要迁移到新提供商的现有代码,请参见下文。
步骤 2:更新现有代码以使用 Quantinuum 提供商
如果有针对 Honeywell 提供商的现有代码,则更新到 Quantinuum 提供商只需要更改引用的目标并更新正在使用的 Azure Quantum 工具的版本即可。
下表显示了要在代码中替换以使用等效的 Quantinuum 目标的值。 在 Honeywell Target ID 列中找到你正在使用的目标,并将其替换为 Quantinuum Target ID 列中的值。 此外,也可以将 honeywell 前缀替换为 quantinuum。
| Honeywell Target Name | Honeywell Target ID | Quantinuum Target ID |
|---|---|---|
| Honeywell 系统模型:H1 | honeywell.hqs-lt-s1 | quantinuum.hqs-lt-s1 |
| Honeywell 系统模型:H1-2 | honeywell.hqs-lt-s2 | quantinuum.hqs-lt-s2 |
| Honeywell 系统模型:H1 系列 | honeywell.hqs-lt | quantinuum.hqs-lt |
| H1 API 验证程序 | honeywell.hqs-lt-s1-apival | quantinuum.hqs-lt-s1-apival |
| H1-2 API 验证程序 | honeywell.hqs-lt-s2-apival | quantinuum.hqs-lt-s2-apival |
| H1 模拟器 | honeywell.hqs-lt-s1-sim | quantinuum.hqs-lt-s1-sim |
使用 Visual Studio Code 或 Visual Studio 迁移 Q# 项目
若要迁移 Q# 项目,请打开解决方案根文件夹中的 project.csproj 文件,并根据上表更新 ExecutionTarget 的值。
注意
如果 .csproj 文件具有固定的 SDK 版本(例如 <Project Sdk="Microsoft.Quantum.Sdk/0.17.2105143879">),请确保将版本号至少替换为 Microsoft.Quantum.Sdk/0.23.195983。
旧的 .csproj 文件:
<Project Sdk="Microsoft.Quantum.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ExecutionTarget>honeywell.hqs-lt</ExecutionTarget>
</PropertyGroup>
</Project>
更新后的 .csproj 文件:
<Project Sdk="Microsoft.Quantum.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ExecutionTarget>quantinuum.hqs-lt</ExecutionTarget>
</PropertyGroup>
</Project>
注意
从 QDK 版本 0.24.201332 开始,还需将 TargetFramework 值升级为 net6.0。 对于旧版本,仍应以 netcoreapp3.1 为目标。
使用 Jupyter Notebooks 迁移 Q# 项目
若要在 Jupyter Notebooks 中迁移 Q# 项目,请根据上表更新 %azure.target magic 命令中使用的值。
旧的目标命令:
%azure.target honeywell.hqs-lt-s1-apival
更新后的目标命令:
%azure.target quantinuum.hqs-lt-s1-apival
还需要按照更新 QDK 指南中的说明更新 qsharp 包。
迁移 Qiskit 项目
若要迁移 Qiskit 项目,请在 Python 文件中找到引用 Honeywell 后端的行,并根据上表将其替换为相应的 Quantinuum 后端。
旧的后端初始化:
backend = provider.get_backend("honeywell.hqs-lt-s1-apival")
更新后的后端初始化:
backend = provider.get_backend("quantinuum.hqs-lt-s1-apival")
此外,通过使用 PyPI 升级来确保你拥有最新的 azure-quantum[qiskit] 包:
pip install --upgrade azure-quantum[qiskit]
支持的最低 azure-quantum[qiskit] 版本是 0.23.195983。
迁移 Cirq 项目
若要迁移 Cirq 项目,请在 Python 文件中找到引用 Honeywell 目标的行,并根据上表将其替换为相应的 Quantinuum 目标。
旧的服务初始化:
from azure.quantum.cirq import AzureQuantumService
service = AzureQuantumService(
resource_id="",
location="",
default_target="honeywell.hqs-lt-s1-apival"
)
更新后的后端初始化:
from azure.quantum.cirq import AzureQuantumService
service = AzureQuantumService(
resource_id="",
location="",
default_target="quantinuum.hqs-lt-s1-apival"
)
此外,通过使用 PyPI 升级来确保你拥有最新的 azure-quantum[cirq] 包:
pip install --upgrade azure-quantum[cirq]
支持的最低 azure-quantum[cirq] 版本是 0.23.195983。
迁移直通项目
若要使用 azure-quantum python 包迁移直通项目,请在 Python 文件中找到引用 Honeywell 目标的行,并根据上表将其替换为相应的 Quantinuum 目标。
旧的服务初始化:
target = workspace.get_targets(name="honeywell.hqs-lt-s1")
更新后的后端初始化:
target = workspace.get_targets(name="quantinuum.hqs-lt-s1")
此外,通过使用 PyPI 升级来确保你拥有最新的 azure-quantum 包:
pip install --upgrade azure-quantum
支持的最低 azure-quantum 版本是 0.23.195983。