你当前正在访问 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 工作区。 打开工作区后,请按照以下步骤操作:

  1. 单击左侧的导航按钮,导航到“提供商”窗格
  2. 找到“Honeywell 提供商”,然后单击“删除”按钮。 在打开的对话框中单击“是”确认删除。

包含以前的 Honeywell 提供商的“提供商”窗格

  1. 单击窗口顶部的“添加提供商”按钮
  2. 从列表中选择 Quantinuum 提供商
  3. 从 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