当前位置: 首页 > news >正文

Triton : OpenAI 开发的用于Gpu开发语言

Triton : OpenAI 开发的用于Gpu开发语言


https://openai.com/blog/triton/

1、介绍
https://openai.com/blog/triton/

2、git地址
https://github.com/openai/triton

3、论文
http://www.eecs.harvard.edu/~htk/publication/2019-mapl-tillet-kung-cox.pdf

SIMD : Single Instruction Multiple Data,单指令多数据流,能够复制多个操作数,并把它们打包在大型寄存器的一组指令集
SP : stream processor,为一个线程thread运行的资源,有指针,和register file
SM : 包括多个SP,有取指单元。SM取一个指令,多个thread在多个SP上公用这个指令处理不同的数据

1、wrap
32个thread被封为一个wrap,跑在一个SM(8个sp)上
为什么不是8个thread?因为每个thread会有四个周期的延迟,这样32个thread形成4级流水线。
同一个wrap内的多个线程的执行速度不同,因此会存在一个barrier的操作,等待一个wrap内的所有线程执行完毕,即统一。

2、block
一个block里面有多个wrap。
多个wrap在一个SM上切换,为什么要切换呢?因为有的wrap可能因为等待数据之类的操作而延迟,切换就会让速度快起来。
只有一个block里面的wrap都已经执行完毕之后,SM才会跑下一个block的程序。

3、grid
多个block组成了grid。
grid即网格,一般是一个gpu对应一个grid,当然随着发展,也会一个gpu对应多个grid

http://www.lryc.cn/news/567.html

相关文章:

  • Python文件操作-代码案例
  • 活动目录(Active Directory)管理,AD自动化
  • Allegro如何使用Vertext命令修改丝印线段的形状操作指导
  • Leetcode力扣秋招刷题路-0030
  • 基于Prometheus和k8s搭建监控系统
  • 类和对象(下)
  • 达梦数据库单机部署
  • 从零到一学习Flutter——(二)状态和路由
  • TC358774XBG/TC358775XBG替代方案|CS5518替代TC358774XBG/TC358775XBG设计DSI转LVSD设计资料
  • Linux---Kernal与Shell讲解
  • Thiol-PEG-Acid,HS-PEG-COOH,巯基-聚乙二醇-羧基试剂供应
  • 数据结构与算法基础-学习-09-线性表之栈的理解、初始化顺序栈、判断顺序栈空、获取顺序栈长度的实现
  • 深入Kafka核心设计与实践原理读书笔记第二章
  • 知乎kol投放怎么做?知乎kol资源从哪里找?
  • python设计模式-享元设计模式,抽象工厂设计模式,面向对象设计模式
  • 10条终身受益的Salesforce职业发展建议!
  • 电子科技大学人工智能期末复习笔记(四):概率与贝叶斯网络
  • 码上掘金实现电子木鱼
  • 深度学习_L2正则化
  • 第一章 认识Python
  • 复习0206
  • 小红书如何查看笔记
  • linux001之linux系统部署安装
  • 服务异步通信 RabbitMQ-高级篇
  • 【PR】零基础快速入门教程
  • Matlab 点云迭代加权最小二乘法拟合平面(抑制噪声)
  • 2023 软件测试行业内卷动荡,红利期过去后,何去何从?
  • 【王道数据结构】第六章(下) | 图的应用
  • Leetcode:518. 零钱兑换 II(C++)
  • Java中类是什么