Поделиться через


Поставщик Quantinuum

Совет

При создании рабочей области Azure Quantum вы автоматически получаете бесплатные кредиты Azure Quantum для каждого поставщика квантового оборудования. Вы можете использовать кредиты Azure Quantum для отправки первых квантовых программ в реальное квантовое оборудование.

Quantinuum предоставляет доступ к системе на основе технологии захваченных ионов с высоким уровнем точности, полностью связанными кубитами и способностью выполнять измерение средних значений по цепи.

  • Издатель: Quantinuum
  • Идентификатор поставщика: quantinuum

Targets

targets Следующие возможности доступны в этом поставщике:

Имя в Target Target ИДЕНТИФИКАТОР Количество кубит Description
Средство проверки синтаксиса H1-1 quantinuum.sim.h1-1sc 20 кубит Используйте это для проверки квантовых программ с помощью компилятора H1-1 перед отправкой на оборудование или эмуляторы на платформе Quantinuum. Бесплатно.
Средство проверки синтаксиса H2-1 quantinuum.sim.h2-1sc 56 кубитов Используйте это для проверки квантовых программ с помощью компилятора H2-1 перед отправкой в оборудование или эмуляторы на платформе Quantinuum. Бесплатно.
Эмулятор 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 кубит Устройство Quantinuum H1-1 на захваченных ионах.
H2-1 quantinuum.qpu.h2-1 56 кубитов Устройство H2-1 в quantinuum, затраченное на ион.

Квантинум targets соответствует профилю QIR Adaptive RI . Дополнительные сведения об этом target профиле и его ограничениях см. в разделе "Общие target сведения о типах профилей" в Azure Quantum.

Теперь все Куантинумы targets поддерживают интегрированные гибридные каналы. Дополнительные сведения об отправке интегрированных гибридных заданий см. в разделе "Интегрированные гибридные вычисления".

Чтобы приступить к работе с поставщиком Quantinuum в Azure Quantum, см. статью "Начало работы с Q#" и записной книжкой Azure Quantum.

Совет

Квантовые задания, отправленные в сеансе, имеют монопольный доступ к оборудованию Quantinuum до тех пор, пока вы выполняете задания очереди в течение одной минуты друг от друга. После этого любое задание принимается и обрабатывается с помощью стандартной логики очередей и приоритетов. Дополнительные сведения см . в сеансах в Azure Quantum.

Средства проверки синтаксиса

Пользователям рекомендуется сначала проверить свой код с помощью средства проверки синтаксиса. Оно проверяет правильность синтаксиса, возможность завершения компиляции и совместимость компьютеров. Средства проверки синтаксиса используют тот же компилятор, что и квантовый компьютер target. Например, средство проверки синтаксиса H1-1 использует тот же компилятор, что и H1-1. Выполняется полный стек компиляции, за исключением фактических квантовых операций. Если код компилируется, средство проверки синтаксиса возвращает success состояние и результат всех 0.0. Если код не компилируется, средство проверки синтаксиса возвращает состояние сбоя и возвращает ошибку, чтобы помочь пользователям отладить синтаксис канала. Средства проверки синтаксиса позволяют разработчикам проверять свой код в любое время, даже если компьютеры находятся в автономном режиме.

  • Тип задания: Simulation
  • Форматы данных: honeywell.openqasm.v1, honeywell.qir.v1
  • Target ИДЕНТИФИКАТОР:
    • Средство проверки синтаксиса H1-1: quantinuum.sim.h1-1sc
    • Средство проверки синтаксиса H2-1: quantinuum.sim.h2-1sc
  • Target Профиль выполнения: QIR Adaptive RI

Доступ к средству проверки синтаксиса предоставляется бесплатно.

Эмуляторы модели системы H1

