[发明专利]线程块派发方法、计算装置以及片上系统在审
申请号: | 202310410158.5 | 申请日: | 2023-04-17 |
公开(公告)号: | CN116433458A | 公开(公告)日: | 2023-07-14 |
发明(设计)人: | 田云 | 申请(专利权)人: | 平头哥(上海)半导体技术有限公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20;G06T1/60;G06F9/50 |
代理公司: | 北京合智同创知识产权代理有限公司 11545 | 代理人: | 李杰;杨雷 |
地址: | 201208 上海市浦东新区中国(上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 线程 派发 方法 计算 装置 以及 系统 | ||
1.一种线程块派发方法,包括:
确定与多个计算引擎分别对应的多个线程块组,每个线程块组包括执行线程彼此关联的多个线程块;
确定所述多个计算引擎中的当前轮询计算引擎;
从所述多个线程块组中,确定与所述当前轮询计算引擎对应的当前线程块组;
将所述当前线程块组中的线程块派发到所述当前轮询计算引擎。
2.根据权利要求1所述的方法,其中,每个计算引擎包括多个计算单元,所述方法还包括:
从所述当前线程块组中,确定分别与多个计算单元对应的多个子线程块组;
所述将所述当前线程块组中的线程块派发到所述当前轮询计算引擎,包括:
将所述当前线程块组的当前子线程块组中的线程块派发到所述当前轮询计算引擎中的对应计算单元。
3.根据权利要求2所述的方法,其中,派发到同一计算引擎的同一计算单元的各个线程块之间的数据相关性高于派发到同一计算引擎的不同计算单元的各个线程块之间的数据相关性。
4.根据权利要求3所述的方法,其中,每个计算引擎配置有第一缓存,每个计算单元配置有第二缓存,所述第一缓存的缓存级别高于所述第二缓存的缓存级别。
5.根据权利要求2所述的方法,其中,所述将所述当前线程块组的当前子线程块组中的线程块派发到所述当前轮询计算引擎中的对应计算单元,包括:
确定与当前轮询时段对应的共用计算单元标识,所述共用计算单元标识指示所述多个计算引擎之间的对应计算单元;
向所述当前轮询计算引擎中与所述共用计算单元标识指示的当前计算单元,派发与所述当前计算单元对应的当前子线程块组中的线程块。
6.根据权利要求1所述的方法,其中,所述确定与多个计算引擎分别对应的多个线程块组,包括:
分别针对所述多个计算引擎,将所述线程网格划分所述多个线程块组,使每个线程块组中的各个线程块的执行线程标识为连续。
7.根据权利要求6所述的方法,其中,所述方法还包括:
分别针对每个计算引擎的多个计算单元,将该计算引擎对应的线程块组划分成多个子线程块组,使每个子线程块组中的各个线程块的执行线程标识为连续。
8.根据权利要求7所述的方法,其中,所述线程网格包括第一索引维度和第二索引维度,所述第二索引维度的索引优先级高于所述第一索引维度的索引优先级;
所述将所述线程网格划分所述多个线程块组,包括:
基于所述第一索引维度,将所述线程网格划分所述多个线程块组,不同的线程块组在所述第一索引维度上的索引范围不重合。
9.根据权利要求8所述的方法,其中,所述将该计算引擎对应的线程块组划分成多个子线程块组,包括:
基于所述第二索引维度,将该计算引擎对应的线程块组划分成多个子线程块组,不同的子线程块组在所述第二索引维度上的索引范围。
10.根据权利要求9所述的方法,其中,所述线程网格还包括第三索引维度,所述第三索引维度的索引优先级高于所述第二索引维度的索引优先级。
11.一种计算装置,包括:
多个计算引擎;以及
派发单元,执行根据权利要求1-10中任一项所述的线程块派发方法。
12.一种片上系统,包括:
根据权利要求11所述的计算装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平头哥(上海)半导体技术有限公司,未经平头哥(上海)半导体技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310410158.5/1.html,转载请声明来源钻瓜专利网。