发行说明

cuStateVec v1.7.0

cuStateVec v1.6.0

兼容性说明:

  • cuQuantum 将在以下 cuQuantum 版本中停止支持 RHEL 7。请提前计划并牢记这一点。谢谢。

cuStateVec v1.5.0

cuStateVec v1.4.1

  • 解决问题

    • 修复了当将 6 量子比特门矩阵应用于双精度复数数据类型的状态向量时,custatevecApplyMatrix() 不是异步执行的问题。

    • 修复了 custatevecMeasureBatched() 在 NVIDIA H100 上可能因“非法指令”错误而失败的问题。

cuStateVec v1.4.0

兼容性说明:

  • cuStateVec 支持 Ubuntu 20.04+。

cuStateVec v1.3.0

  • 添加新的 API

  • 提高性能/功能

    • 改进了 Hopper 架构上 custatevecApplyMatrix() 中 5 量子比特门应用(单精度)和 6 量子比特门应用(双精度)的性能。

    • 支持 CUDA 延迟加载。通过将所需 GPU 内核的加载推迟到第一个调用站点,这可以显著减少内存占用。此功能需要 CUDA 11.8(或更高版本)。有关其他要求和详细信息,请参阅 CUDA 文档。目前,此功能需要用户通过设置环境变量 CUDA_MODULE_LOADING=LAZY 来选择启用。在未来的 CUDA 版本中,延迟加载可能会成为默认设置。

  • 解决问题

  • 其他更改

    • 引入对 CUDA 12 的支持。

    • 在 PyPI.org 上为 CUDA 12 用户发布了一组带有后缀 -cu12 的新 wheels。

      • 示例:pip install custatevec-cu12 用于安装与 CUDA 12 兼容的 cuStateVec

      • 现有的 cuquantum wheel(不带 -cuXX 后缀)已转换为自动安装程序,该程序将尝试检测当前的 CUDA 环境并安装相应的 wheels。请注意,此自动检测可能会遇到检测不成功的情况,尤其是在仅 CPU 环境(如 CI/CD)中。如果检测失败,我们假设目标环境为 CUDA 11 并继续。此假设可能会在未来的版本中更改,在这种情况下,我们建议用户显式(手动)安装正确的 wheels。

兼容性说明:

  • cuStateVec 需要 CUDA 11.x 或 12.x。

  • cuStateVec 支持 Ubuntu 18.04+

    • 在下一个版本中,将删除 Ubuntu 18.04。最低支持的 Ubuntu 版本将为 20.04。

cuStateVec v1.2.0

  • 我们在 NVIDIA/cuQuantum GitHub Discussions 上!对于有关 cuQuantum 的任何问题(或基于 cuQuantum 构建的令人兴奋的工作),请随时通过 GitHub Discussions 与我们联系。

  • 此版本引入了对 Hopper GPU 系列的支持。

  • 提高性能/功能

  • 解决问题

  • 其他更改

    • conda 软件包已在 conda-forge 上发布:conda install -c conda-forge custatevec。用户仍然可以使用 conda install -c conda-forge cuquantum 获取 cuStateVeccuTensorNet,与之前一样。

    • pip wheel 已在 PyPI 上发布:pip install custatevec-cu11。用户仍然可以使用 pip install cuquantum 获取 cuStateVeccuTensorNet,与之前一样。

      • 目前,cuquantum 元 wheel 指向 cuquantum-cu11 元 wheel(然后指向 custatevec-cu11cutensornet-cu11 wheels)。当新的 CUDA 版本可用时,这可能会在未来的版本中更改。鼓励使用带有 -cuXX 后缀的 wheels。

cuStateVec v1.1.0

兼容性说明:

  • cuStateVec 需要 CUDA 11.x

限制说明:

cuStateVec v1.0.0

API breaking changes:

兼容性说明:

  • cuStateVec 需要 CUDA 11.x

限制说明:

  • 如果将错误的设备指针传递给函数,则可能会返回 CUSTATEVEC_STATUS_INTERNAL_ERROR。如果函数返回 CUSTATEVEC_STATUS_INTERNAL_ERROR,请检查是否传递了正确的指针并且正确指定了大小。

cuStateVec v0.1.1

  • 支持 NVIDIA cuQuantum Appliance(请参阅此处

    • 批量测量和采样器 API 的扩展,以接受跨多个 GPU 的状态向量分区

    • 针对多个 GPU 优化的状态向量元素交换算法

    • 注意:多 GPU 功能和优化目前仅在 cuQuantum Appliance 中可用

cuStateVec v0.1.0

  • 添加对 Linux ppc64le 的支持

  • 添加新的 API

    • 广义置换矩阵的门应用

    • 泡利字符串的期望值

    • 用于获取/设置状态向量元素的访问器

兼容性说明:

  • cuStateVec 需要 CUDA 11.4 或更高版本

  • cuStateVec 需要 NVIDIA HPC SDK 21.11 或更高版本

限制说明:

  • 如果将错误的设备指针传递给函数,则可能会返回 CUSTATEVEC_STATUS_INTERNAL_ERROR。如果函数返回 CUSTATEVEC_STATUS_INTERNAL_ERROR,请检查是否传递了正确的指针并且正确指定了大小。

cuStateVec v0.0.1

  • 初始版本发布

  • 支持 Linux x86_64, Linux Arm64

  • 支持 Volta 和 Ampere 架构(计算能力 7.0+)

兼容性说明:

  • cuStateVec 需要 CUDA 11.4 或更高版本

  • cuStateVec 需要 NVIDIA HPC SDK 21.7 或更高版本

限制说明:

  • 此版本针对 NVIDIA A100 和 V100 GPU 进行了优化。

  • 如果将错误的设备指针传递给函数,则可能会返回 CUSTATEVEC_STATUS_INTERNAL_ERROR。如果函数返回 CUSTATEVEC_STATUS_INTERNAL_ERROR,请检查是否传递了正确的指针并且正确指定了大小。

  • 性能优化计划在未来的版本中进行。