LMSimCIM
Эмулятор квантовых вычислений
Правообладатель: Российский квантовый центр (ООО «МЦКТ»)
Свидетельство о государственной регистрации программы для ЭВМ: №2021619034
    Основные функции

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


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

    Доступ к решению предоставляется:
    • в составе облачной платформы квантовых вычислений QBoard
    • установка ПО в вычислительный кластер конечного клиента
      • рекомендуемая серверная часть:
        • наличие графических процессоров с поддержкой программно-аппаратной архитектуры параллельных вычислений CUDA
    Объем программы: ~ 9.7 kb
    Языки программирования: Python

    Операционные системы, пригодные для выполнения программы (на данный момент поддерживаем):
    • Linux,
    • Windows,
    • MacOS.
      Руководство пользователя

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

      1. Интерпретатор программного языка Python. Для установки Python на компьютер следуйте инструкции с официального сайта https://www.python.org/downloads/. Для корректной работы LMSimCIM необходима версия Python 3.7 и выше.
      а) Для облегчения установки дополнительных программных библиотек рекомендуется использовать дистрибутив Anaconda (https://docs.anaconda.com/anaconda/install/index.html)

      2. Библиотека NumPy. Инструкция по установке доступна на официальном сайте https://numpy.org/install/.
      a) NumPy уже входит в состав программного дистрибутива Anaconda и не требует дополнительной установки при использовании данного дистрибутива.

      3. Библиотека тензорных вычислений PyTorch. Для установки библиотеки воспользуйтесь инструкцией на официальном сайте https://pytorch.org/.

      4. (Опционально) При решении задач большой размерности рекомендуется использовать NVIDIA CUDA Toolkit. Для его применения требуется видеокарта NVIDIA. Инструкция по установке CUDA Toolkit доступна на официальном сайте https://developer.nvidia.com/cuda-downloads.

      Запуск программы LMSimCIM

      Эмулятор квантовых вычислений представляет собой класс объектно-ориентированного языка программирования Python.
      1. Открыть консоль командной строки и перейти в директорию, содержащую файлы
      LMSimCIM.py и
      LMSimCIM_example.py.
      2. В командной строке выполнить команду "python LMSimCIM_example.py"
      a) Данная команда запускает исполняемый файл LMSimCIM_example.py.
      b) В результате работы программы на экране консоли будет выведено достигнутое оптимальное значение случайно сгенерированной целевой функции.
      Exact_solution = …
      LMSimCIM_solution = …
      При корректной работе программы, значения Exact_solution и LMSimCIM_solution будут совпадать.
      Файлы примеров
      Возможные ошибки

      Возможные ошибки, возникающие при запуске программы LMSimCIM:
      1. Ошибки импортирования сторонних программных библиотек:
        1. Пример ошибки:
          1. Import error: No module named numpy.
          2. Import error: No module named torch.
        2. Вариант решения:
          1. Пользователю необходимо установить стороннюю программную библиотеку на свой компьютер, руководствуясь официальной инструкцией разработчика сторонней программной библиотеки.
      2. Несоответствие Exact_solution и LMSimCIM_solution при больших размерностях задачи (размер матрицы более 10.000 x 10.000), в связи с накоплением численной ошибки при расчетах.
        1. Вариант решения:
          1. Использовать повышенную точность представления тензоров (например, в представлении чисел двойной точности).
      Возможные предупреждения, не влияющие на производительность программы:
      UserWarning: To copy construct from a tensor, it is recommended to use
      sourceTensor.clone().detach() or
      sourceTensor.clone().detach().requires_grad_(True), rather than
      torch.tensor(sourceTensor). self.J=torch.tensor(J, dtype=self.dtypef,
      device=self.device)
      Техническая поддержка

      Каналы взаимодействия со службой технической поддержки:
      • электронная почта: mail.qml@rqc.ru
      • live-chat модуль «Отправьте нам сообщение» на сайте https://qml.rqc.ru/

      Режим работы службы технической поддержки:
      Входящие обращения принимаются
      Понедельник - Пятница, 9:00 – 18:00 (по рабочим дням), +3 GMT

      Формат запроса в службу технической поддержки:
      Свободный
      Замечания устраняются исходя из внутренних приоритетов правообладателя.

      Фактический почтовый адрес, по которому осуществляется процесс сопровождения:
      Россия, Москва, Большой бульвар, 30с1, корпус G7, этаж 3, офис 30.

      Основания для разработки:
      • экспертное мнение и продуктовая стратегия Разработчика;
      • обратная связь от клиентов, партнеров и научно-технического сообщества.
      Тестирование обновлений производится инициативной группой пользователей.
      Сообщение об обновлениях доводятся до пользователей адресно.