【技术实现步骤摘要】
指令执行方法和装置
本申请实施例涉及计算机
,具体涉及指令执行方法和装置。
技术介绍
近年来,随着人工智能技术的兴起和发展,以深度学习为代表的模型算法以及以大数据为代表的数据处理算法已经广泛应用于各个领域,例如,语音识别、图像识别、自然语言处理等领域。通常,深度学习模型中存在大量的计算密集型算子,例如,矩阵计算、卷积、池化、激活、标准化等等;数据处理器中同样也存在大量的计算密集算子,例如,数据查询、数据过滤、数据连接、数据排序等。由于这些运算非常耗时,传统CPU(CentralProcessingUnit,中央处理单元)的运算能力难以满足需求,从而使得异构运算成为主流。并且因此开发出了各种深度学习专用处理器、大数据专用处理器,诸如,GPU(GraphicsProcessingUnit,图形处理器)、ASIC(ApplicationSpecificIntegratedCircuits,专用集成电路)等。现有技术中,通常在专用处理器中设置多个单一的执行部件。例如,在深度学习专用处理器中,设置进行矩阵 ...
【技术保护点】
1.一种指令执行方法,包括:/n获取指令队列;/n按照预设顺序从所述指令队列中获取待发送指令,执行如下发送步骤:确定出待发送指令的类型;响应于确定出待发送指令为运算类指令,从执行部件集合中确定执行待发送指令的执行部件,将待发送指令发送到所确定的执行部件;/n响应于确定出待发送指令为阻塞类指令,在接收到用于指示与待发送指令关联的指令执行完成的信号之后,获取下一条待发送指令,继续执行所述发送步骤。/n
【技术特征摘要】
1.一种指令执行方法,包括:
获取指令队列;
按照预设顺序从所述指令队列中获取待发送指令,执行如下发送步骤:确定出待发送指令的类型;响应于确定出待发送指令为运算类指令,从执行部件集合中确定执行待发送指令的执行部件,将待发送指令发送到所确定的执行部件;
响应于确定出待发送指令为阻塞类指令,在接收到用于指示与待发送指令关联的指令执行完成的信号之后,获取下一条待发送指令,继续执行所述发送步骤。
2.根据权利要求1所述的方法,其中,所述方法还包括:
确定所述执行部件集合中的执行部件已执行完成的指令的数目。
3.根据权利要求2所述的方法,其中,所述与待发送指令关联的指令包括指令所属的运算类型和指令编号;所述在接收到用于指示与待发送指令关联的指令执行完成的信号之后,获取下一条待发送指令,包括:
将执行所述运算类型的指令的执行部件作为目标执行部件,响应于接收到所述目标执行部件返回的指令执行完成的信号,更新所述目标执行部件已执行完成的指令数目;
确定已更新的所述目标执行部件已执行完成的指令数目是否大于等于所述指令编号;
响应于确定已更新的所述目标执行部件已执行完成的指令数目大于等于所述指令编号,获取下一条待发送指令。
4.根据权利要求1所述的方法,其中,所述指令队列通过如下步骤建立:
接收任务信息;
从所述任务信息中提取出至少两个运算类指令;
按照指令执行顺序,从所述至少两个运算类指令中选取运算类指令作为待添加指令,执行如下添加步骤:确定待添加指令与之前添加至指令队列中的运算类指令是否存在数据依赖;响应于确定不存在数据依赖,将待添加指令添加至指令队列;
响应于确定存在数据依赖,生成与所依赖的运算类指令相关联的阻塞类指令,将所生成的阻塞类指令、待添加指令依次添加至指令队列,从所述至少两个运算类指令中选取运算类指令作为待添加指令,继续执行所述添加步骤。
5.根据权利要求1所述的方法,其中,所述指令队列通过如下步骤建立:
接收任务信息;
从所述任务信息中提取出至少两个运算类指令;
按照指令执行顺序,从所述至少两个运算类指令中选取运算类指令作为待添加指令,执行如下添加步骤:确定用于执行待添加指令的执行部件可以缓存的指令的数目;按照添加至指令队列的顺序,确定待添加指令在同种运算类型中的指令编号;确定指令编号减一是否小于等于可以缓存的指令的数目;响应于确定指令编号减一小于等于可以缓存的指令的数目,将待添加指令添加至指令队列;
响应于确定指令编号减一大于可以缓存的指令的数目,生成与可以缓存的指令的数目相同指令编号的运算类指令相关联的阻塞类指令,将所生成的阻塞类指令、待添加指令依次添加至指令队列,从所述至少两个运算类指令中选取运算类指令作为待添加指令,继续执行所述添加步骤。
6.一种指令执行装置,包括:
指令队列获取模块,被配置成获取指令队列;
指令发送模块,被配置成按照预设顺序从所述指令队列中获取待发送指令,执行如下发送步骤:确定出待发送指令的类型;响应于确定出...
【专利技术属性】
技术研发人员:王京,漆维,李宇鹏,龚小章,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。