发行说明

cuTENSOR v2.1.0

  • 新增对 Ubuntu 24.04 的支持

  • 移除对 OpenPower 的支持

  • 新增对 SM 10.0SM 10.2(即 NVIDIA Blackwell)的支持

cuTENSOR v2.0.2

  • cutensorMg

    • 允许复制张量

    • 提高性能并改进支持面

cuTENSOR v2.0.0

  • 新增对张量缩并内核的即时编译的支持

    • JIT 编译的内核可以存储/加载到磁盘/从磁盘加载

  • 新增对 3XTF32 计算类型的支持

  • 新增通过 cutensorPermute 填充输出张量的支持

  • 新增对 64 位范围的支持

  • 计划缓存现在默认激活(即,将默认设置从选择加入切换为选择退出)

  • 新的 API 使用户能够查询实际使用的工作空间需求(从而减少整体内存占用)

  • cutensorTensorDescriptor_t 支持任意维度的张量

  • 主要 API 变更

    • 所有张量操作都使用基于计划的多阶段 API

    • cutensorOp_t 从张量描述符移动到操作

    • 对齐方式从操作移动到张量描述符

    • 所有 API 都使用堆分配的不透明数据结构

兼容性说明:

  • 提高 cuBLASLt 版本要求:11.3.1(来自 CUDA 工具包 11.2)

  • 移除对 CUDA 工具包 10.2 的支持

  • 移除对 RHEL 7 的支持

cuTENSOR v1.7.0

  • 已弃用 cutensorInit;请改用 cutensorCreate 和 cutensorDestroy

cuTENSOR v1.6.2

  • 扩展了对数据类型转换的支持(例如 fp16 <-> fp32,请参阅 cutensorPermutation)。

  • 修复了与 CUDA_MODULE_LOADING=LAZY 相关的问题

兼容性说明:

  • 已弃用 CUDA 工具包 10.2 支持;将在以下版本发布后移除。

cuTENSOR v1.6.1

cuTENSOR v1.6.0

  • 显著提高了 cutensorPermutation() 在 alpha == 1(即,无缩放)时的性能。

cuTENSOR v1.5.0

  • 进一步改进了对高维张量缩并(超过 28 种模式)的支持。

  • 通过 NVIDIA 的 compute-sanitizer 分析 cuTENSOR 不再产生误报的 CUDA API 错误。

  • 当任何不透明数据结构(例如,cutensorTensorDescriptor_t)未初始化时,现在返回 CUTENSOR_STATUS_NOT_INITIALIZED

  • 新增对张量缩并的支持,其中模式仅出现在其中一个输入张量中(例如,C[m,n] = A[m,k,c]*B[n,k],在这种情况下,模式 'c' 和 'k' 都将被缩并)

  • 在 cuTENSORMg 中为 aarch64、ppc64le 和 x86_64 添加了对与主机张量进行收缩的支持

兼容性说明:

  • 已弃用 cutensorContractionGetWorkspace;请改用 cutensorContractionGetWorkspaceSize

  • 已弃用 cutensorReductionGetWorkspace;请改用 cutensorReductionGetWorkspaceSize

已解决问题:

  • 修复了与张量归约到标量相关的一个错误。

  • 显著提高了使用 tf32 计算时,复数 fp32 输入的张量缩并性能。

已知问题:

  • 在多 GPU 运行期间,如果 GPU 未通过 NVLink 连接,则 cuTENSORMg 收缩执行可能会因某些块大小而失败。

cuTENSOR v1.4.0

  • 预览:新增对分布式多 GPU 张量操作的支持

  • 支持高达 64 维的张量

  • 添加了更准确但也更耗时的启发式方法(可通过 CUTENSOR_ALGO_DEFAULT_PATIENT 访问)

cuTENSOR v1.3.3

  • 修复了某些步幅张量缩并的错误(即,所有模式在内存中都不连续的那些)。

  • 已弃用 Ubuntu 16.04

cuTENSOR v1.3.2

  • 改进了张量缩并性能模型(即,算法 CUTENSOR_ALGO_DEFAULT)

  • 改进了对具有极小收缩维度 (<= 8) 的张量缩并的性能

  • 改进了对外积式张量缩并(例如,C[a,b,c,d] = A[b,d] * B[a,c])的性能

cuTENSOR v1.3.1

  • 改进了张量缩并性能模型(即,算法 CUTENSOR_ALGO_DEFAULT)

  • 改进了对具有总体较大收缩维度(即,添加了并行归约)的张量缩并的性能

兼容性说明:

  • 为 CUDA 10.2/11.0/11.x (x>0) for x86_64 和 OpenPower 提供的二进制文件

  • 为 CUDA 11.0/11.x (x>0) for ARM64 提供的二进制文件

cuTENSOR v1.3.0

  • 支持高达 40 维的张量

  • 支持 64 位步幅

  • 整个库的性能提升高达 2 倍

  • 支持 BF16 逐元素操作

兼容性说明:

  • 由于添加了 int64 步幅支持,因此与以前的版本不二进制兼容。

  • 为 CUDA 10.2/11.0/11.x (x>0) for x86_64 和 OpenPower 提供的二进制文件

  • 为 CUDA 11.0/11.x (x>0) for ARM64 提供的二进制文件

已解决问题:

  • 修复了混合实数-复数收缩和步幅数据的错误

cuTENSOR v1.2.2

  • 改进了逐元素操作的性能

兼容性说明:

  • 为 CUDA 10.1/10.2/11.x for x86_64 和 OpenPower 提供的二进制文件

  • 为 CUDA 11.x for ARM64 提供的二进制文件

cuTENSOR v1.2.1

兼容性说明:

  • 静态链接时,需要足够新的(GCC 5 或更高版本)libstdc++

  • 为 CUDA 10.1/10.2/11.0/11.1 for x86_64 和 OpenPower 提供的二进制文件

  • 为 CUDA 11.0/11.1 for ARM64 提供的二进制文件

cuTENSOR v1.2.0

  • 支持缓存计划和自动调优

  • 支持 BF16 用于逐元素和归约

兼容性说明:

  • 为 CUDA 10.1/10.2/11.0 for x86_64 和 OpenPower 提供的二进制文件

  • 为 CUDA 11.0 for ARM64 提供的二进制文件

cuTENSOR v1.1.0

  • 支持 CUDA 11.0

  • 新增对 Windows 10 x86_64Linux ARM64 平台的支持

  • 新增对 SM 8.0 的支持

  • 支持第三代 Tensor Core

  • 改进的性能

兼容性说明:

  • 为 CUDA 10.1/10.2/11.0 for x86_64 和 OpenPower 提供的二进制文件

  • 为 CUDA 11.0 for ARM64 提供的二进制文件

cuTENSOR v1.0.1

  • 新增对 SM 6.0 的支持

cuTENSOR v1.0.0

  • 初始版本

  • 支持 SM 7.0

  • 支持混合精度操作

  • 支持设备端 alpha 和 beta

  • 支持 C != D

兼容性说明:

  • cuTENSOR 需要 CUDA 10.1/10.2,适用于 x86_64 和 OpenPower