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

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

3天内不再提示

进迭时空同构融合RISC-V AI CPU的Triton算子编译器实践

进迭时空 ? 2025-07-15 09:04 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Triton是由OpenAI开发的一个开源编程语言和编译器,旨在简化高性能GPU内核的编写。它提供了类似Python的语法,并通过高级抽象降低了 GPU 编程的复杂性,同时保持了高性能。目前Pytorch已能做到100%替换CUDA,国内也有智源研究院主导的FlagGems通用算子库试图构建起不依赖CUDA的AI计算生态,截至今日,FlagGems已进入Pytorch基金会生态项目体系。Triton生态内少有CPU架构的实践,且多面向Host-Device的异构方案,进迭时空通过同构融合RISC-V AI CPU技术,结合Triton轻量化的交互式编程模式,将构建起比肩Triton GPGPU的AI高性能编程方案,从而推动AI应用的快速规模化落地。

为什么是Triton

AI高性能编程模型趋于统一,多核并行的调度+Tile base的kernel基本成为固定范式。

CUDA的话语权过高,为走出新AI架构的路,需要有独立的前端编程语言支撑,而Triton DSL的社区活跃度足够高,也有相当数量的大模型、CNN模型项目采用了Triton作为算子编程语言。

Pytorch的成功表明,Python First让更多开发者参与生态共建,降低介入门槛,也有利于新AI架构输出自己的性能优化方案。

同构融合AI

常见的Host-Device的异构Triton方案,使得Triton算子编程的调试困难,内存模型复杂,不利于开发者灵活的实现自己的想法,而搭建于传统CPU之上的Triton-CPU方案,也缺乏在AI高性能计算上的硬件支持,例如核内TensorCore、多核通信与访存优化、多卡互联等。

进迭时空践行的同构融合技术,创新性地在CPU内集成TensorCore,以RISC-V指令集为统一的软硬件接口,驱动Scalar标量算力、Vector向量算力和 Matrix AI算力,支持软件和AI模型同时在RISC-V AI核上运行,并通过程序正常跳转实现软件和AI模型之间的事件和数据交互,进而完成整个AI应用执行。

基于同构融合RISC-V AI CPU架构的Triton方案,在编程调试视角看仍然类似于传统CPU,并且消除了Host-Device的概念,采用统一内存,调用侧与执行侧是Linux软件多线程的概念,这将极大的降低高性能算子的编程与调试难度。同时,在确保编程易用性的前提下,进迭时空通过集成TensorCore、紧密耦合内存、Core-to-Core coherence、Cluster-to-Cluster coherence、多核调度优化、AI编译器优化等软硬件创新,处理绝大部分性能优化点,最终交给用户一个上手即用的算子开发工具链。

9a8fc690-6117-11f0-9cf1-92fbcf53809c.png

RISC-V AI CPU Triton软件栈

前端层面,支持Pytorch Triton Kernel以及第三方Triton Kernel,例如FlagGems,支持Triton DSL的全部语义。

中端层面,通过TTIR、TTSIR(Triton Shared)至标准Linag IR,不做任何Dialect扩展。

后端层面,先验调优的矩阵乘kernel与vector.contract并存,保证矩阵计算高效的同时,释放更多vector codegen的可能性。

9aa24c98-6117-11f0-9cf1-92fbcf53809c.png

SpineTriton(即进迭时空Triton解决方案)作为Triton的第三方后端,对Pytorch提供RISCV AI-CPU底层加速,兼容社区已有的Triton Kernel,充分融入现有基于Triton构建的AI加速生态。同时,针对AI-CPU核内扩展指令、Core-to-Core高速缓存、异步访存等特性,对tl.make_block_ptr进行了专门特化,开发者在使用Triton DSL中的块级访存与计算时,获得更大的优化收益。

RISC-V AI CPU Triton实践

前端

以一个矩阵乘的Triton Kernel为例,使用tl.make_block_ptr进行访存与计算。

