发行说明¶
cuTENSOR v2.1.0¶
新增对 Ubuntu 24.04 的支持
移除对 OpenPower 的支持
新增对
SM 10.0
和SM 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¶
新增对
SM 9.0
的支持
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_64
和Linux 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