AI处理器的仿真方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:29313712 阅读:17 留言:0更新日期:2021-07-17 02:31
本发明专利技术公开了AI处理器的仿真方法、装置、计算机设备及存储介质,包括:获取与待测AI处理器匹配的基准测试操作流;根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,每个目标操作切片能够独立运行在一个处理器核心中;将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销;根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。本发明专利技术实施例的技术方案可以减少对AI处理器的仿真耗时,提高仿真效率。率。率。

【技术实现步骤摘要】
AI处理器的仿真方法、装置、计算机设备及存储介质


[0001]本专利技术实施例涉及仿真处理
,尤其涉及AI处理器的仿真方法、装置、计算机设备及存储介质。

技术介绍

[0002]随着芯片制造的工艺不断升级,人工智能(Artificial Intelligence,AI)处理器在单位晶圆面积上部署的算力密度越来越高,其可以承载的用来评估性能优劣的基准测试也越来越复杂。于此同时,随着AI应用的发展,AI处理器的单位面积上的逻辑设计密度不断增加,AI处理器进行基准测试的时间也在增加。
[0003]目前对AI处理器的性能进行仿真的方法主要包括以下三种:利用X86多核心服务器(Simulation)进行性能仿真,利用硬件仿真加速器(Emulation)进行仿真,以及利用真实AI处理器(Silicon)进行仿真。
[0004]其中,利用Simulation对AI处理器的性能进行仿真时,仿真时间可达到十几天甚至几十天,仿真效率较低;利用Emulation进行仿真时,仿真速度较快,但是硬件成本较高,对于AI处理器的研发人员来说,这种方式可实施性较差;真实AI处理器通常适用于对流片后的AI处理器进行仿真,虽然仿真速度较快,硬件成本也较低,但是对于AI处理器中存在的问题,这种方式没有机会去进行修改,实用性较差。

技术实现思路

[0005]本专利技术实施例提供一种AI处理器的仿真方法、装置、计算机设备及存储介质,可以减少对AI处理器的仿真耗时,提高仿真效率。
[0006]第一方面,本专利技术实施例提供了一种AI处理器的仿真方法,所述方法包括:获取与待测AI处理器匹配的基准测试操作流;基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序;根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,每个目标操作切片能够独立运行在一个处理器核心中;将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销;根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
[0007]第二方面,本专利技术实施例还提供了一种AI处理器的仿真装置,该装置包括:基准测试操作流获取模块,用于获取与待测AI处理器匹配的基准测试操作流;基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序;目标操作切片切分模块,用于根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,每个目标操作切片能够独立运行在一个处理器核心中;局部操作仿真模块,用于将各目标操作切片分别部署在多核处理器中的各处理器
核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销;总体性能开销回溯模块,用于根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
[0008]第三方面,本专利技术实施例还提供了一种计算机设备,该计算机设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任意实施例提供的一种AI处理器的仿真方法。
[0009]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本专利技术任意实施例提供的一种AI处理器的仿真方法。
[0010]本专利技术实施例的技术方案通过获取与待测AI处理器匹配的基准测试操作流,根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,然后将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销,最后根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销的技术手段,可以减少对AI处理器的仿真耗时,提高仿真效率。
附图说明
[0011]图1是本专利技术实施例一中的一种AI处理器的仿真方法的流程图;图2a是本专利技术实施例二中的一种AI处理器的仿真方法的流程图;图2b是本专利技术实施例二中的一种基准测试操作流的示意图;图2c是本专利技术实施例二中的一种父操作切片的示意图;图2d是本专利技术实施例二中的另一种父操作切片的示意图;图3是本专利技术实施例三中的一种AI处理器的仿真方法的流程图;图4是本专利技术实施例四中的一种AI处理器的仿真装置的结构图;图5是本专利技术实施例五中的一种计算机设备的结构示意图。
具体实施方式
[0012]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0013]实施例一图1为本专利技术实施例一提供的一种AI处理器的仿真方法的流程图,本实施例可适用于对AI处理器的性能进行仿真的情况,该方法可以由AI处理器的仿真装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在计算机设备中,具体包括如下步骤:步骤110、获取与待测AI处理器匹配的基准测试操作流。
[0014]在本实施例中,待测AI处理器为等待进行性能仿真的AI处理器,基准测试操作流
为用于评估待测AI处理器处理性能的操作流,所述基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序。
[0015]其中,所述基准测试操作流可以为待测AI处理器实现某具体功能时需要执行的操作流。所述功能可以是数据搬运功能、数据计算功能、同步消息功能或者寄存器配置功能等。
[0016]在本实施例中,研发人员可以将待测AI处理器的配置信息,以及与待测AI处理器匹配的基准测试操作流共同输入至所述计算机设备。
[0017]步骤120、根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片。
[0018]在本实施例中,可选的,如果各操作间的操作执行顺序均为串行或者并行执行顺序,则可以按照预设数值,对基准测试操作流平均切分,得到多个目标操作切片。每个目标操作切片中的操作个数与所述预设数值相等,且每个目标操作切片能够独立运行在一个处理器核心中。其中,所述处理器核心可以为Simulation仿真平台上的一个X86服务器内核。
[0019]在一个具体的实施例中,假设基准测试操作流中包括100个操作,每个操作间的操作执行顺序均为串行执行顺序,则可以将基准测试操作流平均切分成10个目标操作切片,每个目标操作切片中包括10个操作,每个目标操作切片能够独立运行在一个处理器核心中。
[0020]步骤130、将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销。
[0021]在本实施例中,将基准测试操作流切分为多个目标操作切片后,可以将各目标操作切片分别部署在不同的处理器核心中。各处理器核心可以根据待测AI处理器的配置信息,对部署的目标操作切片并行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种AI处理器的仿真方法,其特征在于,包括:获取与待测AI处理器匹配的基准测试操作流;基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序;根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,每个目标操作切片能够独立运行在一个处理器核心中;将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销;根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。2.根据权利要求1所述的方法,其特征在于,获取与待测AI处理器匹配的基准测试操作流,包括:在基准测试集中选取基准测试,并根据待测AI处理器的处理器架构,生成与所选取的基准测试对应的基准测试操作流。3.根据权利要求1所述的方法,其特征在于,根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,包括:根据各操作间的操作执行顺序,将基准测试操作流预切分为至少两个具有串行执行关系的父操作切片;根据各操作间的操作执行顺序,确定每个父操作切片能否切分为多个具有并行或串行执行关系的子操作切片;若是,则将每个父操作切片切分为匹配的多个子操作切片,并将各子操作切片确定为新的父操作切片,否则,将所述父操作切片确定为目标操作切片,直至完成对全部父操作切片的处理。4.根据权利要求3所述的方法,其特征在于,在根据各操作间的操作执行顺序,将基准测试操作流预切分为至少两个具有串行执行关系的父操作切片之前,还包括:根据各操作间的操作执行顺序建立依赖关系表,依赖关系表中分级记录操作间的依赖关系;后一分级中各操作的执行依赖前一分级中至少一个操作执行完成;根据各操作间的操作执行顺序,将基准测试操作流预切分为至少两个具有串行执行关系的父操作切片,包括:查询所述依赖关系表,将基准测试操作流预切分为多个具有串行执行关系的父操作切片;根据各操作间的操作执行顺序,确定每个父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,包括:查询依赖关系表,确定每个父操作切片能否切分为多个具有并行或串行执行关系的子操作切片。5.根据权利要求4所述的方法,其特征在于,根据各操作间的操作执行顺序建立依赖关系表,包括:根据各操作间的操作执行顺序,确定与各操作分别对应的等待列表,等待列表中记录自身操作在执行前,需要等待执行完成的全部操作;根据各操作的等待列表,建立所述依赖关系表。
6.根据权利要求5所述的方法,其特征在于,查询所述依赖关系表,将基准测试操作流预切分为多个具有串行执行关系的父操作切片,包括:查询依赖关系表中仅包括单一操作的至少一个分级;根据各所述单一操作在所述基准测试操作流中的位置,对所述基准测试操作流进行切分,得到多个具有串行执行关系的父操作切片。7.根据权利要求5所述的方法,其特征在于,查询依赖关系表,确定每个父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,包括:获取当前处理的目标父操作切片中包括的各目标操作,并获取依赖关系表中包括各目标操作的目标分级;统计各目标分级的分级数量,和/或每个目标分级中包括的目标操作的操作数量;根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片。8.根据权利要求7所述的方法,其特征在于,根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,包括:如果确定分级数量唯一,且唯一的目标分级中包括多个目标操作,则确定能将目标父操作切片切分为多个具有并行执行关系的子操作切片;将目标父操作切片切分为匹配的多个子操作切片,包括:将所述目标父操作切片内的每个目标操作,分别切分为与所述目标父操作切片对应的一个子操作切片。9.根据权利要求7所述的方法,其特征在于,根据分级数量,和/或...

【专利技术属性】
技术研发人员:魏斌
申请(专利权)人:北京燧原智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1