pid_m = tl.program_id(0)pid_n = tl.program_id(1)# load matmul a and ba_block_ptr = tl.make_block_ptr( base=a_ptr, shape=[M, K], strides=[stride_am, stride_ak], offsets=[pid_m * BLOCK_SIZE_M, 0], block_shape=[BLOCK_SIZE_M, BLOCK_SIZE_K], order=[1, 0])b_block_ptr = ...accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N), dtype=tl.float32)for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)): a = tl.load(a_block_ptr, boundary_check=(0, 1)) b = tl.load(b_block_ptr, boundary_check=(0, 1)) accumulator += tl.dot(a, b, allow_tf32=False) a_block_ptr = tl.advance(a_block_ptr, (0, BLOCK_SIZE_K)) b_block_ptr = tl.advance(b_block_ptr, (BLOCK_SIZE_K, 0))c = accumulator.to(dot_out_dtype)# maybe some epilogue for cc_block_ptr = tl.make_block_ptr( base=c_ptr, shape=[M, N], strides=[stride_cm, stride_cn], offsets=[pid_m * BLOCK_SIZE_M, pid_n * BLOCK_SIZE_N], block_shape=[BLOCK_SIZE_M, BLOCK_SIZE_N], order=[1, 0],)tl.store(c_block_ptr, c, boundary_check=(0, 1))

上文Triton Kernel描述的矩阵乘计算对应于下图计算过程,当以一个Cluster进行捆绑调度时,SPMD中的Single Program指向一个Cluster上的执行程序,通过Program ID区分输入与输出数据位置。以开发者的视角看,Cluster上的编程是线性的,且不需要关心异步数据的访问逻辑,后端编译器将分析用户代码逻辑的潜在并行性,在Cluster内完成并行化,以及使用高速缓存合并Cluster内多核的访存。

9aad599e-6117-11f0-9cf1-92fbcf53809c.png

中后端

在矩阵乘内部计算过程的转换时,将完整的tl.dot即linalg.matmul进行分块分析,充分使用寄存器资源与近核缓存,在中端转为linalg.mmt4d、linalg.pack、linalg.unpack及结构化循环体的表示。linalg.mmt4d与手写kernel直接映射并利用到Tensor算力,而其他的算子,则采用affine进行向量化使用Vector算力。

