Публикации
UCIe – открытый протокол для взаимосвязи чиплетов и построения дезагрегированных инфраструктур, статья
Dell Validated Design for Analytics — Data Lakehouse: интегрированное хранилище данных, статья
OCP Global Summit: решения для Computational Storage и компонуемых масштабируемых архитектур, статья
Samsung CXL MemoryySemantic SSD: 20M IOPs, статья
Omni-Path Express – открытый интерконнект для экзафлопных HPC/AI-систем, статья
От хранилищ данных и “озер данных” к open data lakehouse и фабрике данных, статья
GigaIO: CDI_решение на базе AMD для высшего образования, статья
End-to-end 64G FC NAFA, статья
Computational Storage, статья
Технология KIOXIA Software-Enabled Flash™, статья
Pavilion: 200 млн IOPS на стойку, статья
CXL 2.0: инновации в операциях Load/Store вводаавывода, статья
LightOS™ 2.2 – программно-определяемое составное блочное NVMe/TCP хранилище, статья
Тестирование референсной архитектуры Weka AI на базе NVIDIA DGX A100, статья
SmartNIC – новый уровень инфраструктурной обработки, статья
Ethernet SSD, JBOF, EBOF и дезагрегированные хранилища, статья
Compute, Memory и Storage, статья
Fujitsu ETERNUS CS8000 – единая масштабируемая платформа для резервного копирования и архивирования, статья
Lenovo: CXL – будущее серверов с многоуровневой памятью , статья
Liqid: компонуемые дезагрегированные инфраструктуры для HPC и AI, статья
Intel® Agilex™ FPGA, статья
Fujitsu ETERNUS DSP - разработано для будущего, статья
Технологии охлаждения для следующего поколения HPC-решений, статья
Что такое современный HBA?, статья
Fugaku– самый быстрый суперкомпьютер в мире, статья
НРС – эпоха революционных изменений, статья
Weka для AI-трансформации, статья
Cloudera Data Platform – “лучшее из двух миров”, статья
Excelero NVEdge для HA IoT-эры, статья
Адаптивные HPC/AI-архитектуры для экзаскейл-эры, статья
Новое поколение СХД Fujitsu ETERNUS, статья
Зональное хранение данных, статья
За пределами суперкомпьютеров, статья
Применение Intel® Optane™ DC и Intel® FPGA PAC, статья
DAOS: СХД для HPC/BigData/AI приложений в эру экзаскейл_вычислений, статья
IPsec в пост-квантовую эру, статья
Дезагрегированные компонуемые среды для высокопроизводительных задач, статья
HPE Primera: интеллектуальная СХД HPE 3PAR, статья
HPE Elastic Platform for Big Data and Analytics, статья
LiCO: оркестрация гибридныхНРС/AI/BigData_инфраструктур, статья
 
Обзоры
Все обзоры в Storage News
 
Тематические публикации
Flash-память
Облачные вычисления/сервисы
Специализ. СХД для BI-хранилищ, аналитика "больших данных", интеграция данных
Современные СХД
Информационная безопасность (ИБ), борьба с мошенничеством
Рынки
NVIDIA QODA: платформа для гибридных квантово-классических вычислений

12, июль 2022  — 

https :// developer . nvidia . com / blog / introducing - qoda - the - platform - for - hybrid - quantum - classical - computing /

Alex McCaskey

Программисту , который хочет исследовать алгоритмы и создавать гибридные приложения для будущего квантового преимущества , необходима связующая технология , обеспечивающая динамические рабочие процессы в разрозненных системных архитектурах . Благодаря унифицированной модели программирования, NVIDIA Quantum-Optimized Device Architecture (QODA) является первой в своем роде платформой для гибридных квантово - классических компьютеров , позволяющей интегрировать и программировать квантовые процессоры (QPU , quantum processing units ), GPU и CPU в одном устройстве . система . QODA обеспечивает масштабируемость и производительность системы с ускорением на GPU для гетерогенных элементов QPU, CPU, GPU и эмулируемых квантовых систем .

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

Для начала нам нужно продвинуться в понимании квантовых алгоритмов. В прошлом году NVIDIA анонсировала cuQuantum , комплект разработки программного обеспечения (SDK) для ускорения моделирования квантовых вычислений. Моделирование квантовых схем с использованием cuQuantum на графических процессорах позволяет проводить исследования алгоритмов с производительностью и масштабированием, намного превосходящими возможности современных квантовых процессоров (QPU). Это прокладывает путь к прорывам в понимании того, как максимально эффективно использовать квантовые компьютеры.

Помимо улучшения квантовых алгоритмов, нам также необходимо максимально использовать потенциал QPU наряду с классическими вычислительными ресурсами: процессорами и графическими процессорами. Сегодня ( на конференции Q2B в Токио ) NVIDIA объявляет о запуске Quantum Optimized Device Architecture ( QODA ) — платформы для гибридных квантово-классических вычислений, предназначенной для реализации этой утилиты.

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

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

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

