В 2023 году группа исследователей из Окриджской национальной лаборатории запустила на суперкомпьютере Theta симуляцию квантовой схемы из 61 кубита. Для хранения её вектора состояния потребовалось бы 32 эксабайта памяти — больше, чем суммарный объём всех жёстких дисков на планете. Но благодаря сжатию данных уложились в 768 терабайт. Так выглядит повседневная работа тех, кто пытается заставить классические машины играть квантовую музыку.
Эта музыка устроена непривычно. Квантовый бит — кубит — хранит не просто ноль или единицу, а их квантовую суперпозицию: оба значения одновременно, с разными весами. Когда кубитов становится два, состояний уже четыре, и все они существуют параллельно. Три кубита — восемь состояний. Каждый новый кубит удваивает число возможных комбинаций, и вскоре оркестр начинает играть все мыслимые мелодии разом. Классическому компьютеру, чтобы описать такое, приходится держать в памяти каждую ноту этой бесконечной партитуры.
Инженеры нашли несколько способов облегчить эту ношу. На CPU сжатие вектора состояния позволяет хранить не все числа, а только значимые, отбрасывая почти нулевые вклады. На GPU библиотека cuQuantum ускорила сжатие тензорных сетей — графов из тензоров, представляющих квантовую схему, — до 547 раз по сравнению с базовым подходом. На FPGA предвычисление матриц и потоковая обработка дают возможность эффективно выполнять операции с комплексными числами даже на ограниченных ресурсах. Всё это — разные способы заставить железо играть быстрее, не теряя мелодии.
До недавнего времени было неясно, какие аппаратные ускорения наиболее эффективны и как их систематизировать. Теперь стало понятно: ключевые ускорения лежат в сжатии данных, пониженной точности, оптимизации доступа к памяти и параллелизме, причём выбор платформы — CPU, GPU или FPGA — определяет применимую технику. Разработчики симуляторов могут сразу выбирать подходящие оптимизации, а исследователи — видеть перспективные направления без повторного анализа литературы.
Впереди — гибридные подходы, сочетающие разные ускорители, и адаптация методов сжатия из машинного обучения. Уже сегодня эти техники помогают быстрее тестировать квантовые алгоритмы без доступа к дорогим квантовым машинам, приближая день, когда настоящий квантовый оркестр зазвучит в полную силу.
Симуляция 30 кубитов требует до 34 гигабайт памяти, а добавление всего двух кубитов увеличивает потребность до 135 гигабайт — рост в четыре раза от двух кубитов.
В сериале «Разрабы» квантовый компьютер используется для моделирования реальности, но его симуляция на классических машинах сталкивается с теми же ограничениями, что описаны в обзоре.