由于采用了IME的方式扩展AI指令(参考进迭时空AI扩展指令Spec,https://github.com/spacemit-com/riscv-ime-extension-spec),在linalg.mmt4d这样的ukernel的转换过程时,可以直接使用vector进行交互,避免在延迟更高的存储结构上进行交互,这是IME的一大优点。

// load b// %acc: vector<16x32xf32>%0 = vector.load [...] : memref, vector<4x32xf32>// load a%1 = vector.load [...] : memref, vector<2x32xf32>// vfmadot -> 2x8x4 @ 4x8x4 => 2x4x8x8%2 = vector.contract {...} %1, %0, %acc : vector<2x32xf32>, vector<4x32xf32> into vector<16x32xf32>

在mlir-llvm的结合部分,通过vector.contract构造了大量先验的手写汇编序列,以确保最终性能的可靠性。

结束语

Triton目前仍然是一个GPGPU架构主导的Python DSL及算子编译器,在CPU架构上发展缓慢,仅存在一些在x86架构下的TritonCPU编程的社区工作,且不是最优适配。RISC-V同构融合AI算力的方式,利于打破算子内多种计算模式(Scalar、Vector、Tensor)的隔阂,同时统一内存、统一OS的软硬件架构,使得调试难度降低,系统内多种软硬件资源的交互难度降低。此外,未来也将逐步开源SpineTriton的软件栈部分,共同建设RISCV Triton高性能编程社区。

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

    关注

    28

    文章

    4956

    浏览量

    131440
  • 编译器
    +关注

    关注

    1

    文章

    1663

    浏览量

    50285
  • RISC-V
    +关注

    关注

    46

    文章

    2597

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2025RISC-V中国峰会|时空RISC-V AI CPU驱动智能化应用发展

    2025RISC-V中国峰会在上海张江科学会堂隆重召开。作为全球三大RISC-V峰会之一和中国规模最大的RISC-V年度盛会,本次峰会由来自政府、学术和产业界数千名代表和与会嘉宾围绕“开放、协同
    的头像 发表于 07-18 22:03 ?242次阅读
    2025<b class='flag-5'>RISC-V</b>中国峰会|<b class='flag-5'>进</b><b class='flag-5'>迭</b><b class='flag-5'>时空</b><b class='flag-5'>RISC-V</b> <b class='flag-5'>AI</b> <b class='flag-5'>CPU</b>驱动智能化应用发展

    RISC-V架构下AI融合算力及其软件栈实践

    面对未来大模型(LLM)、AIGC等智能化浪潮的挑战,时空RISC-V方向全面布局,通过精心设计的RISC-VDSA架构以及软硬一体的
    的头像 发表于 06-06 17:04 ?509次阅读
    <b class='flag-5'>RISC-V</b>架构下<b class='flag-5'>AI</b><b class='flag-5'>融合</b>算力及其软件栈<b class='flag-5'>实践</b>

    RISC-V架构下的编译器自动向量化

    时空专注于研发基于RISC-V的高性能新AICPU,对于充分发挥CPU核的性能而言,编译器
    的头像 发表于 06-06 16:59 ?440次阅读
    <b class='flag-5'>RISC-V</b>架构下的<b class='flag-5'>编译器</b>自动向量化

    时空同构融合技术加速大模型AI应用创新

    复杂的异构调度系统来协调CPU和XPU的额外数据交互和同步。时空践行的同构融合技术,创新性地
    的头像 发表于 06-06 16:55 ?473次阅读
    <b class='flag-5'>进</b><b class='flag-5'>迭</b><b class='flag-5'>时空</b><b class='flag-5'>同构</b><b class='flag-5'>融合</b>技术加速大模型<b class='flag-5'>AI</b>应用创新

    高校赛事 | 时空携手蓝桥杯,诚邀全国高校学子共启RISC-V人工智能应用创新赛道

    以下文章来源于RISC-V先锋,作者时空2025年5月12日,第十六届蓝桥杯数字科技创新(RISC-V应用创新)命题赛正式启动。本次大赛
    的头像 发表于 06-06 16:55 ?986次阅读
    高校赛事 | <b class='flag-5'>进</b><b class='flag-5'>迭</b><b class='flag-5'>时空</b>携手蓝桥杯,诚邀全国高校学子共启<b class='flag-5'>RISC-V</b>人工智能应用创新赛道

    大象机器人携手时空推出 RISC-V 全栈开源六轴机械臂产品

    识别联调。 时空致力于为智能机器人提供完整全栈优化的RISC-V AI软硬件解决方案,第一代RIS
    发表于 04-25 17:59

    大象机器人×时空联合发布全球首款RISC-V全栈开源小六轴机械臂

    ? ? 在全球AI与机器人技术高速发展的浪潮中,中国公司始终坚定走在自研创新的道路上。 ? ? 4月25日,大象机器人与 国内RISC-V AI CPU芯片领军企业【
    的头像 发表于 04-25 14:19 ?818次阅读
    大象机器人×<b class='flag-5'>进</b><b class='flag-5'>迭</b><b class='flag-5'>时空</b>联合发布全球首款<b class='flag-5'>RISC-V</b>全栈开源小六轴机械臂

    香蕉派 BPI-CM6 工业级核心板采用时空K1 8核 RISC-V 芯片开发

    。 SpacemiT K1主要用于单板计算机、网络存储、云计算机、智能机器人、工业控制、边缘计算机等。 主要特点 时空8核RISC-V芯片,CP
    发表于 03-25 14:40

    RISC-V+OpenHarmony5.0:时空与中科院共筑数字世界新基石

    解决方案的推出,标志着RISC-V架构与OpenHarmony操作系统的深度融合,为数字世界的未来发展奠定了坚实的基础。RISC-V以其灵活、开源的特性,为芯片设计提供了全新的思路;而OpenHarmony5.0则以其开放、可裁
    的头像 发表于 02-19 11:30 ?777次阅读

    时空完成A+轮数亿元融资 加速RISC-V AI CPU产品迭代

    及生态建设。在成立至今三年的快速发展中,时空布局了RISC-V高性能CPU核、AI-CPU
    的头像 发表于 02-18 14:22 ?493次阅读
    <b class='flag-5'>进</b><b class='flag-5'>迭</b><b class='flag-5'>时空</b>完成A+轮数亿元融资 加速<b class='flag-5'>RISC-V</b> <b class='flag-5'>AI</b> <b class='flag-5'>CPU</b>产品迭代

    时空亮相RISC-V产业发展大会:新AI CPU引领大模型时代

    12月28日,以“发挥标准优势,繁荣产业发展”为主题的RISC-V产业发展大会在北京亦庄经开区通明湖会展中心举行。作为基于新一代RISC-V架构的计算生态企业,
    的头像 发表于 12-31 17:32 ?844次阅读
    <b class='flag-5'>进</b><b class='flag-5'>迭</b><b class='flag-5'>时空</b>亮相<b class='flag-5'>RISC-V</b>产业发展大会:新<b class='flag-5'>AI</b> <b class='flag-5'>CPU</b>引领大模型时代

    业内首颗8核RISC-V终端AI CPU量产芯片K1,时空与中国移动用芯共创AI+时代

    10月11日-13日,以“智焕新生共创AI+时代”为主题的2024中国移动全球合作伙伴大会在广州盛大举行。作为中国移动合作伙伴,时空RISC-
    的头像 发表于 10-16 08:09 ?1842次阅读
    业内首颗8核<b class='flag-5'>RISC-V</b>终端<b class='flag-5'>AI</b> <b class='flag-5'>CPU</b>量产芯片K1,<b class='flag-5'>进</b><b class='flag-5'>迭</b><b class='flag-5'>时空</b>与中国移动用芯共创<b class='flag-5'>AI</b>+时代

    Banana Pi BPI-F3 时空RISC-V架构下,AI融合算力及其软件栈实践

    面对未来大模型(LLM)、AIGC等智能化浪潮的挑战,时空RISC-V方向全面布局,通过精心设计的RISC-V DSA架构以及软硬一体
    的头像 发表于 09-07 14:01 ?2000次阅读
    Banana Pi BPI-F3 <b class='flag-5'>进</b><b class='flag-5'>迭</b><b class='flag-5'>时空</b><b class='flag-5'>RISC-V</b>架构下,<b class='flag-5'>AI</b><b class='flag-5'>融合</b>算力及其软件栈<b class='flag-5'>实践</b>

    RISC-V架构下DSA-AI算力的更多可能性:Banana Pi BPI-F3时空

    Banana Pi BPI-F3 时空 K1开发板AI人工智能应用:四路视频同时推理演示:香蕉派BPI-F3是一款工业级 8核RISC-V
    的头像 发表于 09-07 10:30 ?3354次阅读
    <b class='flag-5'>RISC-V</b>架构下DSA-<b class='flag-5'>AI</b>算力的更多可能性:Banana Pi BPI-F3<b class='flag-5'>进</b><b class='flag-5'>迭</b><b class='flag-5'>时空</b>

    时空引领AI CPU创新,Key Stone K1芯片订单破万

    在近日召开的第四届滴水湖中国RISC-V产业论坛上,时空公司以其卓越的研发实力和前瞻性的产品布局吸引了广泛关注。作为高性能AI
    的头像 发表于 08-22 14:55 ?1589次阅读