跳转到主要内容

NVIDIA cuQuantum Python

项目描述

cuQuantum Python

文档

请访问NVIDIA cuQuantum Python文档

有关安装cuQuantum Python的说明,请参阅我们的入门部分

从源代码构建和安装cuQuantum Python

需求

cuQuantum Python软件包的构建时间依赖项包括

  • CUDA Toolkit 11.x或12.x
  • cuStateVec 1.4.0+
  • cuTensorNet 2.5.0+
  • Python 3.10+
  • Cython >=0.29.22, < 3
  • pip 21.3.1+
  • packaging
  • setuptools 61.0.0+
  • wheel 0.34.0+

除了CUDA和Python外,其他构建时依赖项由新的PEP-517基于的构建系统处理(见下文第7步)。

要从源代码编译和安装cuQuantum Python,请按照以下步骤操作

  1. 克隆NVIDIA/cuQuantum仓库:git clone https://github.com/NVIDIA/cuQuantum
  2. CUDA_PATH设置为指向您的CUDA安装路径
  3. [可选] 将CUQUANTUM_ROOT设置为指向您的cuQuantum安装
  4. [可选] 将CUTENSOR_ROOT设置为指向您的cuTENSOR安装
  5. [可选] 确保cuQuantum和cuTENSOR在您的LD_LIBRARY_PATH中可见
  6. 切换到包含Python实现的目录:cd cuQuantum/python
  7. 构建和安装
    • 如果您跳过了上述第3-5步,请运行pip install .
    • 否则(高级)运行pip install -v --no-deps --no-build-isolation .

注意

  • 对于第7步,如果您是为了测试/开发目的从源代码构建,您可能需要在最后一个句点之前插入一个-e标志(因此pip ... .变为pip ... -e .
    • -e:使用“可编辑的”(原地)模式
    • -v:启用更多详细的输出
    • --no-deps:避免安装运行时依赖项
    • --no-build-isolation:重用当前的Python环境而不是为构建包创建一个新的环境(这避免了安装任何构建时依赖项)
  • 作为设置CUQUANTUM_ROOT的替代方案,可以将CUSTATEVEC_ROOTCUTENSORNET_ROOT分别设置为指向cuStateVec和cuTensorNet库。如果已定义,后两个环境变量具有优先权。
  • 请确保您为CUDA 11或12使用一致的二进制文件和包。混合使用会导致未定义的行为。

运行

需求

cuQuantum Python包的运行时依赖项包括

  • 具有7.0+计算能力的NVIDIA GPU
  • 驱动程序:Linux(CUDA 11为450.80.02+,CUDA 12为525.60.13+)
  • CUDA Toolkit 11.x或12.x
  • cuStateVec 1.4.0+
  • cuTensorNet 2.5.0+
  • Python 3.10+
  • NumPy v1.21+
  • CuPy v13.0.0+(见安装指南
  • PyTorch v1.10+(可选,见安装指南
  • Qiskit v0.24.0+(可选,见安装指南
  • Cirq v0.6.0+(可选,见安装指南
  • mpi4py v3.1.0+(可选,见安装指南

如果您从conda-forge安装所有内容,所有必需的依赖项都将为您处理(除了驱动程序)。

如果您安装了pip wheels,CuPy,cuTENSOR和cuQuantum(但不包括CUDA Toolkit或驱动程序,请确保CUDA库通过您的LD_LIBRARY_PATH可见)将为您安装。

如果您从源代码构建cuQuantum Python,请确保将CUDA、cuQuantum和cuTENSOR库的路径添加到您的LD_LIBRARY_PATH环境变量中,并确保安装了兼容的CuPy。

已知问题

  • 如果一个系统有多个cuTENSOR副本,其中一个安装在了默认系统路径中,即使cuQuantum Python链接到了另一个其他地方的副本,Python运行时也可能会选择默认路径的副本,这可能导致版本不匹配错误。正确的修复方法是删除系统路径中的cuTENSOR,以确保正确的副本可见。不要尝试使用LD_PRELOAD来覆盖它,这可能会导致难以调试的行为!
  • 在某些环境中,如果安装了PyTorch,则可能会失败(出现段错误)import cuquantum。目前正在调查中,临时解决方案是在导入cuquantum之前先导入torch
  • 请确保您为CUDA 11或12使用一致的二进制文件和包。混合使用会导致未定义的行为。

示例

samples目录中提供了演示低级和高级Python API使用的示例。低级API示例是对用C语言编写的相应示例的1:1翻译。高级API示例展示了在Python中使用cuTensorNet库的Pythonic用法。

测试

如果安装了pytest,请在Python源根目录的命令提示符中输入pytest tests,即可运行所有测试。如果未安装cffi或未设置环境变量CUDA_PATH,则某些测试可能会被跳过。

引用cuQuantum

请点击此Zenodo徽章以查看引用格式:DOI

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定要选择哪一个,请了解有关安装包的更多信息。

源代码分发

此版本没有可用的源代码分发文件。请参阅生成分发存档的教程

构建分发

支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面