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


Поставщик Quantinuum

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

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

Цели

Эти функции предоставляются этим поставщиком: targets

Целевое имя Идентификатор целевого объекта Количество кубит Описание
Средство проверки синтаксиса H1-1 quantinuum.sim.h1-1sc 20 кубит Используйте это для проверки квантовых программ с помощью компилятора H1-1 перед отправкой на оборудование или эмуляторы на платформе Quantinuum. Бесплатно.
Средство проверки синтаксиса H2-1 quantinuum.sim.h2-1sc 56 кубитов Используйте это для проверки квантовых программ с помощью компилятора H2-1 перед отправкой в оборудование или эмуляторы на платформе Quantinuum. Бесплатно.
Проверка синтаксиса H2-2 quantinuum.sim.h2-2sc 56 кубитов Используйте это для проверки квантовых программ с помощью компилятора H2-2 перед отправкой в оборудование или эмуляторы на платформе Quantinuum. Бесплатно.
Эмулятор H1-1 quantinuum.sim.h1-1e 20 кубит Использует реалистичную физическую модель и модель шума H1-1.
Эмулятор H2-1 quantinuum.sim.h2-1e 56/32 кубитов Использует реалистичную физическую модель и модель шума H2-1. Моделирование 56 кубитов доступно только в качестве имитации стабилизатора
эмулятор H2-2 quantinuum.sim.h2-2e 56/32 кубитов Использует реалистичную физическую модель и модель шума H2-2. Моделирование 56 кубитов доступно только в качестве имитации стабилизатора
H1-1 quantinuum.qpu.h1-1 20 кубит Устройство trapped ion H1-1 от Quantinuum.
H2-1 quantinuum.qpu.h2-1 56 кубитов Устройство H2-1 фирмы Quantinuum с технологией захваченных ионов.
H2-2 quantinuum.qpu.h2-1 56 кубитов Устройство Quantinuum H2-2 с ионной ловушкой.

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

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

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

Совет

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

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

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

  • Тип задания: Simulation
  • Форматы данных: honeywell.openqasm.v1, honeywell.qir.v1
  • Идентификатор целевого объекта:
    • Средство проверки синтаксиса H1-1: quantinuum.sim.h1-1sc
    • Средство проверки синтаксиса H2-1: quantinuum.sim.h2-1sc
    • Средство проверки синтаксиса H2-2: quantinuum.sim.h2-2sc
  • Профиль целевого выполнения: 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
  • Идентификатор целевого объекта:
    • Эмулятор H1-1: quantinuum.sim.h1-1e
  • Профиль целевого выполнения: QIR Adaptive RI

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

Эмулятор Quantinuum (на основе облака)

Эмулятор Quantinuum доступен бесплатно на странице Code с помощью Azure Quantum на веб-сайте Azure Quantum, где можно написать код Q# и отправить задания в эмулятор Quantinuum без учетной записи Azure. Эмулятор Quantinuum — это квантовый эмулятор, основанный на векторе состояния, который использует реалистичную модель физического шума и обобщенные параметры ошибок, основанные на типичной производительности квантового компьютера Системная модель H1. Квантовое моделирование, выполненное так же, как и System Model H1 Emulator, но подпрограмма оптимизации классической схемы упрощается, чтобы увеличить пропускную способность. Поддержка интегрированных гибридных вычислений планируется в будущем.

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

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

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

Дополнительную информацию можно найти в спецификации продукта System Model H1 на странице System Model H1.

  • Тип задания: Quantum Program
  • Формат данных: honeywell.openqasm.v1, honeywell.qir.v1
  • Идентификатор целевого объекта:
    • H1-1: quantinuum.qpu.h1-1
  • Профиль целевого выполнения: QIR Adaptive RI

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

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

  • Тип задания: Simulation
  • Формат данных: quantinuum.openqasm.v1
  • Идентификатор целевого объекта:
    • Эмулятор H2-1: quantinuum.sim.h2-1e
    • Эмулятор H2-2: quantinuum.sim.h2-2e
  • Профиль целевого выполнения: QIR Adaptive RI

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

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

Модель системы Quantinuum H2 поколения квантовых компьютеров, разработанное Honeywell, состоит из квантового прибора с зарядовой связью (ПЗС) с двумя соединенными линейными секциями и в настоящее время имеет 1 компьютер, H2-1. Дополнительную информацию можно найти в паспорте данных продукта "Системная модель H2", который находится на странице "Системная модель H2". Пользователям рекомендуется проверить совместимость кода, отправив задания в средство проверки синтаксиса и эмулятор System Model H2 перед отправкой их на target компьютеры.

Если пользователь отправляет задание на компьютер H2-1 и компьютер H2-1 недоступен, задание остается в очереди этого компьютера, пока компьютер не станет доступным.

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

  • Тип задания: Quantum Program
  • Формат данных: quantinuum.openqasm.v1
  • Идентификатор целевого объекта:
    • H2-1: quantinuum.qpu.h2-1
    • H2-2: quantinuum.qpu.h2-2
  • Профиль целевого выполнения: QIR Adaptive RI

Технические спецификации модели H1 и H2

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

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

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

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

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

Измерение и сброс в контуре на среднем этапе

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

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

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

Сведения о MCMR в системах Quantinuum см. на страницах 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 см. в документации на страницах модели системы H1 и модели системы 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) {
        resultArray w/= i <- M(qubits[i]);  
    }
    
    return resultArray;
}

Общие квантовые ворота запутывания SU(4)

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

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

Чтобы обеспечить выполнение схемы с помощью гейта General SU(4) Entangling, передайте следующие параметры в стеке Quantinuum:

  • 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.

Для получения более подробной информации о полном наборе доступных параметров шума, см. технические паспорта продукта эмулютора Quantinuum на страницах системы Model H1 и системы 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 в стеке Quantinuum

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

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

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

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

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

Доступность целевой точки

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

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

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

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

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

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

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

Цены

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

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

Квоты Quantinuum отслеживаются на основе кредитной единицы использования процессора QPU, аппаратного квантового кредита (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$ – количество снимков.

Примечание.

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

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