После проверки синтаксиса кода с помощью средства проверки синтаксиса пользователи могут воспользоваться преимуществами эмуляторов системной модели H1 Quantinuum, средств эмуляции, содержащих подробную физическую модель и реалистичную модель шума фактического оборудования System Model H1. Модели шума являются производными от подробной характеризации оборудования. Эмуляторы модели системы H1 используют идентичный API для отправки заданий в качестве оборудования System Model H1, что обеспечивает простой переход от эмуляции к оборудованию. Чтобы повысить производительность и сократить время разработки, эмуляторы модели H1 доступны даже в автономном режиме.

Дополнительные сведения см. в таблице данных о продукте эмулятора system Model H1 на странице System Model 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# и отправить задания в эмулятор серии Quantinuum H-Series без учетной записи Azure. Эмулятор серии H — это квантовый эмулятор на основе состояния, использующий реалистичную модель физического шума и обобщенные параметры ошибок на основе типичной производительности квантового компьютера модели системы H1. Квантовое моделирование выполняется так же, как и эмулятор System Model H1, но подпрограмма оптимизации классической схемы уменьшается, чтобы увеличить пропускную способность. Поддержка интегрированных гибридных вычислений планируется в будущем.

Модель системы H1

Модель системы H1 поколения квантовых компьютеров, powered by Honeywell, состоит из квантового устройства с привязкой заряда (QCCD) с одним линейным разделом и в настоящее время включает один компьютер targets: H1-1. Пользователям рекомендуется проверить совместимость кода с H1-1, отправив задания в средство проверки синтаксиса и эмулятор System Model H1 перед отправкой их на target компьютеры.

Компьютер модели системы H1 постоянно обновляется на протяжении всего жизненного цикла продукта. Пользователям предоставляется доступ к наиболее актуальному и эффективному оборудованию.

Дополнительные сведения см. в таблице данных о продукте H1 system Model H1 на странице "Модель системы" H1.

  • Тип задания: Quantum Program
  • Формат данных: honeywell.openqasm.v1, honeywell.qir.v1
  • Target ИДЕНТИФИКАТОР:
    • H1-1: quantinuum.qpu.h1-1
  • Target Профиль выполнения: QIR Adaptive RI

Эмулятор модели системы H2

После проверки синтаксиса кода с помощью средства проверки синтаксиса H2-1 пользователи могут воспользоваться преимуществами эмулятора модели H2 модели Quantinuum, средства эмуляции, содержащего подробную физическую модель и реалистичную модель шума фактического оборудования System Model H2. Дополнительные сведения о модели шума см. в таблице данных о продукте эмулятора H2 system Model H2 на странице System Model H2. Эмулятор модели системы H2 использует идентичный API для отправки заданий в качестве оборудования System Model H2, что обеспечивает простой переход от эмуляции к оборудованию. Чтобы повысить производительность и сократить время разработки, эмулятор H2 доступен даже в автономном режиме.

  • Тип задания: Simulation
  • Формат данных: quantinuum.openqasm.v1
  • Target ИДЕНТИФИКАТОР:
    • Эмулятор H2-1: quantinuum.sim.h2-1e
  • Target Профиль выполнения: QIR Adaptive RI

Использование эмулятора модели системы H2 предоставляется бесплатно с помощью аппаратной подписки. Дополнительные сведения см. на странице цен на Azure Quantum.

Системная модель H2

Модель системы Quantinuum H2 поколения квантовых компьютеров, powered by Honeywell, состоит из квантового заряда подключенного устройства (QCCD) с двумя подключенными линейными секциями и в настоящее время имеет 1 компьютер, H2-1. Дополнительные сведения см. в таблице данных о продукте H2 system Model H2 на странице "Модель системы" H2. Пользователям рекомендуется проверить совместимость кода, отправив задания в средство проверки синтаксиса и эмулятор System Model 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

Технические сведения о системной модели H1 и системной модели H2 можно найти на листах данных продукта Quantinuum на страницах System Model H1 и System Model H2 вместе со ссылками на спецификацию Quantinuum и репозитории данных квантовых томов и как ссылаться на использование систем Quantinuum.

