发行说明#
本节包括重大更改、新功能、性能改进和各种问题。除非另有说明,否则列出的问题不应影响功能。当功能受到影响时,我们会提供一种解决方法来避免该问题(如果可用)。
1.3.0#
cuFFTDx 更新,包含性能改进。
新功能#
已解决问题#
cuFFTDx 内部版本定义已修复: *
CUFFTDX_VERSION_MAJOR
现在在CUFFTDX_VERSION
中定义为 10000 的倍数,即CUFFTDX_VERSION_MAJOR = CUFFTDX_VERSION / 10000
。 *CUFFTDX_VERSION_MINOR
现在最多可以有两位数字。 * 版本之间的绝对顺序仍然有效。但是,1201 到 10300 之间的CUFFTDX_VERSION
将不存在。 * 所有定义都可以在文件cufftdx_version.hpp
中查看。
1.2.1#
MathDx 24.08 版本的次要更新。
所有设备扩展库都捆绑在一个名为 nvidia-mathdx-24.08.0.tar.gz 的软件包中。
cuFFTDx 现在对 CUTLASS 库具有间接依赖性。有关更多信息,请参阅安装指南。
1.2.0#
cuFFTDx 更新,扩展了 R2C/C2R 功能。
新功能#
添加了RealFFTOptions 运算符,带有两个旋钮
complex_layout
允许更改实数到复数和复数到实数变换的复数值布局。real_mode
引入了优化模式,为实数到复数和复数到实数变换提供高达 2 倍的性能提升,并允许序列长度加倍。
将每种精度和架构的线程范围扩展了一倍(例如,SM<900> 现在可以执行高达 64 点线程 FFT,而不是 32 点)。
为接受 CUDA 流的
make_workspace
函数添加了可选的stream
参数。添加了新的输入/输出特性(例如,输入长度特性)
在新线程中,
input_type
和output_type
特性已从以前的用途中重新调整用途。有关更多详细信息,请参阅特性。
示例更新
更新了所有输入/输出,以遵循新的简化特性idiom。
更新了实数到复数和复数到实数示例,以使用新的RealFFTOptions 运算符。
引入了
convolution_padded
和mixed_precision
示例。
文档改进
添加了有关共享内存的内存对齐要求的缺失信息。
更新了文档以遵循新的基于特性的输入/输出 idiom。
添加了本版本中引入的功能描述:RealFFTOptions 运算符,新的
make_workspace
重载,新的支持的大小范围。将填充卷积性能与 cuFFT 和非填充 cuFFTDx 的比较添加到示例章节。
已解决问题#
当输入数据位于线程局部数组中时,为复数到实数块 FFT 添加了缺失的 acquire 同步。
1.1.1#
cuFFTDx 补丁更新,以适应 cuBLASDx EA 0.1.0 版本。
新功能#
添加了 2D 和 3D FFT 示例。
cuFFTDx 现在依赖于 commonDx 头文件。commonDx 包括所有 Dx 库使用的私有工具和类型。
已解决问题#
默认情况下,禁用
execute()
方法中的运行时 CUDA 块维度断言(使用assert()
)。在以前的版本中,仅当定义了NDEBUG
(由 CMake 在Release
模式下定义)或CUFFTDX_DISABLE_RUNTIME_ASSERTS
,或者通过 NVRTC 完成编译时,它们才会被禁用。保留断言可能会导致性能损失。现在,用户必须定义CUFFTDX_ENABLE_RUNTIME_ASSERTS
才能启用它们。
1.1.0#
首个 cuFFTDx 库版本,支持 Hopper 和 Ada 架构。
新功能#
Orin 架构 (SM87) 的初始支持。
Ada 架构 (SM89) 的初始支持。
Hopper 架构 (SM90) 的初始支持。
MSVC 的初步支持。
文档改进
示例章节,
快速安装指南章节,
关于 cuFFTDx 中共享内存使用的信息,以及
更新的介绍章节:使用 cuFFTDx 的第一个 FFT 和 您的下一个自定义 FFT 内核。
已知问题#
使用 MSVC 作为 CUDA 主机编译器进行编译需要启用
__cplusplus
(/Zc:__cplusplus)。为了做到这一点,请将-Xcompiler "/Zc:__cplusplus"
作为选项传递给 NVCC (NVCC:用于传递特定阶段选项的选项)。当使用 MSVC 作为 CUDA 主机编译器进行编译时,请注意 mangled 名称长度的限制和其他 编译器限制,在极端情况下,这可能会导致调用涉及 cuFFTDx 的内核模板的不正确实例。
1.0.0#
cuFFTDx 库的第一个正式发布 (GA) 版本。
新功能#
为块 FFT 执行添加了新的共享 API,请参阅块执行方法。
添加并记录了 FFT::stride。
优化了 SM80(针对 A100)和 SM70(针对 V100)的默认 ElementsPerThread 和 FFTsPerBlock 值。
恢复了 cuFFTDx 中二的幂内核的完整性能。
已解决问题#
ptxas
警告program uses 32-bit address on line XXX which is conflicting with .address_size 64
不应再出现。
0.3.1#
cuFFTDx 库的最后一个早期访问 (EA) 版本。
已知问题#
ptxas
关于指针大小冲突的警告ptxas warning : Program uses 32-bit address on line 'XXX' which is conflicting with .address_size 64
此警告可能会在编译时出现,但它不会影响功能或性能。