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

Flash Attention算法动画

矩阵Q,K,V 在HBM,SRAM芯片大小为M,其中N=5,d=3, M=59

image

 1.设置块大小Bc=4,Br=3

image

 2.初始化O,l,m

image

 3.分割Q为Tr块[Q0,Q1],每块大小Br*d,分割K,V为Tc块[K0,K1],[V0,V1],每块大小Bc*d

image

 4.分割O为Tr块,每块大小Br * d,分割l为Tr块,每块大小Br,分割m为Tr,每块大小为Br

image

外层循环: 

  从HBM加载K0,V0到SRAM

image

 内层循环:

  从HDM中加载Q0,O0,l0,m0到SRAM中

image

   在芯片中,计算S[0,0] = Q0 * K0

image

   在芯片中,计算当前块每一行的 最大值m[0,0] = rowmax(S[0, 0]),Softmax分子P[0, 0] = exp(S[0,0] - m[0,0]),Softmax分母l[0, 0]=rowsum(P[0, 0])

image

 

image

 

image

   在芯片中计算出:l[0, 0], m[0, 0]和l[0,0]的每一行的和l0

image

 计算出O[0],将O[0]结果写入到HBM中

image

 

image

   从HBM中将Q1,O1,l1,m1加载到SRAM中

image

 

image

 

image

 

image

 

image

 

image

 

http://www.hskmm.com/?act=detail&tid=9726

相关文章:

  • PointNetwork-求解TSP-05 - jack
  • 多站点的TSP问题求解-06 - jack
  • Windows 11如何进入安全模式
  • C# CAN通信上位机系统设计与实现
  • 进程池VS线程池
  • 聊聊昨天CodeBuddy Meetup的一些收获与思考
  • 框架的诞生,本就是人类文明共同涌现的结晶,绝不是某个人的独自觉悟
  • python+Django开发笔记(结合禅道开发测试报告)
  • MVC分层设计模式 2章
  • Questions about learning Symfony
  • 【Python】cx_Freeze模块_打包exe
  • ctfshow web22(子域名爆破)
  • PLC中的运动控制 - (一)轴
  • 墨者学院 某防火墙默认口令
  • IOC控制反转的解耦(相比于直接new对象的正向控制)
  • 墨者学院 浏览器信息伪造
  • AT_arc156_c [ARC156C] Tree and LCS
  • 完整教程:ARM指令集总结
  • 封神台 第二章:遇到阻难!绕过WAF过滤
  • 封神台 第三章:为了更多的权限!留言板!
  • 第一篇
  • C#开发ONVIF客户端与RTSP播放库指南
  • 一行命令查看docker所有网络 + 子网
  • ECT-OS-JiuHuaShan框架元推理,是马克思主义与我思故我在的完美统一,是超越自我
  • vulnhub Beelzebub
  • Salesforce 管理员:是终点,还是跳板?
  • 记一次内务培训
  • CH584 CH585 复位状态寄存器
  • 2025CCPC邀请赛(南昌)VP(A,B,C,D,G,H,K,L)
  • 不用手也能玩手机?多代理协作框架让 APP 自动执行任务