Гетерогенный кластер | ЛИТ/ОИЯИ
 
Платформа "HybriLIT"

Полигон для квантовых вычислений

О полигоне для квантовых вычислений

На ресурсах экосистемы ML/DL/HPC гетерогенной платформы HybriLIT развернут полигон для квантовых вычислений. Характеристики сервера позволяют проводить расчеты с использованием библиотек, поддерживающих параллельные вычисления как на центральных процессорах, так и на графических ускорителях.

Характеристика сервера:

  • 2x Intel Xeon E5 2698v4 (20 Cores @ 2.2 GHz),
  • 512 GB RAM,
  • 8x NVIDIA Tesla V100 SXM2 16 GB HBM2

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

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

  1. Cirq, примеры по использованию: github.com/quantumlib/Cirq/
  2. Qiskit, примеры по использованию: github.com/Qiskit/
  3. PennyLane, примеры по использованию: pennylane.ai, github.com/MonitSharma
  4. QuTiP, примеры по использованию: qutip.org/qutip-tutorials, github.com/qutip

Работа на полигоне для квантовых вычислений

Доступ к серверу предоставляется только из внутренней сети ОИЯИ.

Для работы на полигоне для квантовых вычислений доступны следующие варианты.

  • Работа через batch-систему (Рис. 1, слева).
    Симуляторы квантовых вычислений и все необходимые библиотеки установлены в сетевую файловую систему CVMFS, для определения необходимых переменных окружения в рабочей сессии пользователя используется утилита Modules. Запуск задач осуществляется через планировщик SLURM. Из преимуществ этой реализации можно отметить возможность проведения многоузловых расчетов с применением технологии MPI и использования ресурсов всей гетерогенной платформы, в том числе суперкомпьютера «Говорун». Для доступа к полигону через batch-систему следуйте инструкции.
  • Работа через веб-интерфейс (Рис. 1, справа).
    В последнее время все больше квантовых симуляторов получает реализацию на языке Python. Для упрощения работы с ними реализовано расширение полигона для квантовых вычислений, позволяющее проводить исследования с использованием квантовых симуляторов в среде Jupyter. Это предоставило пользователям возможность наглядно работать в браузере с квантовыми схемами и проводить расчеты. Полигон для квантовых вычислений развернут на базе сервера, позволяющего проводить расчеты как на центральных процессорах, так и графических ускорителях. Веб-интерфейсом выбран JupyterLab – многопользовательская версия Jupyter, на котором установлены в виде отдельных модулей симуляторы квантовых вычислений. При выборе квантового симулятора открывается Jupyter Notebook с библиотеками и настроенными переменными окружения. Значимым преимуществом работы в Jupyter Notebook является возможность наглядно вести разработку алгоритмов, визуализировать квантовые схемы, а обширные материалы в открытом доступе на Python позволяют существенно ускорить исследования.
Рис. 1. Полигон для квантовых вычислений

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

  1. В браузере перейти по ссылке jhub3.jinr.ru и войти с логином и паролем платформы HybriLIT;
  2. В правой части окна Вы увидите «плитки» с соответствующими названиями симуляторов:
    Рис. 2. Выбор квантового симулятора
  3. Выбирая соответствующую плитку и нажав на нее левой кнопкой мыши, откроется JupyterNotebook для работы с соответствующим квантовым симулятором.

Тестовая задача

Для тестирования был выбран квантовый симулятор QuEST. С его помощью проверялась эффективность проведения расчетов как на системах с общей и распределенной памятью, так и на графических ускорителях с использованием технологии CUDA. Результаты тестирования представлены на Рис. 3 и Рис. 4. На Рис. 3 представлен график зависимости времени работы квантового симулятора от числа потоков для разного числа кубитов. Из графика видно, что удалось достичь размеров квантовой системы в 33 кубита. На Рис. 4 представлен график времени работы квантового симулятора с различным числом кубитов на различных графических ускорителях.

Рис. 3. Зависимость времени работы квантового симулятора от числа кубитов при разном числе потоков
Рис. 4. Зависимость времени работы квантового симулятора от числа кубитов на различных графических ускорителях

Пример пользовательской задачи

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

Подробно постановка задачи представлена в работе Yu. Palii, A. Bogolubskaya, D. Yanovich. Quantum approximation optimization algorithm for the Ising model in an external magnetic field [PDF] опубликованной в Physics of Particles and Nuclei, Vol. 55, No. 3, pp. 600–602. ISSN 1063-7796, 2024.

На одном из серверов квантового полигона с двумя процессорами AMD EPYC 7763 (64 ядра @ 2.45 ГГц) на 128 потоках было достигнуто время работы в 3 часа 20 минут, на графическом ускорителе NVIDIA A100 с подключением библиотеки cuStateVec удалось сократить время до 14.5 минут.

Запуск тестовой задачи показал возможность моделирования систем до 33 кубитов. На реальной задаче было получено ускорение работы в более, чем 200 раз.