Дополнительные возможности

Дополнительные возможности, доступные через API Quantinuum, перечислены здесь.

Возможность Description
Измерение и сброс среднего канала (MCMR) Измерение кубитов в середине цепи и их повторное использование
Произвольные угловые ворота ZZ Непосредственное выполнение 2-кубитовых произвольных угловых поворотов ворот
Параметры шума эмулятора Экспериментируйте с параметрами шума, используемыми в эмуляторах H-серии Quantinuum
Оптимизация TKET в стеке серии H Экспериментируйте с включением различных уровней оптимизации TKET в стеке серии H

Пользователи могут воспользоваться этими дополнительными возможностями с помощью функций канала или сквозных параметров в поставщиках Q# и Qiskit Azure Quantum.

Измерение и сброс по середине канала

Измерение и сброс среднего канала (MCMR) позволяет пользователям измерять кубиты в середине канала и сбрасывать их. Это позволяет использовать функции для исправления квантовых ошибок, а также возможность повторного использования кубитов в канале.

Из-за внутренней структуры кубитов, храняных кубитов, измерение среднего канала может оставить кубит в неисчисленном состоянии. Все измерения среднего канала должны следовать сбросу, если кубит будет использоваться снова в этом канале. В следующих примерах кода показано это.

Когда подмножество кубитов измеряется в середине цепи, классическая информация из этих измерений может использоваться для условия будущих элементов цепи. В примерах также выделено это использование.

Сведения о MCMR в системах Quantinuum см. на страницах H-series на страницах System Model H1 и System Model H2 .

В 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-кубитовых шлюзов для многих квантовых алгоритмов и последовательностей шлюзов. Сведения о произвольных угловых шлюзах ZZ в системах Quantinuum см. на страницах H-серии на страницах System Model H1 и System Model H2 .

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

Общие su(4) Entangling Gate

Собственный набор ворот Quantinuum включает в себя общий su(4) запутанный ворота. Обратите внимание, что квантовые каналы, отправленные на оборудование, перебазируются на полностью запутанные ворота ZZ и произвольный угол RZZ-ворота. Каналы перебазируются только на общие шлюзы SU(4) Entangling, если пользователи отказались от него. Дополнительные сведения об общем su(4) Entangler в системах Quantinuum см. на страницах System Model H1 и System Model H2 .

В Q#общий шлюз SU(4) Entangling реализуется с помощью профиля QIR Quantinuum. Чтобы использовать его, определите функцию с пользовательским встроенным сигнатурой профиля QIR и используйте эту функцию в рамках SU4Example операции.

Чтобы обеспечить выполнение канала с помощью шлюза General SU(4) Entangling, передайте следующие параметры в стеке серии 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.

Дополнительные сведения о полном наборе доступных параметров шума см. в таблицах данных эмулятора серии H на страницах System Model H1 и System Model H2 .

Сначала импортируйте необходимые пакеты и инициируйте базовый профиль:

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-model , задайте для Falseпараметра значение . По умолчанию оно имеет значение True.

option_params = {
    "error-model": False 
}

Чтобы использовать эмулятор стабилизатора, задайте simulator для параметра stabilizerзначение . По умолчанию оно имеет значение state-vector.

option_params = {
    "simulator": "stabilizer" 
}

Компиляция TKET в стеке серии H

Каналы, отправленные в системы серии H quantinuum H, за исключением интегрированных гибридных отправк, автоматически выполняются через передачу компиляции TKET для оборудования серии H. Это позволяет автоматически оптимизировать каналы для систем серии H и работать эффективнее.

Дополнительные сведения о конкретных прохождениях компиляции см. в pytket-quantinuum документации, в частности в pytket-quantinuum разделе "Проходы компиляции".

