CUTLASS项目推荐

CUTLASS项目推荐

cutlass CUDA Templates for Linear Algebra Subroutines cutlass 项目地址: https://gitcode.com/gh_mirrors/cu/cutlass

项目基础介绍和主要编程语言

CUTLASS(CUDA Templates for Linear Algebra Subroutines)是由NVIDIA开发的一个开源项目,主要用于实现高性能的矩阵-矩阵乘法(GEMM)及相关计算。该项目使用C++作为主要的编程语言,并充分利用CUDA(Compute Unified Device Architecture)进行并行计算,以实现高效的GPU加速。

项目核心功能

CUTLASS的核心功能包括:

  1. 高性能矩阵乘法(GEMM):CUTLASS提供了多种模板抽象,用于实现不同层次和规模的矩阵乘法操作。这些模板抽象能够分解和优化数据移动,类似于cuBLAS和cuDNN中的实现策略。

  2. 模块化设计:CUTLASS将矩阵乘法的各个部分分解为可重用的模块化组件,这些组件可以通过自定义的尺寸、数据类型和其他算法策略进行特化和调优。

  3. 支持多种数据类型:CUTLASS支持多种数据类型,包括半精度浮点(FP16)、BFloat16(BF16)、Tensor Float 32(TF32)、单精度浮点(FP32)、双精度浮点(FP64)、整数数据类型(4b和8b)以及二进制数据类型(1b)。

  4. Tensor Core支持:CUTLASS支持NVIDIA Volta、Turing、Ampere和Hopper架构中的Tensor Core,能够实现高效的warp同步矩阵乘法操作。

  5. 卷积支持:通过隐式GEMM算法,CUTLASS能够实现高性能的卷积操作,利用其模块化的GEMM管道来构建卷积。

项目最近更新的功能

CUTLASS 3.6.0版本引入了以下新功能:

  1. Hopper架构的结构化稀疏GEMM:支持FP16、FP8、INT8和TF32数据类型。

  2. 卷积内核API重构:将CUTLASS 3.x卷积内核的API与GEMM内核的API对齐,使其不再是beta API。

  3. 改进的混合输入GEMM和INT4xFP8比例模式查找表实现

  4. EVT节点支持:新增Top-K选择和softmax的EVT节点,并提供相应的GEMM示例。

  5. 程序化依赖启动(PDL):利用Hopper架构的新特性,加速两个连续内核的执行,并提供相应的文档。

  6. 新的调试工具synclog:用于将内核中的所有同步事件记录到文件中,便于调试。

  7. TMA启用的分组GEMM结尾:显著提升性能,并支持EVT。

  8. SIMT启用的指针数组结尾

  9. 新的Ping-Pong内核调度:用于分组GEMM,以及其他优化。

  10. CUTLASS分析器内核的新实例化策略:改进了实例化级别的文档。

  11. 新的硬件支持:支持cutlass::bfloat16_t的比较和计算。

  12. 修复了Windows上half_t的isnan使用问题

通过这些更新,CUTLASS继续保持在高性能线性代数计算领域的领先地位,为开发者提供了强大的工具和灵活的模板抽象。

cutlass CUDA Templates for Linear Algebra Subroutines cutlass 项目地址: https://gitcode.com/gh_mirrors/cu/cutlass

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江燕娇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值