Ключевые преимущества QOD A ( https://developer.nvidia.com/qoda ):

•  Гибкость и масштабируемость. Поддерживает гибридные развертывания посредством эмуляции на одном графическом процессоре вплоть до NVIDIA DGX SuperPOD™ и с несколькими партнерскими серверными частями QPU.

•  Открытость. Подключается к любому типу серверной части QPU, обеспечивая доступ для всех пользователей.

•  Высокая производительность. Ускорение в 287 раз в сквозной производительности Variational Quantum Eigensolver (VQE) с 20 кубитами и значительно улучшенным масштабированием по сравнению с платформами Pythonic.

•  Легкая интеграция. Взаимодействие с современными приложениями с GPU-ускорением

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

Ландшафт квантового программирования

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

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

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

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

Мы рассматриваем квантовые вычисления как еще один элемент архитектуры гетерогенной системы высокопроизводительных вычислений и представляем себе модель программирования, которая органично интегрирует квантовую совместную обработку в нашу существующую экосистему CUDA . Существующие подходы, которые начинаются на уровне языка Python, недостаточны в этом отношении и в конечном итоге ограничат эффективную интеграцию ресурсов классических и квантовых вычислений.

QODA для HPC

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

QODA изначально совместим с существующими классическими моделями параллельного программирования, такими как CUDA, OpenMP и OpenACC . Эта реализация компилятора также уменьшает представления исходного кода квантово-классического C++ до двоичных исполняемых файлов, которые изначально нацелены на серверные части моделирования с поддержкой cuQuantum.

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

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

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

Одним из простых примеров этого является стандартная функция выборки QODA ( qoda::sample(...) ), которая принимает экземпляр квантового ядра и любые конкретные аргументы, для которых ядро должно быть оценено, в качестве входных данных и возвращает знакомое отображение наблюдаемых строк битов измерения кубитов в соответствующие количество наблюдаемых раз.

Программисты ядра QODA имеют доступ к некоторым встроенным типам, относящимся к квантовым вычислениям ( qoda::qubit , qoda::qreg , qoda::spin_op , и т. д.), операциям квантовых вентилей и всем традиционным классическим потокам управления, унаследованным от C++.

Интересным аспектом подхода к языковой компиляции, описанным ранее, является возможность компилировать коды QODA, которые содержат ядра CUDA, прагмы OpenMP и OpenACC и вызовы API библиотеки CUDA более высокого уровня. Эта функция позволит разработчикам гибридных квантово-классических приложений по-настоящему воспользоваться преимуществами обработки с использованием нескольких графических процессоров в тандеме с квантовыми вычислениями.

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

Ранний взгляд на квантово-классические приложения

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

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

Вы можете увидеть, как выглядит общий алгоритм, подобный VQE, с моделью программирования QODA:

Основными требуемыми компонентами являются параметризованное выражение ядра Ansatz QODA, показанное в примере кода в виде лямбда-выражения, принимающего расширение std::vector<double> .

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

Следующим необходимым компонентом является оператор, математическое ожидание которого требуется для расчета. QODA представляет их как встроенный spin_op тип, и вы можете создавать их программно с вызовами функций Pauli x(int) , y(int) , и . z(int)

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

Наконец, язык предоставляет стандартную библиотечную функцию для вызова всего рабочего процесса VQE. Он параметризован на экземпляре ядра QODA, моделирующем анзац подготовки состояния, оператор для которого нужны следующие значения:

  • Минимальное собственное значение
  • Пример классической оптимизации
  • Общее количество вариационных параметров

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

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

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

Программа раннего интереса QODA

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

QODA предоставляет открытую платформу для этого, и NVIDIA рада работать со всем квантовым сообществом, чтобы сделать полезные квантовые вычисления реальностью. Подайте заявку на участие в программе QODA Early Interest, чтобы быть в курсе последних разработок NVIDIA в области квантовых вычислений.

Для получения дополнительной информации см. Решения NVIDIA для квантовых вычислений с публикациями, видеороликами и многим другим.

Об Алексе Маккаски
Алекс Маккаски — старший архитектор программного обеспечения для квантовых вычислений в NVIDIA. Его работа сосредоточена на моделях программирования , компиляторах и языках для гетерогенных квантово - классических вычислений . В прошлом он руководил рядом проектов квантового программного обеспечения с открытым исходным кодом , в том числе квантовой структурой системного уровня XACC и платформой квантово - классического компилятора C++ QCOR. Он получил степень бакалавра наук . степени в 2010 году по физике и математике Университета Теннесси и степень магистра наук . степень по физике Политехнического и государственного университета Вирджинии в 2014 году .

Доп. ресурсы:

Публикации по теме
Высокопроизводительные вычисления (HPC), параллельные файловые системы, HPC-СХД
 
Новости NVIDIA

© "Storage News" journal, Russia&CIS
Редакция: 115516, Москва, а/я 88; тел./факс - (495) 233-4935;
www.storagenews.ru; info@storagenews.ru.