[发明专利]加速器执行的方法和电子设备有效
申请号: | 202210247720.2 | 申请日: | 2022-03-14 |
公开(公告)号: | CN114579929B | 公开(公告)日: | 2023-08-08 |
发明(设计)人: | 杨经纬;葛建明;李甲;桑永奇;谢钢锋;姚飞;仇小钢 | 申请(专利权)人: | 海飞科(南京)信息技术有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F7/523 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 张宁 |
地址: | 210000 江苏省南京市建*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加速器 执行 方法 电子设备 | ||
1.一种由加速器执行的方法,包括:
接收针对加速器的第一线程集的第一张量乘法指令,所述第一张量乘法指令包括针对所述第一线程集的第一线程指示、针对第一张量的第一因数寄存器表示、针对第二张量的存储器逻辑地址、以及针对第三张量的第一乘积寄存器表示;
所述第一线程集基于针对所述第二张量的存储器逻辑地址将所述第二张量中的第二因数集广播至第二线程集,所述第二线程集不同于所述第一线程集;
所述第二线程集中的第一线程基于所述第一因数寄存器表示将所述第一张量中的第一行中的第一因数集和所述第二因数集进行点积运算,以生成所述第三张量的第一行中的第一点积集;以及
由所述第一线程将所述第一点积集累加到与第一乘积寄存器表示对应的第一组乘积寄存器中。
2.根据权利要求1所述的方法,还包括:
响应于接收到所述第二因数集,所述第二线程集中的第二线程基于所述第一因数寄存器表示将所述第一张量的第二行中的第三因数集和所述第二因数集进行点积运算,以生成所述第三张量的第二行中的第二点积集;以及
由所述第二线程将所述第二点积集累加到与第一乘积寄存器表示对应的第二组乘积寄存器中;
提供针对第一线程集各线程的执行条件,对于不满足执行条件的线程,其访存操作被视作超出张量地址范围而被忽略。
3.根据权利要求1所述的方法,其中所述第一张量乘法指令还包括第一合并计算模式指示;
生成所述第三张量的第一行中的第一点积集包括:
基于所述第一合并计算模式指示和所述第一因数寄存器表示,由所述第一线程将所述第一行中的第一因数集和所述第二因数集进行点积运算,以生成所述第三张量的第一行中的第一点积集。
4.根据权利要求3所述的方法,还包括:
基于所述第一合并计算模式指示和所述第一因数寄存器表示,由所述第一线程集中的第三线程将所述第一因数集和所述第二张量的第四因数集进行点积运算,以生成所述第三张量的第一行中的第三点积集,所述第四因数集不同于所述第二因数集,所述第三点积集不同于所述第一点积集;以及
由所述第三线程将所述第三点积集累加到与所述第一乘积寄存器表示对应的第三组乘积寄存器中。
5.根据权利要求1所述的方法,其中所述第一张量乘法指令还包括转置指示;
生成所述第三张量的第一行中的第一点积集包括:
基于所述转置指示和所述第一因数寄存器表示,由所述第一线程将所述第一行中的第一因数集和所述第二张量中的第二因数集进行点积运算,以生成所述第三张量的第一行中的第一点积集。
6.根据权利要求5所述的方法,其中基于所述转置指示和所述第一因数寄存器表示,由所述第一线程将所述第一行中的第一因数集和所述第二张量中的第二因数集进行点积运算以生成所述第三张量的第一行中的第一点积集包括:
基于所述转置指示和所述存储器逻辑地址,将所述第二张量中的多个行的因数加载至高速缓存;
按列从所述多个行的因数中选择因数以形成所述第二因数集;以及
基于所述第一因数寄存器表示,由所述第一线程将所述第一行中的第一因数集和所述第二因数集进行点积运算以生成所述第三张量的第一行中的第一点积集。
7.根据权利要求1-6中任一项所述的方法,其中所述第一线程集将与所述存储器逻辑地址对应的所述第二因数集以广播的形式并行提供给所述第二线程集中的全部线程中的计算单元,而不提供至所述全部线程中的寄存器。
8.根据权利要求7所述的方法,其中所述存储器逻辑地址包括段基准数据和偏移数据,所述段基准数据表示所述第二张量的起始地址,所述偏移数据表示所述第二张量在多个维度中的各维上的偏移量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海飞科(南京)信息技术有限公司,未经海飞科(南京)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210247720.2/1.html,转载请声明来源钻瓜专利网。