0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用CUTLASS实现高性能矩阵乘法

星星科技指导员 来源:NVIDIA 作者:Matthew Nicely 2022-04-15 10:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

CUTLASS 是 CUDA C ++模板抽象的集合,用于在 CUDA 的所有级别和规模上实现高性能矩阵乘法( GEMM )。它结合了分层分解和数据移动的策略,类似于用于实现cuBLAS的策略。

CUTLASS 将这些“运动部件”分解为 C ++模板类抽象的可重用和模块化的软件组件。这些线程范围、扭曲范围、块范围和设备范围的原语可以通过自定义平铺大小、数据类型和其他算法策略进行专门化和调优。由此产生的灵活性简化了它们在定制内核和应用程序中作为构建块的使用。

为了支持多种应用程序, CUTLASS 为混合精度计算提供了广泛的支持,提供了专门的数据移动,并为以下各项提供了多重累积抽象:

半精度浮点(FP16)、 BFloat16 (BF16)和张量浮点 32 (TF32)数据类型。

单精度浮点(FP32)数据类型。

双精度浮点(FP64)数据类型。

整数数据类型(4b和8b)。

二进制数据类型(1b)。

此外, CUTLASS 演示了针对 NVIDIA Volta 、 Turing 和 Ampere 体系结构上实现的可编程高通Tensor 核的扭曲同步矩阵乘法操作。

CUTLASS 实现了高性能卷积(隐式 GEMM )。隐式 GEMM 是作为 GEMM 的卷积运算的公式。这允许 Cutslass 通过重用高度优化的 warp-wide GEMM 组件和以下组件来构建卷积。

关于作者

Matthew Nicely 于 2019 年 3 月加入 NVIDIA ,之前曾在美国 AL-Huntsville 的美国陆军航空和导弹研究开发与工程中心工作。在那里,他专注于 CUDA 算法开发和 Jetson 系列的优化。在 NVIDIA ,他曾在联邦部门工作,协助 CUDA 的开发和优化,以及在各种 NVIDIA 工具集上为客户提供教育和概念验证,最近转为 math libraries 产品经理。 2019 年,他获得了博士学位。计算机工程学位,专注于 GPU 的算法优化。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    5496

    浏览量

    109090
  • CUDA
    +关注

    关注

    0

    文章

    125

    浏览量

    14404
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一个提升蜂鸟E203性能的方法:乘除法器优化

    性能十分低下。 对于乘法操作,为了减少乘法操作所需的周期数, MDV 对乘法采用基 (Radix-4 ) 的Booth 编码,进行一次乘法
    发表于 10-27 07:16

    Verilog实现使用Booth编码和Wallace树的定点补码乘法器原理

    对于有符号整数乘法操作,E203使用常用的Booth编码产生部分积,然后使用迭代的方法,每个周期使用加法器对部分积进行累加,经过多个周期的迭代之后得到最终的乘积。其基本硬件原理图如图所示,从而实现
    发表于 10-23 08:01

    关于E203内核高性能乘法器优化(二)

    不同加法树与乘法器结合 1.传统Booth算法+Wallace树加法器 以下数据在32位宽乘法实现时结果供参考: 相同条件下,阵列乘法器面积最小,Wallace树
    发表于 10-23 07:33

    关于E203内核高性能乘法器优化(四)

    乘法器部分积压缩架构 前文提到了3:2压缩器,4:2压缩器的实现方法,本文结合本队的设计提出了5:2压缩器的设计,并且给出压缩器的混合使用方法。 1. 5:2压缩器设计 对于一般的5:2压缩器
    发表于 10-23 06:30

    关于E203内核高性能乘法器优化(一)

    一、简介 对于cpu各类测试程序,设计一个高性能的硬件乘法器模块无疑是提分最快的法案,本文将从乘法算法开始,到rtl设计进行详细的解释说明,并附带一部分源码。 二、乘法算法
    发表于 10-23 06:09

    蜂鸟乘法器设计分享

    ,蜂鸟E203中乘法实现使用基4(Radix-4)的Booth编码,共产生16个部分积,最终采用循环移位方式计算最终结果,以牺牲性能的方式换取了面积损耗。
    发表于 10-22 08:21

    e203乘法运算结构及算法原理

    e203乘法部件结构 E203的乘法操作由一个17周期的乘法实现。为了提升性能,该乘法器采用
    发表于 10-22 06:43

    e203 ALU乘法运算结构及算法原理

    e203乘法部件结构 E203的乘法操作由一个17周期的乘法实现。为了提升性能,该乘法器采用
    发表于 10-22 06:12

    优化boot4的乘法运算周期

    可以在不同的时钟周期内完成,从而并行化运算流程,提高乘法器的运算性能。 采用多级压缩:在Boot4乘法器中,使用了基于连乘算法的多级压缩技术。可以通过增加多级压缩,进一步降低管理乘法
    发表于 10-21 13:17

    优化boot4乘法器方法

    的数据需要增加管理开销,降低乘法器的性能。使用固定位宽的乘法器可以避免管理开销,提升乘法器的性能。 使用片上存储器:在Boot4
    发表于 10-21 12:13

    【「AI芯片:科技探索与AGI愿景」阅读体验】+第二章 实现深度学习AI芯片的创新方法与架构

    的同时,能够利用更小、更快的数字格式,提升模型的整体性能。 1.3Transformer 模型中的矩阵乘法计算 2、存内计算AI芯片 存内计算已经成为应对大模型不断增加的计算量和能耗需求、减少大模型
    发表于 09-12 17:30

    车载电器EMC整改:如何低成本实现高性能抗干扰

    南柯电子|车载电器EMC整改:如何低成本实现高性能抗干扰
    的头像 发表于 09-09 09:57 511次阅读

    Arm KleidiAI与XNNPack集成实现AI性能提升

    INT4 矩阵乘法 (matmul) 优化以增强 Google Gemma 2 模型性能开始,到后续完成多项底层技术增强,Arm 在 XNNPack 上实现了显著的
    的头像 发表于 08-08 15:19 2545次阅读
    Arm KleidiAI与XNNPack集成<b class='flag-5'>实现</b>AI<b class='flag-5'>性能</b>提升

    ADA-28F00WG乘法器Marki

    ADA-28F00WG是一种高性能的模拟乘法器,能够将两个输入信号(电压或电流)进行乘法运算,并输出其结果。ADA-28F00WG乘法器采用高质量材料制造,并结合了最新的肖特基二极管和
    发表于 02-12 09:25

    鸿蒙原生页面高性能解决方案上线OpenHarmony社区 助力打造高性能原生应用

    随着HarmonyOS NEXT的正式推出,鸿蒙原生应用开发热度高涨,数量激增。但在三方应用鸿蒙化进程中,性能问题频出。为此,HarmonyOS NEXT推出了一整套原生页面高性能解决方案,包括
    发表于 01-02 18:00