Российские физики разработали высокопроизводительный эмулятор 34-кубитного квантового компьютера. Программа точно воспроизводит квантовый компьютер и умещается на небольшом сервере. Ее можно использовать для тестирования и создания квантовых алгоритмов. Препринт работы опубликован на сайте arXiv.org.
Квантовые устройства создаются в единичных экземплярах и решают конкретные задачи, поэтому их нельзя применить для разработки и отладки квантовых алгоритмов. Для этих целей ученые создают квантовые эмуляторы — программы, которые имитируют квантовый процессор на классическом компьютере. При этом физикам приходится делать выбор между универсальностью и объемом памяти. Например, квантовые эмуляторы на основе тензорных сетей позволяют имитировать больше сотни кубитов, но воспроизводят квантовую систему приближенно и поэтому решают только узкий класс задач. Эмуляторы на основе векторов состояния хранят все состояния системы, как в квантовом компьютере, но из-за этого выделяемая для них оперативная память растет экспоненциально с увеличением числа кубитов. Задача ученых при создании таких вычислителей — оптимизировать время работы.
Физики из Российского квантового центра под руководством Алексея Федорова (Aleksey K. Fedorov) создали высокопроизводительный квантовый эмулятор на основе векторов состояния, который может содержать до 34 кубитов. Его основные особенности, помимо высокой производительности, — легкая поддержка кода и возможность добавления новых алгоритмов.
Чтобы создать эмулятор, авторы написали программу с нуля без использования библиотек линейной алгебры. Дело в том, что вычислитель на основе векторов состояния хранит в оперативной памяти все квантовые состояния системы. Для системы с n кубитами — это массив комплексных чисел размером 2n. Также его можно представить как матрицу размерности 2×2×2 х ... x 2×2 (всего n множителей). Квантовые состояния системы физики меняли с помощью квантовых вентилей, которые выполняют логические операции над кубитами. Например, вентиль отрицания меняет состояние кубита с 1 на 0 и наоборот. Математически это можно представить как умножение большой матрицы состояний на маленькую матрицу преобразования — вентиль. Библиотеки линейной алгебры, которые часто применяются при создании эмуляторов, оптимизированы под умножение больших матриц на большие матрицы, и поэтому здесь не эффективны. Ученые же учли особенность системы и написали код без них.
Для экономии необходимой оперативной памяти, которая растет экспоненциально при увеличении числа кубитов, авторы не создавали копию матрицы состояний при умножении ее на матрицу вентиля, а изменяли ее саму.
Еще одной технической особенностью работы стало использование современного языка программирования Rust, который позволяет добиться такой же высокой производительности, как при использовании C/C++, но на нем проще добавлять новый функционал в вычислитель и поддерживать корректность работы. Дополнительно авторы создали два модуля: поддержки языка для квантовых схем OpenQASM 2.0 и программирования на языке Python.
Для проверки эффективности эмулятора физики протестировали 10 квантовых алгоритмов, среди которых квантовое преобразование Фурье, квантовая нейронная сеть, модель Изинга и другие. Вычисления запускались на одном процессоре Intel i9-10920X с оперативной памятью 256 гигабайт для разного числа кубитов. Максимальное число кубитов, которое поместилось в память, — 34. Все алгоритмы работали корректно, решив соответствующие квантовые задачи. Таким образом, разработанный квантовый эмулятор может точно имитировать квантовый компьютер средних размеров на небольшом сервере.
Ученые планируют добавить вычислительный модуль на графических процессорах (GPU) для ускорения эмулятора, автоматическое дифференцирование для разработки вариационных алгоритмов. С совершенствованием эмулятора у физиков появятся новые возможности, но уже сейчас вычислитель можно использовать для отладки и разработки квантовых алгоритмов.
Стоит отметить, что создание новых квантовых алгоритмов имеет практическое значение, поскольку существующие зачастую слишком сложны для квантовых вычислителей.
Максимальное значение времени дефазировки составило около 1057 микросекунд
Физики из Финляндии изготовили четыре трансмонных кубита из напыленной в особо чистых условиях пленки ниобия и достигли медианного значения времени термальной релаксации в 425 микросекунд, а времени дефазировки – около 541 микросекунды. Наибольшее значение T1 составило 765 ± 0,083 микросекунд, а для T2 около 1057 микросекунд. Предложенная методика изготовления и экспериментальной проверки подходит для других типов сверхпроводящих кубитов, существенно улучшая их время когерентности. Результаты исследования опубликованы в Nature Communications.