В стеке программного обеспечения серии H применяется уровень оптимизации с параметром tket-opt-level . Параметр компиляции по умолчанию для всех каналов, отправленных в системы серии H, является уровнем оптимизации 2.

Пользователи, которые хотели бы поэкспериментировать с прохождением компиляции TKET, и узнать, какие оптимизации будут применяться к их каналам перед отправкой любых заданий, могут увидеть записную книжку Quantinuum_compile_without_api.ipynb в папке pytket-quantinuum Examples.

Чтобы включить компиляцию TKET в стеке, no-optможно задать другой True параметр.option_params Например, "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 и System Model H1 и H2 можно найти на страницах данных о продуктах Quantinuum на странице System Model H1 и System Model H2 вместе со ссылками на спецификацию Quantinuum и репозитории данных квантовых томов и способы использования систем Quantinuum.

Target Наличие

Квантовые компьютеры серии Quantinuum H разработаны для возможности постоянного обновления, что позволяет клиентам использовать последние аппаратные возможности, предоставляемые Quantinuum в аспектах точности вентилей, обработки ошибок памяти и скорости системы.

Оборудование Quantinuum работает циклически в коммерческом режиме и режиме разработки. В коммерческом режиме оборудование доступно для обработки заданий в системе очередей. В режиме разработки оборудование работает автономно для применения обновлений.

Каждый месяц пользователи Quantinuum получают календарь со сведениями о периодах коммерческого режима и режима разработки. Если вы не получили этот календарь, отправьте сообщение по адресу QCsupport@quantinuum.com.

targetСостояние указывает на текущую возможность обработки заданий. Возможные состояния target включения:

  • Доступно: target онлайн, обработка отправленных заданий и прием новых заданий.
  • Понижено: прием target заданий, но в настоящее время они не обрабатываются.
  • Недоступно: target автономный, не принимающие новые отправки заданий.

Для квантового компьютера targetsQuantinuum доступный и пониженный уровень соответствуют коммерческим периодам, в то время как Недоступно соответствует периодам разработки, в которых компьютер находится в автономном режиме для обновления.

Актуальные сведения о состоянии можно просмотреть на вкладке Поставщики рабочей области на портале Azure.

Цены

Чтобы просмотреть планы выставления счетов для Quantinuum, перейдите на страницу цен для Azure Quantum.

Ограничения и квоты

Квоты Quantinuum отслеживаются на основе кредитной единицы использования QPU, H-System Quantum Credit (HQC) для заданий, отправленных на квантовые компьютеры Quantinuum, и HQCs эмулятора (eHQCs) для заданий, отправленных в эмуляторы.

Единицы HQC и eHQC используются для вычисления стоимости выполнения задания. Они рассчитываются по следующей формуле:

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

где:

  • $N_{1q}$ – количество однокубитных операций в цепи.
  • $N_{2q}$ – количество собственных двухкубитных операций в цепи. Собственные ворота эквивалентны логическому оператору контролируемого отрицания в пределах нескольких однокубитных ворот.
  • $N_{m}$ — это количество операций подготовки и измерения состояния (SPAM) в цепи, включая начальную неявную подготовку состояния и все промежуточные и окончательные измерения и сбросы состояния.
  • $C$ – количество снимков.

Примечание.

Общая стоимость в HQCs включает все шлюзы и измерения в любых условных ветвях или потоках управления. Это может повлиять на интегрированные гибридные задания.

Квоты зависят от выбора плана. Их можно увеличить, отправив запрос в службу поддержки. Чтобы просмотреть текущие ограничения и квоты, перейдите в колонку Кредиты и квоты и откройте вкладку Квоты в рабочей области на портале Azure. Дополнительные сведения см. в статье Квоты Azure Quantum.

Примечание.

Если вы используете план Кредиты Azure Quantum, а не план выставления счетов, сведения о квотах сопоставляются с выделенными кредитами. В этом случае в квоте указывается общее количество полученных кредитов.