cudaq-guide
Навык cudaq-guide — это onboarding-справочник по CUDA-Q для разработки квантовых программ и выбора способа их выполнения. Источник описывает CUDA-Q как платформу, объединяющую квантово-классическое программирование для CPU, GPU и QPU. Навык маршрутизирует пользователя к установке, тестовой программе, GPU-симуляции, реальному QPU, приложениям и параллельному запуску схем на нескольких QPU. Его можно вызывать как /cudaq-guide с аргументом install, test-program, gpu-sim, qpu, applications или parallelize. Без аргумента он показывает полное меню и уточняет, какую тему разобрать; локальную документацию CUDA-Q нужно читать перед точным ответом. Для Python-пути источник указывает Python 3.10 или новее. GPU-ускоренные targets требуют CUDA Toolkit на Linux, однако NVIDIA GPU не обязателен: доступен CPU-only simulator qpp-cpu. Для C++ пути указан C++20 и Linux либо WSL на Windows. Доступ к настоящему QPU зависит от конкретного провайдера и его credentials/account. На macOS с Apple Silicon нужно использовать CPU simulation без CUDA Toolkit; Windows рассматривается через WSL, а для Linux перечислена поддержка GPU. В качестве базового Python-маршрута используется pip install cudaq. После установки навык предлагает пройти проверку Bell-state example и подтвердить ожидаемую histogram с состояниями 00 и 11, а не останавливаться на факте установки пакета. Внутри quantum kernel применяются конструкции CUDA-Q, включая @cudaq.kernel, cudaq.qvector, cudaq.sample, cudaq.run, cudaq.observe и cudaq.get_state. Kernel компилируется в Quake MLIR, поэтому внутри него действует ограниченное подмножество Python: NumPy и SciPy нельзя использовать непосредственно в kernel, их следует оставлять для классической pre- и post-processing-логики. Другие kernel можно вызывать, если вызываемый kernel также отмечен @cudaq.kernel. cudaq.sample возвращает histogram измерений, cudaq.run многократно запускает kernel и возвращает классические результаты, cudaq.observe работает с ожиданием spin operator, а cudaq.get_state доступен для statevector на симуляторе. Для симуляции навык различает несколько targets. nvidia предназначен для state-vector на одной GPU и является выбором по умолчанию при наличии подходящей NVIDIA-среды. Вариант fp64 нужен для двойной точности, mgpu распределяет память между несколькими GPU и требует MPI, а mqpu выполняет независимые запуски параллельно на виртуальных QPU. tensornet подходит для неглубоких или слабо запутанных схем, когда число qubits выходит за практические пределы state-vector; qpp-cpu служит CPU-only fallback для macOS, среды без GPU и небольших тестов. Для реального QPU нельзя подменять provider-specific account или credential догадкой: этот навык объясняет маршрут, но параметры доступа остаются зависимыми от провайдера.
Для чего подходит
- Подготовка CUDA-Q проекта
- Разработка квантовых программ
- Проверка runtime-требований Python и C++
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/NVIDIA/skills/tree/main/skills/cudaq-guide