Управляющая система для квантовых вычислительных устройств Российский патент 2024 года по МПК G06N10/20 

Описание патента на изобретение RU2814936C1

Область техники, к которой относится изобретение

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

Уровень техники

В отличие от классических вычислительных машин, работающих с битами информации, квантовый вычислитель оперирует квантовыми объектами, которые являются носителями кубитов - единицами квантовой информации. Так как состояние регистра из N кубитов может находиться в состоянии суперпозиции, которое является принципиально недоступным для регистра из N классических битов и описывается 2 м комплексными числами, использование квантовых вычислителей позволяет достичь превосходства над классическими электронными вычислительными машинами (ЭВМ) в ряде алгоритмов.

Кубит, как абстрактный носитель квантовой информации, может быть физически реализован разными способами. Например, возможно кодирование кубита в двух энергетических подуровнях сверхтонкого расщепления основного состояния водородоподобного атома (рубидий, цезий, кальций, стронций и др.). При этом для приготовления, изменения и итогового измерения состояний атомных кубитов применяются лазерные источники излучения. Другим примером физической платформы для реализации квантового вычислителя является линейно-оптический интегральный чип, который представляет собой систему связанных волноводов, образующих сложный интерферометр с возможностью управления фазовыми задержками в плечах. На входные порты такого чипа подается многофотонное состояние, которое затем подвергается преобразованию в чипе. Требуемое преобразование задается конкретными значениями фазовых задержек. В выходных каналах чипа установлены однофотонные детекторы, которые регистрируют наличие или отсутствие отдельных фотонов. В отличие от атомного вычислителя, где каждому атому сопоставляется один кубит, в линейно-оптическом чипе нет такого естественного соответствия и возможны различные кодировки. К широко используемым кодировкам относится так называемая dual-rail кодировка, где на один кубит приходится два порта чипа. Наличию фотона в первом порте и отсутствию во втором приписывается логическое состояние |0), в противоположном случае состояние считается равным

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

Из существующего уровня техники известен ряд приборов и отладочных плат общего назначения, комбинация из которых позволяет получить функционал отдельных управляющих плат, входящих в состав предлагаемой системы. Например, устройства типа PCIe-7822 [https://www.ni.corn/pdf/manuals/376831a_02.pdf] имеют большое количество цифровых входов/выходов, высокую частоту обработки и генерации выходных временных импульсов, но малое напряжение логических выходов (до 3.3 В) не совместимое со многими устройствами стандарта TTL 5 В, а также малый выходной ток, не позволяющий подключать исполнительные устройства с сопротивлением входа 50 Ом. Существуют устройства, например, PCIe-6537B [https://www.ni.com/pdf/manuals/374373g.pdf], способные выдать требуемый ток на нагрузку и совместимые с управлением логическими уровнями 5 В, но такие устройства имеют малую частоту обработки информации, и как следствие, малое разрешение по времени при формировании требуемой экспериментальной последовательностью импульсов. Также, рассмотренные готовые устройства не позволяют детектировать короткие (менее 2 нc) импульсы, возникающие, например, при срабатывании лавинных фотодетекторов, для этого необходима дополнительная электрическая схема, которая бы производила обработку фронта поступающего импульса напряжения (или тока, в зависимости от типа фотодетектора), и позволяла бы программируемой логической интегральной схеме (ПЛИС) произвести захват входного сигнала на соответствующей тактовой частоте обработки.

Достаточно часто в качестве плат управления экспериментами используют схемотехнические решения на основе единственного микроконтроллера [Р.Т. Starkey, С.J. Billington, S.P. Johnstone, М. Jasperse, K. Helmerson, L.D. Turner, and R.P. Anderson. "A scripted control system for autonomous hardwaretimed experiments". In: Review of Scientific Instruments 84.8, 085111 (2013).]. Однако, даже при достаточно высокой частоте работы микроконтроллера (десятки или даже сотни мегагерц), из-за принципиально последовательной работы в силу конструкции микроконтроллера, такие системы управления не могут обеспечить синхронизацию работы множества ведомых устройств с точностью в десятки или даже сотни наносекунд.

Существуют более специализированные системы управления для квантовых вычислителей, так, например, известна разработка компании M-Labs [http://m-labs.hk/], включающая комплекс электроники и управляющих программ, реализованных на базе языка Python, позволяющий проводить эксперименты на квантовых вычислителях на базе ионов и нейтральных атомов. Набор электронных устройств данной фирмы основан на применении ПЛИС для осуществления управления периферийными устройствами с наносекундным временным разрешением. Также вышеобозначенная компания производит платы с установленными на них цифровыми генераторами частот, способные формировать синусоидальный сигнал с возможностью амплитудной, фазовой и частотной модуляций в диапазоне от 10 до 400 МГц. Данный сигнал может применяться для формирования лазерных импульсов заданной формы, необходимых для работы квантовых вычислителей на базе нейтральных атомов или ионов. Однако, рассмотренная система имеет узкую направленность, и по сути является лишь набором периферийных устройств с интерфейсом управления для проведения экспериментов на одном из типов квантовых вычислителей (за исключением сверхпроводящих и интегрально-оптических квантовых вычислителей).

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

Технической проблемой является создание единого программно-аппаратного комплекса (системы), который обеспечивал бы выполнение высокоуровневого программного кода на различных квантовых платформах, то есть обеспечение универсального доступа к вычислителям. Как было отмечено выше, существующие программно-аппаратные решения либо не представляют собой цельную систему, пригодную для запуска какого-то ни было высокоуровневого кода, либо являются специализированными системами, «заточенными» под одну архитектуру.

Раскрытие изобретения

Техническим результатом изобретения является создание единого программно-аппаратного комплекса (системы), обеспечивающего выполнение высокоуровневого программного кода на двух различных квантовых вычислительных системах (архитектурах): линейно оптической и основанной на нейтральных атомах.

Технический результат достигается с помощью управляющей системы для квантовых вычислительных устройств (квантовых вычислителей), включающей выделенный сервер и соединенные с ним управляющую плату (или плату сопряжения) вычислителя на нейтральных атомах и управляющую плату (или плату сопряжения) линейно-оптического вычислителя,

при этом сервер включает блок обработки информации, выполненный с возможностью загрузки квантовой программы (программы, реализующей квантовый алгоритм), содержащей команды для осуществления операций над кубитами; сервер выполнен с возможностью загрузки классической программы, обеспечивающей ввод данных в блок обработки информации и вывод данных из блока обработки информации, ее компиляции в последовательность инструкций для управляющих плат и запуска операционной системы OS, обеспечивающей передачу инструкций скомпилированной управляющей программы на управляющие платы и прием данных от управляющих плат;

при этом управляющая плата вычислителя на нейтральных атомах выполнена с возможностью подключения к вычислителю на нейтральных атомах и содержит формирователь импульсов и блок индикации состояния управляющих сигналов, блок компараторов, выполненный с возможностью приема данных из квантового вычислителя на нейтральных атомах, связанным с управляющим ядром, включающим ПЛИС, выполненную с возможностью подачи управляющих сигналов на вычислитель на нейтральных атомах, и связанный с ней микроконтроллер, выполненный с возможностью приема управляющих инструкций от выделенного сервера и передачи данных в выделенный сервер;

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

Формирователь импульсов управляющего ядра управляющей платы вычислителя на нейтральных атомах выполнен с возможностью формирования сигналов формата TTL и/или LVDS. Функционал ПЛИС управляющего ядра управляющей платы вычислителя на нейтральных атомах может быть реализован посредством списка управляющих команд (коммуникационного протокола), описанного на фиг. 8. Многоканальный блок стабилизации токов управляющей платы линейно-оптического вычислителя, характеризуется числом каналов не менее 64. Многоканальный блок стабилизации токов управляющей платы линейно-оптического вычислителя характеризуется величиной управляющих токов от 0 до 32 мА для нагрузки от 500 до 1000 Ом. Высоковольтный источник напряжения управляющей платы линейно-оптического вычислителя выполнен с функцией защиты от короткого замыкания. Высоковольтный источник напряжения управляющей платы линейно-оптического вычислителя характеризуется величиной питающего напряжения от 12 до 48 В.

Изобретение представляет собой программно-аппаратный комплекс, включающий в себя выделенный сервер с подключенными к нему управляющими платами: платой управления вычислителем на нейтральных атомах и платой управления линейно-оптическим вычислителем. Платы управления обеспечивают подключение сервера к экспериментальным установкам, которые непосредственно выполняют набор инструкций, содержащийся в бинарном файле команд ВЕЧ. Для управления процессом загрузки, запуска, остановки и получения результатов работы квантовой программы выделенный сервер содержит специальное приложение, которое будем называть операционной системой OS. Операционная система OS предоставляет программный интерфейс API. Бинарный файл команд BIN генерируется компилятором QCC из исходного кода квантовой программы под целевой вычислитель.

Комбинация из компилятора QCC, единого программного интерфейса API и операционной системы OS, включенных в состав выделенного сервера с подключенными к нему через управляющие платы вычислителями, позволяет запускать квантовый алгоритм на различных физических архитектурах, то есть добиться универсальности управляющей системы. В качестве целевых архитектур рассматриваются архитектура на основе нейтральных атомов и архитектура линейно-оптических интегральных чипов (соответственно, вычислитель на нейтральных атомах и линейно-оптический вычислитель). Впрочем, в систему заложена модульность и возможность расширения под другие архитектуры. Также прозрачно для пользователя система может обращаться к эмулятору квантового вычислителя, запущенному на классической ЭВМ, (далее классический эмулятор SIM), например, с целью отладки квантовой программы перед запуском на реальном вычислителе.

Преобразование исходного кода квантовой программы выполняется компилятором QCC, который генерирует бинарный файл команд BIN под целевой квантовый вычислитель. Таким образом, наличие компилятора обеспечивает универсальность на программном уровне. Взаимодействие с операционной системой OS с точки зрения пользователя также унифицировано так как предоставляемый программный интерфейс API не зависит от вычислителя. Соответственно, операционная система OS с подключенными к ней платами управления выполняет функцию абстракции над используемым аппаратным обеспечением (т.е. квантовыми вычислителями).

Краткое описание чертежей

Изобретение поясняется чертежами и схемами.

На фиг. 1 представлена общая блок-схема управляющей системы, включающая блоки в составе выделенного сервера, и его подключение через платы управления к квантовым вычислителям. На фиг. 1 они обозначены как «Вычислитель на нейтральных атомах» и «Линейно-оптический вычислитель».

На фиг. 2 перечислены системные вызовы с их кодами, которые классическая программа посредством программного интерфейса API может направить операционной системе OS.

На фиг. 3 перечислены возможные статусы квантовых вычислителей до, во время и после выполнения квантовой программы. Классическая программа может запросить текущий статус с помощью запроса (системного вызова) status (второй столбец на фиг. 3 - Статус). В ответ на системный вызов операционная система OS посылает классической программе пакет данных, в котором содержится поле, указывающее на возникновение ошибки при обработке запроса или на успешную обработку системного вызова. Возможные значения этого поля перечислены на фиг. 4.

На фиг. 5 (фиг. 5 на 3 листах) представлены форматы бинарных пакетов данных, которые пересылаются между классической программой и операционной системой OS при выполнении системных вызовов. Приведен список полей для запроса и ответа в рамках того или иного системного вызова с указанием длины полей в байтах.

На фиг. 6 (фиг. 6 на 2 листах) представлен список команд, которые поддерживаются компилятором QCC и могут быть использованы при написании квантовой программы. Компилятор QCC переводит эти команды в набор инструкций для целевого квантового вычислителя и записывает полученные инструкции в бинарный файл команд BIN. Бинарный файл команд BIN затем может быть передан операционной системе OS для выполнения заложенной в нем программы на квантовом вычислителе.

На фиг. 7 (фиг. 7 на 6 листах) представлена принципиальная электрическая схема управляющей платы вычислителя на нейтральных атомах. Плата содержит микроконтроллер, отвечающий за коммуникацию между выделенным сервером и ПЛИС, установленной на плате. ПЛИС генерирует необходимые электрические импульсы для контроллеров лазеров и магнитных ловушек, входящих в установку квантового вычислителя на нейтральных атомах.

На прикладном уровне управляющая плата вычислителя на нейтральных атомах представляет собой устройство, имеющее адресное пространство с размеченными в нем переменными (полями). Посредством записи и чтения этих полей осуществляется взаимодействие с управляющей платой. Разметка адресного пространства с указанием смещений от начала представлена на фиг. 8 (фиг. 8 на 2 листах).

Управляющая плата линейно-оптического вычислителя представляет собой программируемый многоканальный источник тока, выводы которого подключены к линейно-оптическому вычислителю. На фиг. 9 (фиг. 9 на 2 листах) изображена часть принципиальной электрической схемы управляющей платы линейно-оптического вычислителя, содержащая цифро-аналоговый преобразователь, подключенный к микроконтроллеру (МК) посредством последовательного периферийного интерфейса SPI (на фиг. 9 МК не обозначен, вместо этого изображена цепь для подключения МК). На фиг. 10 (фиг. 10 на 4 листах) представлена другая часть принципиальной электрической схемы управляющей платы, представляющая собой многоканальный блок стабилизации токов. На фиг. 11 приведена часть принципиальной электрической схемы управляющей платы, представляющая собой импульсный повышающий преобразователь напряжения (высоковольтный источник напряжения), который обеспечивает питание многоканального блока стабилизации токов.

На фиг. 12 (фиг. 12 на 2 листах) изложен список команд, которые могут быть отправлены управляющей плате линейно-оптического вычислителя.

Позициями на фиг. 1, фиг. 7 и фиг. 9 (на фиг. 7 и фиг. 9 эти позиции указаны крупным шрифтом в левом верхнем углу соответствующего листа) обозначены: 1 - формирователь импульсов (в том числе на листе 1 и листе 2 продолжение на фиг. 7), 2 - блок индикации состояния управляющих сигналов (в том числе на листе 3 фиг. 7), 3 - блок компараторов (в том числе на листе 4 фиг. 7), 4 - управляющее ядро (в том числе на листе 5 фиг. 7), 5 - ПЛИС (в том числе на листе 5 фиг. 7 в центре листа в виде одной микросхемы), 6 - микроконтроллер (в том числе на последнем листе фиг. 7) в составе управляющей платы вычислителя на нейтральных атомах. 7 -микроконтроллер в составе управляющей платы линейно-оптического вычислителя (в том числе на листе 1 фиг. 9, включая цепь его подключения), 8 - цифро-аналоговый преобразователь (в том числе на последнем листе фиг. 9), 9 - многоканальный блок стабилизации токов (в качестве блока на схеме фиг. 1), 10 - высоковольтный источник напряжения (импульсный повышающий преобразователь напряжения, в качестве блока на схеме фиг. 1).

Осуществление изобретения

Общая блок-схема управляющей системы, взаимодействующей с квантовыми вычислителями, изображена на фиг. 1. Для запуска какого-либо вычислительного алгоритма используют квантовую программу с высокоуровневыми командами, например, инициализация регистра кубитов в начальном состоянии, применение логических вентилей над регистром, выполнение измерений состояния. Затем эта программа преобразуется (компилируется) в бинарный файл команд BIN посредством компилятора QCC для целевого вычислителя, то есть либо для вычислителя на нейтральных атомах, либо линейно-оптического вычислителя. Команды, содержащиеся в бинарном файле команд BIN, уже являются низкоуровневыми и привязаны к конкретной физической платформе. Классическая программа с помощью программного интерфейса API выполняет загрузку бинарного файла команд BIN в операционную систему OS. Также классическая программа управляет выполнением бинарного файла команд BIN, загруженного в операционную систему OS: например, запуск, остановка, получение результатов работы квантового алгоритма. Полезная нагрузка классической программы не ограничена только лишь контролем за выполнением бинарного файла команд BIN, загруженного в операционную систему OS. Классическая программа также может передать квантовому алгоритму различные параметры, и осуществлять классические расчеты, если это требуется алгоритмом решения задачи. Программный интерфейс API предоставляется операционной системой OS, которая отслеживает выполнение квантовой программы на подключенных к системе вычислителях. Исполнение операционной системы OS, классической программы и компиляция квантовой программы происходит на выделенном сервере, подключенном через управляющие платы к вычислителям.

Неотъемлемой частью управляющей системы является программный интерфейс API, предоставляемый операционной системой OS. Операционная система OS представляет собой серверное приложение, которое принимает и обрабатывает системные вызовы, а также высылает ответные сообщения клиенту, то есть классической программе, которая использует программный интерфейс API. Системные вызовы позволяют узнать статус вычислителя, загрузить скомпилированную квантовую программу (т.е. бинарный файл команд BIN) и данные в операционную систему OS, начать исполнение квантовой программы с произвольной точки, считать данные из классической памяти MEM.

Список возможных системных вызовов с их описанием представлен на фиг. 2. Вызовы write и read работают с участком классической памяти MEM, которая непосредственно доступна квантовой программе (то есть бинарному файлу команд, который загружен в операционную систему OS и выполняется ей). Размер классической памяти MEM может задаваться на этапе запуска операционной системы OS на выделенном сервере. Эта память служит для записи параметров квантового алгоритма или для хранения результатов измерения. В процессе работы квантовый вычислитель может находиться в одном из статусов, представленных на фиг. 3. Статус можно запросить системным вызовом status. После приема системного вызова операционная система OS формирует ответное сообщение. Каждый ответ содержит байт, сигнализирующий наличие или отсутствие ошибки. Возможные коды ошибок вместе с их описаниями представлены на фиг. 4.

Передача системных вызовов между классической программой и операционной системой OS осуществляется посредством сетевого протокола TCP. После получения и обработки вызова, операционная система OS высылает ответ, и TCP соединение закрывается.

Классическая программа и операционная система OS передают друг другу данные в бинарном формате. В передаваемых пакетах данных используется порядок следования байт от младшего к старшему (little endian). Все пакеты состоят из двух частей: заголовка и тела. Тело пакета содержит данные, необходимые для обработки системного вызова, и является специфичным для каждого вызова. У некоторых пакетов тело может отсутствовать. Формат заголовочной части, напротив, унифицирован. Формат заголовка и тела пакета для различных системных вызовов представлен на фиг. 5.

Квантовая программа компилируется в бинарный файл команд BIN, который можно загрузить в операционную систему OS. Используется стандартный формат ELF - Executable and Linkable Format. В заголовке файла должно быть отражено, что машина имеет размер машинного слова 32 бита, использует кодировку данных little endian, а тип файла должен быть указан как исполняемый. В файле используются четыре секции и один сегмент.

Сегмент должен быть отмечен как загрузочный и состоять из единственной секции.text, содержащей бинарные инструкции для вычислителя. Виртуальный и физический адрес отмечаются как 0x00, выставляются флаги 0x01 и 0x04 - загрузка и чтение, в байт информации о выравнивании данных записывается 0x00. Для секции выставляются флаги 0x02 и 0x04 -аллоцируемая и исполняемая. Тип секции - SHT PROGBITS=1. Выравнивание 0x00. Остальные секции должны содержать таблицу символов, которая в данном случае содержит информацию о метках, используемых в квантовой программе, таблицу строк, содержащую имена меток, и стандартную таблицу строк с именами секций. Имена, используемые для секций, соответственно.symtab, strtab, shstrtab. Выравнивание - 0x00.

С точки зрения пользователя квантовый вычислитель имеет участок классической памяти MEM, куда можно записывать, например, результаты измерений или параметры работы алгоритма. Доступ к этой памяти может выполняться из квантовой программы (квантовой программы в виде бинарного файла команд BIN, загруженного в операционную систему OS и исполняемого ею) или отправкой соответствующего системного вызова операционной системе OS. Классическая память MEM представлена массивом равноправных ячеек, вмещающих по одному машинному слову длиной в 4 байта. Всего доступно 640 КБ памяти. Адресация пословная.

При разработке языка программирования за основу был взят язык Quil [R. S. Smith, M. J. Curtis, W. J. Zeng "A Practical Quantum Instruction Set Architecture," arXiv: 1608.03355, (2017)]. Однако, полученный конечный язык программирования не является ни подмножеством, ни надмножеством языка Quil, хотя и имеет сходный синтаксис.Общая компоновка команды следующая:

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

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

Список поддерживаемых команд представлен на фиг. 6. Часть команд не исполняется непосредственно на вычислителе, а служит командами для компилятора. Например, INCLUDE включает файл с исходным кодом или LABEL создает метку в бинарном файле команд BIN, с которой можно затем начать исполнение программы с помощью системного вызова ExecLabel. Также имеется набор классических команд для ветвления по условию, перехода по заданному адресу, арифметических операций или работы с булевыми значениями. Наконец, присутствуют команды для квантового вычислителя, такие как: инициализация, применение вентилей, измерения.

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

Для вычислителя на нейтральных атомах управляющая плата представляет собой комбинацию из ПЛИС и микроконтроллера, реализующего обмен информацией с выделенным сервером, где запущена операционная система OS. Помимо выполнения квантовых вычислительных операций управляющая плата вычислителя на нейтральных атомах позволяет проводить дополнительные калибровочные измерения для определения резонансов атомных оптических переходов; измерения параметров микроловушек, локализующих атомы в пространстве; измерения температуры локализованных атомов и др.

Предлагаемая управляющая плата вычислителя на нейтральных атомах реализована на базе ПЛИС фирмы Xilinx серии Spartan ЗЕ. Принципиальная электрическая схема управляющей системы представлена на фиг. 7. Данная схема разбита на несколько логических блоков включает:

• Управляющее ядро (поз. 4), выполненное в виде отдельной печатной платы, в том числе содержит Core3s500E фирмы Waveshare - ПЛИС (поз. 5), стабилизаторы напряжения для питания ПЛИС и энергонезависимую память для хранения управляющей программы (прошивки) для ПЛИС.

• Четыре (поз. 3) 50-омных входа (In1…In4), сигнал с которых подается на компараторы ADCMP604, данные входы могут служить входами внешней синхронизации, также применяются для оцифровки сигналов с лавинных фотодетекторов.

• Четырехканальную микросхему ЦАП для управления порогами срабатывания компараторов; микроконтроллер STM32F103C6T6 -осуществляет пакетный обмен по протоколу USB2.0, согласно фиг. 8, между выделенным сервером и ПЛИС, также задает пороги срабатывания компараторов, управляя ЦАП (все поз. 6).

• Восемь логических буферов SN74LVC1T45 (фиг. 7, лист 1), подключенных к выходным SMA разъемам (Out1…Out8). Сигналы с этих разъемов затем подаются для включения/отключения акустооптических модуляторов для формирования лазерных импульсов, на входы управления СВЧ генератором и на вход синхронизации ПЗС камеры (на поз. 1).

• Четыре формирователя дифференциальных сигналов ADM485, применяются для управления магнитными катушками, необходимыми для работы квантового вычислителя на базе нейтральных атомов (так же на поз. 1).

• Микросхему статической памяти AT45DB041D для хранения калибровочных переменных, используемых внутри ПЛИС (см. на поз. 4).

• Набор LED индикаторов для отображения текущего состояния всех входов и выходов (поз. 2).

• Набор кнопок для взаимодействия с микроконтроллером.

• Схему преобразователей напряжения на 3.3 и 5 В при входных напряжениях 9-15 В.

Управляющая плата вычислителя на нейтральных атомах обладает следующими техническими характеристиками:

• Количество выходных логических каналов (формат TTL) для управления внешними устройствами - 8 шт.

• Количество дифференциальных выходных каналов (формат RS-485) - 4 шт.

• Время переключения любого из логических каналов (формат TTL) по уровню (10-90)% - не более 5 нc

• Время переключения любого из дифференциальных выходных каналов по уровню (10-90)% - не более 15 нc

• Количество входов для регистрации импульсов лавинных фотодетекторов - 4 шт.

• Возможность установки порога дискриминации при регистрации входных импульсов - (0…5) В.

• Минимальная длительность входного сигнала для возможности регистрации в схеме - 1 не.

• Максимальная частота входных импульсов, разрешаемая схемой - 6 МГц.

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

Каждая экспериментальная последовательность состоит из экспериментальных фаз (далее - просто фаз). Количество фаз от 1 до 13. При выполнении каждой фазы состояние выходов синхронизатора фиксировано.

Фаза 0 - задает начальное состояние управляющей системы до момента срабатывания триггера, длительность фазы 0 - не ограничена.

При обнаружении и подтверждении (см. смещение 0x5D, фиг. 8) триггерного события состояние выходов синхронизатора переводится в соответствие с маской для фазы 1. Длительность фаз 1…13 - фиксируется.

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

На поверхности линейно-оптического чипа напылено множество металлических нагревателей с контактами к ним. Предлагаемая управляющая плата линейно-оптического вычислителя подключается к контактам для задания токов нагревателей и, соответственно, установки фаз в плечах интерферометра, «напечатанного» в линейно-оптическом чипе. Операционная система OS, запущенная на выделенном сервере, отправляет команды управляющей плате линейно-оптического вычислителя.

Для получения результатов измерений в состав линейно-оптического вычислителя входят счетные фотодетекторы (на фигурах не показаны), которые подключаются к коррелятору. Коррелятор регистрирует электрические импульсы, генерируемые фото детекторами. Коррелятор подключается к выделенному серверу посредством стандарта Ethernet. Операционная система OS выполнена с возможностью обработки данных, поступающих от коррелятора. В качестве коррелятора используются промышленно доступные устройства, например, модуль ТТМ8000 производства компании Roithner LaserTechnik.

Управляющая плата линейно-оптического вычислителя выполнена в виде набора отдельных печатных плат, задающих ток, подключенных к одному внешнему микроконтроллеру через последовательный интерфейс SPI. Каждая печатная плата является цифро-аналоговым устройством с восьмью выходными каналами. На плате установлены:

• 12 разрядный восьмиканальный цифро-аналоговый преобразователь серии AD5628, служит для установки значений стабилизируемого тока в каждом из восьми каналов (фиг.9).

• Аналоговая система стабилизации тока (8 шт.), состоящая из комбинации операционного усилителя серии AD8622, полевого транзистора серии IRF7103TR, токоизмерительного резистора, резисторов и конденсаторов обвязки (фиг. 10).

• Импульсный повышающий преобразователь напряжения с 12 В до 45 В для обеспечения питания подключаемой нагрузки (фиг. 11).

Каждый канал может выдавать ток от 0 до 32 мА на нагрузку от 500 до 1000 Ом, в зависимости от значения, установленного на требуемом канале цифро-аналогового преобразователя. Полное число каналов равно 64 при параллельном подключении восьми плат, задающих ток, к микроконтроллеру.

Управляющая плата линейно-оптического вычислителя подключается к выделенному серверу по интерфейсу USB. При правильном обнаружении устройства информационный светодиод на передней панели должен изменить цвет свечения с красного на зеленый. Взаимодействие с управляющей платой линейно-оптического вычислителя осуществляется при помощи текстовых команд, описание которых приведено на фиг. 12.

Примеры реализации изобретения

Для проверки работоспособности управляющей системы была использована квантовая программа с набором команд, описанных выше, работающая в связке с классической программой. Целью программ было определение точности операций, выполняемых квантовыми вычислителями на основе нейтральных атомов и линейно-оптического вычислителя. Классическая программа запускала квантовую как подпрограмму, а также производила вывод результатов измерений. Квантовая программа содержала инструкции, применяющие тот или иной логический квантовый вентиль к регистру кубитов и его измерение. Как и в случае с классической работой электронной вычислительной машины, где для реализации любого вычисления достаточно трех атомарных операций над битами (например И, НЕ, ИЛИ-НЕ), в случае квантового вычислителя - произвольная квантовая программа может быть представлена в базисе из нескольких квантовых операций (вентилей), например, операция «Паули - X» (X), операция «Паули - Y» (Y), операция «Адамар Н» (Н), контролируемое НЕТ (CNOT) и фазового вентиля Р. Соответствующие матричные формы представленных операций выглядят как:

На основе данных вентилей можно определить вентили более общего вида: поворот на угол θ вокруг оси X, Y или Z, соответственно, обозначаемые как RX(θ), RY(θ), RZ(θ):

Пример квантовой программы, которая в цикле 200 раз приготавливает кубит в состоянии |0>, применяет вентиль RX с программно задаваемым углом поворота и выполняет измерение кубита с записью суммарного результата в ячейку классической памяти с адресом 10:

LABEL @ROTATEX

COPY 0 [0] // Скопировать значение 0 в ячейку классической памяти с адресом [0] (счетчик цикла)

COPY 0 [10] // Инициализация ячейки [10] - суммарного результата измерения

LABEL @CYCLE_BEGIN // Установить метку начала тела цикла

INIT 1 // Инициализация одного кубита в состоянии |0>

RX([20]) 0 // Поворот состояния кубита 0 вокруг оси X на угол,

содержащийся в ячейке памяти с адресом 20

MEASURE 0 [1] // Измерение кубита 0 и запись результата в ячейку памяти [1]

ADD 1 [0] [0] // Прибавить к значению в ячейке памяти [0] единицу и записать результат обратно в ячейку [0] (увеличить счетчик цикла)

ADD [1] [10] [10] // Прибавить текущий результат измерения к суммарному

LT [0] 200 [1] // Проверка условия, что выполнено меньше 200 итераций и запись булевого результата сравнения в ячейку [1] JUMP-UNLESS @CYCLE_BEGIN [1] // Перейти в начало цикла, если

значение в ячейке [1]=ИСТИНА

HALT // Остановка программы

Пример ответной управляющей классической программы на языке С++ с использованием программного интерфейса API, которая передает в загруженную квантовую программу угол поворота для вентиля RX, запускает ее, получает результат измерений и отображает его:

Подобные программы могут быть написаны для проверки точности различных квантовых вентилей (в примере выше вентилем является RX). Повторение каждой квантовой операции 200 раз используется для накопления статистики и уменьшения отношения сигнал/шум. По результатам измерений составляется таблица истинности для каждой операции (X, Y, Н) и производится ее сравнение с таблицей истинности для идеального вентиля. Точность выполнения однокубитной операции рассчитывается по следующей формуле:

где уху - матричные элементы значения вероятностей для идеальной таблицы истинности, а - матричные элементы значений вероятностей, полученных в ходе эксперимента. Индексы изменяются в пределах от 1 до 2 с шагом 1, что соответствует размерности гильбертова пространства состояний для одного кубита. Индексы отвечают за нумерацию строк, j, n, k, y - за нумерацию столбцов подставляемых матриц. Так, например, вероятность р12 для идеальной таблицы истинности операции Паули-Y равна

В ходе функционирования управляющей системы были получены следующие результаты. Для вычислителя на нейтральных атомах точность выполнения однокубитовой операции применения операции Паули X (эквивалентна команде RX поворота состояния кубита вокруг оси X с углом поворота π) составила (99,98±6,6)%; точность выполнения однокубитовой операции Паули Y (RY с углом π) - (97,3±1,3)%. Для линейно-оптического вычислителя точность выполнения RX с задаваемым программно углом поворота составила 97%; для вращения состояния кубита вокруг оси Z - 99%. Точность двухкубитового вентиля CNOT (эквивалентен последовательному применению RY(π/2) ко второму кубиту, CZ между первым и вторым кубитами и снова RY(π/2) ко второму кубиту) составила 91%.

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

Похожие патенты RU2814936C1

название год авторы номер документа
Квантовая вычислительная система на основе нейтральных атомов 2023
  • Бобров Иван Борисович
  • Страупе Станислав Сергеевич
RU2814970C1
СПОСОБ ФУНКЦИОНИРОВАНИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ ВЫЧИСЛИТЕЛЬНОГО УСТРОЙСТВА ПРОГРАММНО-АППАРАТНОГО КОМПЛЕКСА 2016
  • Моляков Андрей Сергеевич
RU2626350C1
Квантовая вычислительная система на основе фотонных чипов 2023
  • Калинкин Александр Александрович
  • Дьяконов Иван Викторович
  • Сайгин Михаил Юрьевич
  • Скрябин Николай Николаевич
  • Кондратьев Илья Викторович
  • Кулик Сергей Павлович
RU2806840C1
СПОСОБ И СИСТЕМА КОМПЕНСАЦИИ ШУМОВ НА КВАНТОВОМ ПРОЦЕССОРЕ С ПОМОЩЬЮ КВАНТОВОЙ ТОМОГРАФИИ ОПЕРАЦИЙ 2022
  • Киктенко Евгений Олегович
  • Николаева Анастасия Сергеевна
  • Заливако Илья Владимирович
  • Аксенов Михаил Дмитриевич
  • Борисенко Александр Станиславович
  • Семериков Илья Александрович
  • Хабарова Ксения Юрьевна
  • Колачевский Николай Николаевич
  • Федоров Алексей Константинович
RU2786349C1
ДЕМОНСТРАЦИОННЫЙ СИМУЛЯТОР СИСТЕМЫ КВАНТОВОГО РАСПРЕДЕЛЕНИЯ КЛЮЧА 2021
  • Катамадзе Константин Григорьевич
RU2795245C1
СПОСОБ ЭМУЛЯЦИИ ВЫЗОВОВ СИСТЕМНЫХ ФУНКЦИЙ ДЛЯ ОБХОДА СРЕДСТВ ПРОТИВОДЕЙСТВИЯ ЭМУЛЯЦИИ 2012
  • Белов Сергей Юрьевич
RU2514141C1
ПРОГРАММИРУЕМЫЙ МУЛЬТИМЕДИЙНЫЙ КОНТРОЛЛЕР С ПРОГРАММИРУЕМЫМИ ФУНКЦИЯМИ 2006
  • Мадонна Роберт П.
  • Киклайтер Кевин К.
  • Сильва Майкл К.
  • Бончек Брайан С.
  • Якобсон Артур А.
RU2460119C2
СИСТЕМА И СПОСОБ АВТОМАТИЧЕСКОЙ ОБРАБОТКИ СИСТЕМНЫХ ОШИБОК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 2012
  • Антух Александр Эдуардович
  • Маланов Алексей Владимирович
RU2521265C2
ОБНАРУЖЕНИЕ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ПЕРЕКРЕСТНЫМ ОБЗОРОМ 2015
  • Хант Саймон
  • Менкин Дженнифер
  • Циммерман Джеффри
RU2667052C2
Система и способ решения прикладных задач материаловедения с помощью сопряжения квантовых и классических устройств 2023
  • Калинкин Александр Александрович
  • Дьяконов Иван Викторович
  • Сайгин Михаил Юрьевич
  • Скрябин Николай Николаевич
  • Кондратьев Илья Викторович
  • Кулик Сергей Павлович
RU2814969C1

Иллюстрации к изобретению RU 2 814 936 C1

Реферат патента 2024 года Управляющая система для квантовых вычислительных устройств

Настоящее техническое решение относится к области квантовой вычислительной техники. Технический результат заключается в возможности обеспечения универсального доступа к квантовым вычислителям на основе нейтральных атомов и линейно-оптических вычислителей с использованием термооптического эффекта. Технический результат достигается за счёт того, что программно-аппаратный комплекс включает в себя выделенный сервер с подключенными к нему управляющими платами. Управляющие платы обеспечивают подключение сервера к экспериментальным установкам, которые непосредственно выполняют набор инструкций, содержащийся в бинарном файле инструкций. В пакет программного обеспечения входят: компилятор с языка высокоуровневых квантовых операций (инициализация, применение квантового логического вентиля, измерение) в набор специфических для выбранной физической архитектуры инструкций и специализированная операционная система, запущенная на выделенном сервере и ответственная за передачу инструкций на платы сопряжения. 5 з.п. ф-лы, 12 ил.

Формула изобретения RU 2 814 936 C1

1. Управляющая система для квантовых вычислительных устройств, включающая выделенный сервер, содержащий блок обработки информации, и соединенные с сервером управляющие платы, отличающаяся тем, что она содержит управляющую плату вычислителя на нейтральных атомах и управляющую плату линейно-оптического вычислителя,

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

при этом управляющая плата для квантового вычислителя на нейтральных атомах выполнена с возможностью подключения к квантовому вычислителю на нейтральных атомах и содержит формирователь импульсов и блок индикации состояния управляющих сигналов, связанные с блоком компараторов, выполненным с возможностью приема данных из квантового вычислителя на нейтральных атомах, связанным с управляющим ядром, включающим программируемую логическую интегральную схему (ПЛИС), выполненную с возможностью подачи управляющих сигналов на квантовый вычислитель на нейтральных атомах, и связанный с ней микроконтроллер, выполненный с возможностью приема управляющих инструкций от сервера и передачи данных в сервер;

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

2. Управляющая система для квантовых вычислительных устройств по п. 1, отличающаяся тем, что формирователь импульсов управляющего ядра управляющей платы квантового вычислителя на нейтральных атомах выполнен с возможностью формирования импульсов TTL и/или LVDS.

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

4. Управляющая система для квантовых вычислительных устройств по п. 1, отличающаяся тем, что многоканальный блок стабилизации токов управляющей платы линейно-оптического квантового вычислителя характеризуется величиной управляющих токов от 0 до 32 мА для нагрузки 500 Ом.

5. Управляющая система для квантовых вычислительных устройств по п. 1, отличающаяся тем, что высоковольтный источник напряжения управляющей платы линейно-оптического вычислителя выполнен с функцией защиты от короткого замыкания.

6. Управляющая система для квантовых вычислительных устройств по п. 1, отличающаяся тем, что высоковольтный источник напряжения управляющей платы линейно-оптического квантового вычислителя характеризуется величиной питающего напряжения от 12 до 48 В.

Документы, цитированные в отчете о поиске Патент 2024 года RU2814936C1

US 9858531 B1, 02.01.2018
US 10044638 B2, 07.08.2018
Способ получения продуктов конденсации фенолов с формальдегидом 1924
  • Петров Г.С.
  • Тарасов К.И.
SU2022A1
CN 113688995 A, 23.11.2021
СПОСОБ И УСТРОЙСТВО КВАНТОВОЙ ОБРАБОТКИ 2016
  • Лехнер Вольфганг
  • Хауке Филипп
  • Цоллер Петер
RU2742504C2

RU 2 814 936 C1

Авторы

Кулик Сергей Павлович

Моисеевский Алексей Денисович

Бобров Иван Борисович

Стручалин Глеб Игоревич

Даты

2024-03-06Публикация

2023-04-06Подача