NVIDIA 的 CUTLASS 3.x 通过模块化抽象增强 GEMM 内核设计

realtime news   Jul 17, 2025 23:20  UTC 15:20

1 Min Read

NVIDIA 的最新线性代数子程序和解算器 CUDA 模板版本,即 CUTLASS 3.x,推出了一种模块化和分层的通用矩阵乘法(GEMM)内核设计方法。根据 NVIDIA 开发者博客的公告,此次更新旨在最大限度地提高在各种 NVIDIA 架构上实现 GEMM 的灵活性和性能。

创新的分层系统

CUTLASS 3.x 的重新设计侧重于可组合和正交构建块的分层系统。这种结构允许通过模板参数进行广泛的自定义,使开发人员可以依靠高层抽象来提升性能,或深入到较低层次进行更高级的修改。这种灵活性对于适应各种硬件规格和用户需求至关重要。

架构支持与代码可读性

随着 CUTLASS 3.x 的推出,NVIDIA 将支持扩展到其最新的架构,包括 Hopper 和 Blackwell,从而增强了该库在现代 GPU 设计中的适用性。重新设计还显著提高了代码的可读性,使开发人员更容易实现和优化 GEMM 内核。

概念上的 GEMM 层次结构

CUTLASS 3.x 中的概念性 GEMM 层次结构独立于特定硬件特性,分为五层:原子层、平铺 MMA/复制层、集体层、内核层和设备层。每一层都作为前一层抽象的组成点,允许高度自定义和性能优化。

集体层增强

集体层涵盖了主循环和尾声组件,协调空间微内核的执行和后处理操作。该层利用硬件加速的同步原语来管理流水线和异步操作,这是优化现代 GPU 性能的关键。

内核和设备层创新

CUTLASS 3.x 中的内核层将集体组件组装成一个设备内核,便于在线程块或簇的网格上执行。与此同时,设备层提供了内核启动的主机端逻辑,支持簇支持和 CUDA 流管理等功能。

结论

通过 CUTLASS 3.x,NVIDIA 为 GEMM 内核设计提供了一个全面且可适应的框架,满足使用高级 GPU 架构的开发人员的需求。此版本强调了 NVIDIA 提供优化计算工作负载的强大工具的承诺,提升性能和开发者体验。

有关更多详细信息,请参阅官方公告 NVIDIA 开发者博客



Read More