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

    Основным назначением эмулятора квантовых вычислений «SimCIM» является решение задач дискретной комбинаторной оптимизации при помощи программного аннилинга — симуляции работы оптического устройства «Когерентной Машины Изинга».


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

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

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

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

    1. Интерпретатор программного языка Python. Для установки Python на компьютер следуйте инструкции с официального сайта https://www.python.org/downloads/. Для корректной работы SimCIM необходима версия 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.

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

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

    Возможные ошибки, возникающие при запуске программы SimCIM:
    1. Ошибки импортирования сторонних программных библиотек:
      1. Пример ошибки
        1. Import error: No module named numpy.
        2. Import error: No module named torch.
      2. Вариант решения:
        1. Пользователю необходимо установить стороннюю программную библиотеку на свой компьютер, руководствуясь официальной инструкцией разработчика сторонней программной библиотеки.
    2. Отсутствие совместимости с NVIDIA CUDA Toolkit (средой для управление высокопроизводительными вычислениями с использованием графических процессоров NVIDIA)
      1. Пример ошибки
        1. TypeError: type torch.cuda.FloatTensor not available. Torch not compiled with CUDA enabled.
      2. Вариант решения:
        1. Пользователю необходимо установить и настроить CUDA Toolkit, следуя официальной инструкции на сайте разработчика.
        2. Если у пользователя нет возможности использовать CUDA Toolkit, необходимо использовать мощности центрального процессора (CPU) для осуществления расчетов. Для этого при вызове экземпляра класса SimCIM необходимо задать параметр device="cpu".
    3. Несоответствие Exact_solution и SimCIM_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.

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