Посмотреть на английском языке
Лицензионное соглашение участника
Введение в квантовые вычисления
Установка и разработка
Установка
pip установка
Исходная установка
cd ~
git clone https://gitee.com/mindspore/mindquantum.git
cd ~/mindquantum
bash build.sh --gitee
Здесь --gitee
позволяет скрипту загружать сторонние зависимости с платформы управления кодом gitee. Если вам нужно скомпилировать версию для GPU, сначала установите CUDA 11.x и соответствующие драйверы для видеокарты, а затем используйте параметр --gpu
для выполнения следующей команды компиляции:
cd ~/mindquantum
bash build.sh --gitee --gpu
В системе Windows убедитесь, что установлены MinGW-W64 и CMake >= 3.18.3, а затем выполните следующую команду:
cd ~/mindquantum
build.bat /Gitee
В системе Mac убедитесь, что установлены openmp и CMake >= 3.18.3, а затем выполните следующую команду:
cd ~/mindquantum
bash build.sh --gitee
Перейдите в каталог output и установите скомпилированный пакет MindQuantum whl с помощью команды pip.
Компиляция MindQuantum предоставляет два метода компиляции: компиляция пакета и локальная компиляция.
Компиляция пакета: если вам необходимо адаптировать различные системные среды или версии Python, вы можете скомпилировать исходный код в пакет wheel, который затем можно установить. Подробные инструкции см. в разделе «Исходная установка».
Локальная компиляция: если вы хотите добавить или изменить часть кода и быстро проверить его эффективность, вы можете использовать локальную компиляцию для компиляции кода C++ в файл .so, который затем может быть вызван Python. Вам не нужно повторно компилировать пакет, удалять и переустанавливать его, что удобно для отладки и тестирования.
Скачайте исходный код из репозитория кода:
cd ~
git clone https://gitee.com/mindspore/mindquantum.git
--gitee
указывает скрипту загрузить сторонние зависимости с платформы управления кодом gitee; команда export добавляет путь к исходному коду MindQuantum в переменную среды PYTHONPATH.cd ~/mindquantum
bash build_locally.sh --gitee
export PYTHONPATH=`pwd`$PYTHONPATH
В системе Windows, которая зависит от MinGW-W64 и CMake >= 3.18.3, выполните локальную компиляцию:
cd ~/mindquantum
build_locally.bat /Gitee -G 'MinGW Makefiles'
set PYTHONPATH=%cd%;%PYTHONPATH%
Для системы Mac, которая зависит от openmp и CMake >= 3.18.3, выполните локальную компиляцию:
cd ~/mindquantum
bash build_locally.sh --gitee
export PYTHONPATH=`pwd`$PYTHONPATH
Быстрый старт
Структура кода
Модульное тестирование
Написание документации
Процесс внесения вклада
Перед отправкой кода в сообщество MindSpore Quantum вам необходимо прочитать и подписать «Лицензионное соглашение участников» (CLA).
Для индивидуальных участников обратитесь к онлайн-файлу ICLA.
С постепенным ослаблением закона Мура, повышение интеграции микросхем становится всё более сложным, и производительность вычислений достигает узкого места. Архитектура классических компьютеров близка к пределу, и в условиях растущей потребности в вычислительной мощности для больших моделей квантовые вычисления становятся областью, привлекающей внимание широкой общественности.
Квант — это понятие из физики, означающее минимальную и неделимую основную единицу, где минимальная единица является квантом; концепция неделимости называется квантованием. Она используется для описания свойств частиц в микромире, таких как атомы и электроны. Слово «квант» происходит от латинского quantum, что означает «определённое количество материи».
Квантовые вычисления — это передовая технология, использующая законы квантовой физики для управления квантовыми информационными единицами для вычислений. Проще говоря, квантовые биты используются для управления компьютерами. В настоящее время люди используют мобильные телефоны, компьютеры и другие средства для доступа к этой статье, а программное обеспечение на нижнем уровне состоит из потока данных 0 и 1, соответствующего аппаратному управлению высоким и низким уровнем напряжения; квантовые вычисления управляют квантовыми битами, которые обладают свойствами квантового состояния микроскопических частиц.
Применение квантовых вычислений широко распространено и включает в себя криптоанализ, транспортные проблемы (задачи комбинаторной оптимизации), материаловедение, биомедицину (моделирование энергии химических молекул), искусственный интеллект (квантово-машинное обучение), полупроводники нового поколения (квантовые чипы) и другие области.
$$ |\varphi>=\alpha |0>+\beta |1> $$
Установите MindSpore
Следуйте инструкциям на веб-сайте MindSpore для установки версии 1.4.0 или более поздней версии MindSpore. MindSpore — это новая открытая платформа глубокого обучения, предназначенная для использования в пограничных и облачных сценариях. MindSpore предлагает удобный дизайн и высокую производительность, чтобы улучшить опыт разработчиков и специалистов по данным.
pip install mindquantum
Загрузите исходный код с веб-сайта кода:
cd ~
git clone https://gitee.com/mindspore/mindquantum.git
Скомпилируйте MindQuantum:
В системе Linux убедитесь, что установлен CMake >= 3.18.3, а затем выполните следующую команду:
cd ~/mindquantum
bash build.sh --gitee
Здесь --gitee
позволяет скрипту загружать сторонние зависимости с платформы управления кодом gitee. Если вам необходимо скомпилировать версию для GPU, сначала установите CUDA 11.x и соответствующие драйверы для видеокарты, а затем используйте параметр --gpu
для выполнения следующей команды компиляции:
cd ~/mindquantum
bash build.sh --gitee --gpu
В системе Windows убедитесь, что установлены MinGW-W64 и CMake >= 3.18.3, а затем выполните следующую команду:
cd ~/mindquantum
build.bat /Gitee
В системе Mac убедитесь, что установлены openmp и CMake >= 3.18.3, а затем выполните следующую команду:
cd ~/mindquantum
bash build.sh --gitee
Установите скомпилированный пакет whl:
Перейдите в каталог output и установите скомпилированный пакет MindQuantum whl с помощью команды pip. Перевод текста на русский язык:
При возникновении ошибки можно создать issue или обратиться к Google или Baidu, используя учебник CSND.
CMake — это кроссплатформенная программа для сборки с открытым исходным кодом. Установка:
Дважды щёлкните по установленному файлу CMake, чтобы начать установку. Обратите внимание, что необходимо добавить CMake в пользовательские переменные. В конце нажмите «Finish», чтобы завершить установку.
Откройте терминал и введите команду, чтобы вывести версию. Если вы видите версию, установка прошла успешно.
cmake --version
>>> cmake version 3.24.2
MindQuantum использует C++ и Python для разработки. Основные вычислительные блоки реализованы на C/C++, а верхние интерфейсы и периферийные модули — на Python.
Процесс разработки делится на два основных класса: разработка новых функций и исправление ошибок.
Разработка новых функций: перейдите на страницу MindQuantum issue, создайте issue и опишите новую функцию, категорию и метод реализации. Общайтесь с командой разработчиков MindQuantum, чтобы определить, нужна ли эта функция. Начните реализацию локально, напишите код, реализуйте функцию и создайте соответствующие тестовые примеры и документацию. Отправьте PR, дождитесь проверки кода и объедините его с основной веткой. Разработка новой функции завершена.
Исправление ошибок: перейдите на страницу MindQuantum issue и просмотрите открытые issue. Примите задачу по исправлению ошибки или создайте новый issue при обнаружении ошибки во время использования MindQuantum.
mindquantum
для создания квантового канала, включающего H-ворота, RX-ворота и RY-ворота. Получите квантовое состояние.from mindquantum import *
import numpy as np
encoder = Circuit().h(0).rx({'a0': 2}, 0).ry('a1', 1)
print(encoder)
print(encoder.get_qs(pr={'a0': np.pi / 2, 'a1': np.pi / 2}, ket=True))
После запуска этого кода будет выведено описание квантового канала и конечное состояние.
┏━━━┓ ┏━━━━━━━━━━┓
q0: ──┨ H ┠─┨ RX(2*a0) ┠───
┗━━━┛ ┗━━━━━━━━━━┛
┏━━━━━━━━┓
q1: ──┨ RY(a1) ┠───────────
┗━━━━━━━━┛
-1/2j¦00⟩
-1/2j¦01⟩
-1/2j│10⟩
-1/2j│11⟩
ccsrc
— модуль основных операций, реализованный на C/C++.cmake
— информация о конфигурации сборки CMake.docs
— API-документация MindQuantum.mindquantum
— квантовый вычислительный модуль MindQuantum, реализованный на Python. Включает следующие подмодули:
mindquantum.dtype
— моделирование типов данных MindQuantum.mindquantum.core
— основные характеристики MindQuantum (eDSL). Включает:
gata
— модуль квантовых ворот, предоставляющий различные квантовые ворота.circuit
— модуль квантового канала, позволяющий легко создавать квантовые каналы в соответствии с требованиями, включая параметризованные квантовые каналы.operators
— библиотека операторов MindQuantum.parameterresolver
— модуль анализа параметров, используемый для объявления используемых параметров.mindquantum.simulator
— симулятор эволюции квантовой системы.mindquantum.framework
— операторы и ячейки квантовых нейронных сетей.mindquantum.algorithm
— квантовые алгоритмы. Включает:
compiler
— модуль компиляции квантовых каналов.library
— часто используемые алгоритмы.nisq
— алгоритмы NISQ.error_mitigation
— модули смягчения ошибок.mapping
— модули отображения битов.mindquantum.device
— модуль оборудования MindQuantum. MindQuantum: структура проекта
Модульное тестирование
MindQuantum использует Pytest для написания модульных тестов. Рекомендуется, чтобы разработчики создавали соответствующие модульные тесты после реализации новой функции или модуля, чтобы гарантировать нормальное функционирование этой функции.
Написание документации
В MindQuantum есть два основных типа документации:
Процесс вклада
Стиль кода
Рекомендуется следовать этому стилю, чтобы облегчить проверку, обслуживание и разработку MindSpore Quantum командой.
Для получения дополнительной информации см. правила (https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md).
Модель разработки Fork-Pull
# На Gitee
git clone https://gitee.com/{insert_your_forked_repo}/mindquantum.git
git checkout -b {имя новой ветки} origin/master
Например, если MindSpore Quantum необходимо создать ветви версий и ветви разработки нижестоящих систем, сначала исправьте ошибки вышестоящей системы, затем измените код.
git add .
git status # Просмотр статуса обновления.
git commit -m "Ваш заголовок commit"
git commit -s --amend # Добавить конкретное описание commit, необязательно.
git push origin {имя новой ветки}
Чтобы быстро получить ответ, можно добавить к issue метку. Подробности о метках см. в списке меток.
Советы по PR:
Во время разработки рекомендуется использовать функцию pre-push для проверки кода локально. Это позволяет провести сканирование кода, аналогичное этапу Code Check в CI, и повысить вероятность успешного прохождения проверки при отправке в репозиторий. Подробные инструкции см. в кратком руководстве по pre-push.
После завершения разработки рекомендуется использовать функции форматирования в vscode или pycharm для стандартизации стиля кода.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )