CN113128143B - Ai处理器的仿真方法、装置、计算机设备及存储介质 - Google Patents

Ai处理器的仿真方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN113128143B
CN113128143B CN202110669107.5A CN202110669107A CN113128143B CN 113128143 B CN113128143 B CN 113128143B CN 202110669107 A CN202110669107 A CN 202110669107A CN 113128143 B CN113128143 B CN 113128143B
Authority
CN
China
Prior art keywords
target
slice
processor
slices
benchmark test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110669107.5A
Other languages
English (en)
Other versions
CN113128143A (zh
Inventor
魏斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Suiyuan Intelligent Technology Co ltd
Original Assignee
Beijing Suiyuan Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Suiyuan Intelligent Technology Co ltd filed Critical Beijing Suiyuan Intelligent Technology Co ltd
Priority to CN202110669107.5A priority Critical patent/CN113128143B/zh
Publication of CN113128143A publication Critical patent/CN113128143A/zh
Application granted granted Critical
Publication of CN113128143B publication Critical patent/CN113128143B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

AI处理器的仿真方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及仿真处理技术领域,尤其涉及AI处理器的仿真方法、装置、计算机设备及存储介质。
背景技术
随着芯片制造的工艺不断升级,人工智能(Artificial Intelligence,AI)处理器在单位晶圆面积上部署的算力密度越来越高,其可以承载的用来评估性能优劣的基准测试也越来越复杂。于此同时,随着AI应用的发展,AI处理器的单位面积上的逻辑设计密度不断增加,AI处理器进行基准测试的时间也在增加。
目前对AI处理器的性能进行仿真的方法主要包括以下三种:利用X86多核心服务器(Simulation)进行性能仿真,利用硬件仿真加速器(Emulation)进行仿真,以及利用真实AI处理器(Silicon)进行仿真。
其中,利用Simulation对AI处理器的性能进行仿真时,仿真时间可达到十几天甚至几十天,仿真效率较低;利用Emulation进行仿真时,仿真速度较快,但是硬件成本较高,对于AI处理器的研发人员来说,这种方式可实施性较差;真实AI处理器通常适用于对流片后的AI处理器进行仿真,虽然仿真速度较快,硬件成本也较低,但是对于AI处理器中存在的问题,这种方式没有机会去进行修改,实用性较差。
发明内容
本发明实施例提供一种AI处理器的仿真方法、装置、计算机设备及存储介质,可以减少对AI处理器的仿真耗时,提高仿真效率。
第一方面,本发明实施例提供了一种AI处理器的仿真方法,所述方法包括:
获取与待测AI处理器匹配的基准测试操作流;基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序;
根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,每个目标操作切片能够独立运行在一个处理器核心中;
将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销;
根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
第二方面,本发明实施例还提供了一种AI处理器的仿真装置,该装置包括:
基准测试操作流获取模块,用于获取与待测AI处理器匹配的基准测试操作流;基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序;
目标操作切片切分模块,用于根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,每个目标操作切片能够独立运行在一个处理器核心中;
局部操作仿真模块,用于将各目标操作切片分别部署在多核处理器中的各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销;
总体性能开销回溯模块,用于根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的一种AI处理器的仿真方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的一种AI处理器的仿真方法。
本发明实施例的技术方案通过获取与待测AI处理器匹配的基准测试操作流,根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,然后将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销,最后根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销的技术手段,可以减少对AI处理器的仿真耗时,提高仿真效率。
附图说明
图1是本发明实施例一中的一种AI处理器的仿真方法的流程图;
图2a是本发明实施例二中的一种AI处理器的仿真方法的流程图;
图2b是本发明实施例二中的一种基准测试操作流的示意图;
图2c是本发明实施例二中的一种父操作切片的示意图;
图2d是本发明实施例二中的另一种父操作切片的示意图;
图3是本发明实施例三中的一种AI处理器的仿真方法的流程图;
图4是本发明实施例四中的一种AI处理器的仿真装置的结构图;
图5是本发明实施例五中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种AI处理器的仿真方法的流程图,本实施例可适用于对AI处理器的性能进行仿真的情况,该方法可以由AI处理器的仿真装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在计算机设备中,具体包括如下步骤:
步骤110、获取与待测AI处理器匹配的基准测试操作流。
在本实施例中,待测AI处理器为等待进行性能仿真的AI处理器,基准测试操作流为用于评估待测AI处理器处理性能的操作流,所述基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序。
其中,所述基准测试操作流可以为待测AI处理器实现某具体功能时需要执行的操作流。所述功能可以是数据搬运功能、数据计算功能、同步消息功能或者寄存器配置功能等。
在本实施例中,研发人员可以将待测AI处理器的配置信息,以及与待测AI处理器匹配的基准测试操作流共同输入至所述计算机设备。
步骤120、根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片。
在本实施例中,可选的,如果各操作间的操作执行顺序均为串行或者并行执行顺序,则可以按照预设数值,对基准测试操作流平均切分,得到多个目标操作切片。每个目标操作切片中的操作个数与所述预设数值相等,且每个目标操作切片能够独立运行在一个处理器核心中。其中,所述处理器核心可以为Simulation仿真平台上的一个X86服务器内核。
在一个具体的实施例中,假设基准测试操作流中包括100个操作,每个操作间的操作执行顺序均为串行执行顺序,则可以将基准测试操作流平均切分成10个目标操作切片,每个目标操作切片中包括10个操作,每个目标操作切片能够独立运行在一个处理器核心中。
步骤130、将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销。
在本实施例中,将基准测试操作流切分为多个目标操作切片后,可以将各目标操作切片分别部署在不同的处理器核心中。各处理器核心可以根据待测AI处理器的配置信息,对部署的目标操作切片并行运行,得到待测AI处理器针对目标操作切片的性能仿真结果,也即局部性能开销。所述局部性能开销可以为待测AI处理器对目标操作切片进行运行后,关于时间消耗以及资源消耗等的仿真结果。
在一个具体的实施例中,假设一共有10个目标操作切片,则可以将这10个目标操作切片分别部署在10个不同的处理器核心中。
步骤140、根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
在本实施例中,可以根据与每个目标操作切片分别对应的局部性能开销,以及基准测试操作流中各操作间的执行关系,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
在一个具体的实施例中,如果基准测试操作流各操作间的执行关系均为串行执行,则可以将各局部性能开销进行相加,得到待测AI处理器针对基准测试操作流的总体性能开销;如果基准测试操作流各操作间的执行关系均为并行执行,则可以将数值最大的局部性能开销作为待测AI处理器针对基准测试操作流的总体性能开销。
现有技术中对AI处理器的性能进行仿真时,通常将基准测试操作流部署于一个处理器核心中,利用一个处理器核心运行基准测试操作流,得到AI处理器针对基准测试操作流的性能仿真结果,这种方式下仿真过程耗时较久,仿真效率较低。本实施例中通过将基准测试操作流切分为多个目标操作切片,然后利用多个处理器核心并行运行目标操作切片,得到AI处理器针对基准测试操作流的性能仿真结果,相比于现有技术而言,可以减少对AI处理器的仿真耗时,提高仿真效率。
本发明实施例的技术方案通过获取与待测AI处理器匹配的基准测试操作流,根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,然后将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销,最后根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销的技术手段,可以减少对AI处理器的仿真耗时,提高仿真效率。
在上述实施例的基础上,获取与待测AI处理器匹配的基准测试操作流,包括:在基准测试集中选取基准测试,并根据待测AI处理器的处理器架构,生成与所选取的基准测试对应的基准测试操作流。
在本实施例中,基准测试集中包括多个基准测试(例如数据搬运测试、数据计算测试、同步消息测试以及寄存器配置测试等),每个基准测试中包括该测试对应的多个操作。研发人员可以将要选取的基准测试的名称或者其他标识信息输入至计算机设备,计算机设备根据该信息在基准测试集中选取对应的基准测试。
在基准测试集中选取基准测试后,可选的,可以根据基准测试中包括的各操作之间的关系,以及待测AI处理器中同构处理单元和异构处理单元的部署情况,对各操作的执行顺序进行排列,排列后的各操作共同构成了所述基准测试操作流。
在一个具体的实施例中,假设基准测试中包括三个操作,分别为操作A、操作B与操作C,操作A与操作B之间不存在数据继承关系,操作C与操作A、操作B之间均存在数据继承关系。假设待测AI处理器中包括两个同构处理单元,一个异构处理单元,则可以认为待测AI处理器可以利用两个同构处理单元分别对操作A与操作B进行并行处理,然后利用异构处理单元对操作C进行串行处理。也即,操作A与操作B之间的执行顺序为并行执行,操作C与操作A、操作B之间的执行顺序为串行执行,按照该执行顺序对操作A、操作B与操作C进行排列后,得到了与基准测试对应的基准测试操作流。
本实施例中,通过根据待测AI处理器的处理器架构,生成与所选取的基准测试对应的基准测试操作流,可以保证得到的待测AI处理器针对基准测试操作流的性能仿真结果,更加接近AI处理器针对基准测试操作流的真实性能结果,由此可以提高AI处理器仿真结果的准确性。
在本发明实施例的一个实施方式中,根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,包括:
步骤121、根据各操作间的操作执行顺序,将基准测试操作流预切分为至少两个具有串行执行关系的父操作切片。
在此步骤中,可选的,可以在全部操作中筛选出与任意操作之间均不存在并行执行顺序的操作,然后根据目标操作在基准测试操作流中的位置,对所述基准测试操作流进行切分,得到多个具有串行执行关系的父操作切片。
步骤122、根据各操作间的操作执行顺序,确定每个父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,若是,执行步骤123,若否,执行步骤124。
在此步骤中,可以根据各操作间的操作执行顺序,判断每个父操作切片中是否包括多个子操作切片,若是,则确定每个父操作切片能否切分为多个具有并行或串行执行关系的子操作切片。
步骤123、将每个父操作切片切分为匹配的多个子操作切片,并将各子操作切片确定为新的父操作切片。
在一个具体的实施例中,如果父操作切片中包括多个串行执行的子操作切片,则可以将该父操作切片切分为多个具有串行执行关系的子操作切片;如果父操作切片中包括多个并行执行的子操作切片,则可以将该父操作切片切分为多个具有并行执行关系的子操作切片。
在此步骤中,将每个父操作切片切分为匹配的多个子操作切片,并将各子操作切片确定为新的父操作切片之后,返回执行步骤122,直至完成对全部父操作切片的处理。
步骤124、将所述父操作切片确定为目标操作切片。
实施例二
本实施例是对上述实施例的进一步细化,与上述实施例相同或相应的术语解释,本实施例不再赘述。图2a为本实施例二提供的一种AI处理器的仿真方法的流程图,在本实施例中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,如图2a所示,本实施例提供的方法还可以包括:
步骤210、在基准测试集中选取基准测试,并根据待测AI处理器的处理器架构,生成与所选取的基准测试对应的基准测试操作流。
其中,基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序。
步骤220、根据各操作间的操作执行顺序建立依赖关系表,依赖关系表中分级记录操作间的依赖关系;后一分级中各操作的执行依赖前一分级中至少一个操作执行完成。
在本实施例中,可以根据各操作间的操作执行顺序,以及各操作间的执行关系(例如串行执行关系或并行执行关系)建立依赖关系表,依赖关系表中包括各操作间的依赖关系。其中,假设在当前操作对应的执行顺序之后,存在与当前操作具备串行执行关系的相邻操作,也即,在当前操作执行完成之后才执行该相邻操作,则确定该相邻操作与当前操作具有依赖关系。
在本发明实施例的一个实施方式中,根据各操作间的操作执行顺序建立依赖关系表,包括:根据各操作间的操作执行顺序,确定与各操作分别对应的等待列表,等待列表中记录自身操作在执行前,需要等待执行完成的全部操作;根据各操作的等待列表,建立所述依赖关系表。
其中,可以根据各操作间的先后执行顺序,确定与各操作分别对应的等待列表。在确定出与每个操作对应的等待列表之后,在全部等待列表中筛选出执行顺序最前的首个操作为当前操作,确定与该当前操作对应的分级为第一分级;并在全部等待列表中确认与该当前操作具有依赖关系的后续操作,并确定与该后续操作对应的分级为第二分级;然后将上述后续操作作为当前操作,重复执行上述过程,直至完成对全部操作的处理。
其中,如果在全部等待列表中筛选出执行顺序最前的多个操作,则确认该多个操作具有并行关系,并且与各操作对应的分级均为第一分级。
步骤230、查询所述依赖关系表,将基准测试操作流预切分为多个具有串行执行关系的父操作切片。
在本实施例中,可以根据依赖关系表中记录的各操作间的操作执行顺序,以及各操作间的依赖关系,将基准测试操作流预切分为多个具有串行执行关系的父操作切片。
在一个具体的实施例中,图2b是本实施例中的一种基准测试操作流的示意图,如图2b所示,假设基准测试操作流中包括六个操作,分别为:操作A、操作B、操作C、操作D、操作E、操作F。其中,操作C与操作A、操作B之间具有依赖关系,操作D、操作E、操作F与操作C之间具有依赖关系。在依赖关系表中,操作A与操作B对应的分级为第一分级,操作C对应的分级为第二分级,操作D、操作E与操作F对应的分级为第三分级。
在本发明实施例的一个实施方式中,查询所述依赖关系表,将基准测试操作流预切分为多个具有串行执行关系的父操作切片,包括:查询依赖关系表中仅包括单一操作的至少一个分级;根据各所述单一操作在所述基准测试操作流中的位置,对所述基准测试操作流进行切分,得到多个具有串行执行关系的父操作切片。
在一个具体的实施例中,可以根据单一操作在基准测试操作流中的位置,对基准测试操作流进行切分,其中,单一操作以及在单一操作之前的多个操作可以被切分为一个父操作切片,单一操作之后的多个操作可以被切分为另一个父操作切片。
在一个具体的实施例中,以图2b中的基准测试操作流为例,第二分级中包括单一操作(即操作C),则可以根据操作C在基准测试操作流中的位置,对基准测试操作流进行切分。其中,操作C、操作A与操作B被切分为一个父操作切片,操作D、操作E与操作F被切分为另一个父操作切片。
步骤240、查询依赖关系表,确定每个父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,若是,执行步骤250,若否,执行步骤260。
在本发明实施例中,查询依赖关系表,确定每个父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,包括:获取当前处理的目标父操作切片中包括的各目标操作,并获取依赖关系表中包括各目标操作的目标分级;统计各目标分级的分级数量,和/或每个目标分级中包括的目标操作的操作数量;根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片。
其中,如果各目标分级的分级数量为多个,或者至少一个目标分级中包括的目标操作的操作数量为多个,则可以确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片。
在本发明实施例的一个实施方式中,根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,包括:如果确定分级数量唯一,且唯一的目标分级中包括多个目标操作,则确定能将目标父操作切片切分为多个具有并行执行关系的子操作切片。
相应地,将目标父操作切片切分为匹配的多个子操作切片,包括:将所述目标父操作切片内的每个目标操作,分别切分为与所述目标父操作切片对应的一个子操作切片。
其中,以图2b中的基准测试操作流为例,假设当前处理的目标父操作切片中仅包括一个目标分级,该目标分级包括三个目标操作,分别为操作D、操作E与操作F,则确定能将该目标父操作切片切分为三个具有并行执行关系的子操作切片。
在本发明实施例的另一个实施方式中,根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,包括:如果确定分级数量为多个,且至少一个目标分级中仅包括唯一目标操作,则确定能将目标父操作切片切分为多个具有串行执行关系的子操作切片。
相应地,将目标父操作切片切分为匹配的多个子操作切片,包括:根据各所述唯一目标操作在所述目标父操作切片中的位置,将所述目标父操作切片切分得到多个子操作切片。
在一个具体的实施例中,图2c是本实施例中的一种父操作切片的示意图,如图2c所示,假设目标父操作切片中包括三个目标分级,第一个目标分级中包括的目标操作为操作D、操作E与操作F,第二个目标分级中包括唯一的目标操作(操作G),第三个目标分级中包括的目标操作为操作H和操作I。在这种情况下,可以根据操作G在目标父操作切片中的位置,对目标父操作切片进行切分,得到两个具有串行执行关系的子操作切片。其中,操作G、操作D、操作E与操作F被切分为一个子操作切片,操作H与操作I被切分为另一个子操作切片。
在本发明实施例的另一个实施方式中,根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,包括:如果确定分级数量为多个,且每个目标分级内均包括多个目标操作,则确定能将目标父操作切片切分为多个具有并行执行关系的子操作切片。
相应地,将目标父操作切片切分为匹配的多个子操作切片,包括:获取以最高分级级别的目标分级中的每个目标操作为起点操作;根据各目标操作的等待列表,在下级的目标分级内的各目标操作中分别获取与每个起点操作具有直接或者间接依赖关系的各目标操作,形成多个子操作切片。
在一个具体的实施例中,图2d是本实施例中的一种父操作切片的示意图,如图2d所示,假设目标父操作切片中包括两个目标分级,第一个目标分级中包括的目标操作为操作D与操作E,第二个目标分级中包括的目标操作为操作F、操作G与操作H。在这种情况下,可以以操作D作为起点操作,获取到与操作D具有依赖关系的操作F,形成第一个子操作切片;然后以操作E作为起点操作,获取到与操作E具有依赖关系的操作G与操作H,形成第二个子操作切片。
其中,第一个子操作切片中包括操作D与操作F,第二个子操作切片包括操作E、操作G与操作H。第一个子操作切片与第二个子操作切片具有并行执行关系。
在本发明实施例的另一个实施方式中,根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,包括:如果确定分级数量唯一,且唯一的目标分级中仅包括唯一目标操作,则确定目标父操作切片不能切分为多个具有并行或串行执行关系的子操作切片。
其中,如果目标父操作切片中仅包括一个目标分级,且该目标分级中仅包括一个目标操作,则确定该目标父操作切片不能切分为子操作切片。
步骤250、将每个父操作切片切分为匹配的多个子操作切片,并将各子操作切片确定为新的父操作切片。
在此步骤之后,返回执行步骤240,直至完成对全部父操作切片的处理。
步骤260、将所述父操作切片确定为目标操作切片。
步骤270、将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销。
步骤280、根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
本发明实施例的技术方案通过在基准测试集中选取基准测试,并根据待测AI处理器的处理器架构,生成与所选取的基准测试对应的基准测试操作流,根据各操作间的操作执行顺序建立依赖关系表,查询所述依赖关系表,然后将基准测试操作流预切分为多个具有串行执行关系的父操作切片,并查询依赖关系表,确定每个父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,若是,将每个父操作切片切分为匹配的多个子操作切片,并将各子操作切片确定为新的父操作切片,若否,则将父操作切片确定为目标操作切片,然后将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销,最后根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销的技术手段,可以减少对AI处理器的仿真耗时,提高仿真效率。
实施例三
本实施例是对上述实施例的进一步细化,与上述实施例相同或相应的术语解释,本实施例不再赘述。图3为本实施例三提供的一种AI处理器的仿真方法的流程图,在本实施例中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,如图3所示,本实施例提供的方法还可以包括:
步骤310、在基准测试集中选取基准测试,并根据待测AI处理器的处理器架构,生成与所选取的基准测试对应的基准测试操作流。
步骤320、根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片。
其中,每个目标操作切片能够独立运行在一个处理器核心中。
在本实施例中,在根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片之后,还包括:在对所述基准测试操作流进行切片的过程中,记录所切分得到的各个切片之间的父子切片关系以及串并行执行关系。
其中,在对基准测试操作流进行切片的过程中,记录所切分得到的各个目标操作切片之间的父子切片关系以及串并行执行关系。
步骤330、将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销。
步骤340、根据与每个目标操作切片分别对应的局部性能开销,以及预先记录的各个切片之间的父子切片关系以及串并行执行关系,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
在本实施例中,可以根据与每个目标操作切片分别对应的局部性能开销,以及各目标操作切片之间的父子切片关系以及串并行执行关系,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
在本发明实施例的一个实施方式中,由同一父操作切片切分得到的各具有并行执行关系的各子操作切片对总体性能开销的贡献为各所述子操作切片的局部性能开销中的最大值;由同一父操作切片切分得到的各具有串行执行关系的各子操作切片对总体性能开销的贡献为各所述子操作切片的局部性能开销的总和。
在一个具体的实施例中,假设基准测试操作流被切分为四个目标操作切片,分别为切片A、切片B、切片C与切片D。其中,切片A与切片B由同一父操作切片切分得到,切片A与切片B具有并行执行关系;切片C与切片D由同一父操作切片切分得到,切片C与切片D具有串行执行关系;切片A、切片B分别与切片C具有串行执行关系。在这种情况下,可以在切片A与切片B分别对应的局部性能开销中,选取数值较大的局部性能开销作为目标局部性能开销,然后将该目标局部性能开销与切片C对应的局部性能开销、切片D对应的局部性能开销进行相加,得到总体性能开销。
步骤350、根据所述总体性能开销,以及与所述基准测试匹配的参考性能开销,对待测AI处理器的处理器架构进行性能评估。
在本实施例中,每种基准测试都预先对应一个参考性能开销,其中,可以计算所述总体性能开销与参考性能开销的差异值,然后根据该差异值对待测AI处理器的处理器架构进行性能评估。
在一个具体的实施例中,如果所述差异值大于预设阈值,则可以认为待测AI处理器的处理器架构性能较差,如果所述差异值小于或者等于预设阈值,则可以认为待测AI处理器的处理器架构性能良好。
在本实施例中,将基准测试操作流切分为多个目标操作切片后,由于每一个目标操作切片是最小的,且不可再进行切分,通过各处理器核心对部署的目标操作切片并行仿真时,可以大大缩短AI处理器的仿真时间。
在一个具体的实施例中,一个微型基准测试对应的基准测试操作流中包括16923个操作,通过上述方式可将基准测试操作流切分为2103个目标操作切片,每个目标操作切片中的操作个数在[1,30]区间之内。Simulation仿真平台针对一个目标操作切片的仿真时间可以控制在3天以内,在有足够服务器资源的情况下,通过各处理器核心对部署的目标操作切片并行仿真时,3~4天即可拿到AI处理器的性能仿真结果。
本发明实施例的技术方案通过在基准测试集中选取基准测试,并根据待测AI处理器的处理器架构,生成与所选取的基准测试对应的基准测试操作流,根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销,根据与每个目标操作切片分别对应的局部性能开销,以及预先记录的各个切片之间的父子切片关系以及串并行执行关系,回溯得到待测AI处理器针对基准测试操作流的总体性能开销,最后根据总体性能开销,以及与基准测试匹配的参考性能开销,对待测AI处理器的处理器架构进行性能评估的技术手段,可以减少对AI处理器的仿真耗时,提高仿真效率。
通过本发明实施例的技术方案还可以实现以下技术效果:根据AI处理器的处理器架构,将运行在处理器上的基准测试操作流拆分成并行或串行执行的独立操作切片,通过统计各独立操作切片所占用的硬件资源(例如存储器、数据搬运路径以及执行器等)和工作模式(例如处理器配置信息以及串并行执行关系等)在整个基准测试操作流中出现概率高的场景,可以定向投放AI处理器的改进重点,从而对AI处理器运行大概率出现的操作切片的性能进行优化。
此外,还可以根据不同的操作切片对应的分类信息(例如数据搬运、计算或者同步等),对AI处理器的处理器架构的数据存储能力、计算能力以及互联能力等进行辅助平衡。
其中,可以对各并行操作切片的性能开销以及各并行操作切片之间的执行碰撞进行分析,根据分析结果对处理器架构进行优化,以保证各并行操作切片的性能开销尽可能均衡,防止处理器并行处理时出现局部空载的现象;其次,通过对处理器架构进行优化,还可以使并行操作切片内的各子操作切片之间的串行操作流尽可能减少,从而可以保证处理器并行执行时,性能开销更加稳定和可控。此外,如果各操作切片之间不可避免地要共享存储器或者数据通道等,可酌情增加硬件资源或调整架构部署,解耦碰撞。
实施例四
图4为本发明实施例四提供的一种AI处理器的仿真装置的结构图,包括:基准测试操作流获取模块410、目标操作切片切分模块420、局部操作仿真模块430和总体性能开销回溯模块440。
其中,基准测试操作流获取模块410,用于获取与待测AI处理器匹配的基准测试操作流;基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序;
目标操作切片切分模块420,用于根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,每个目标操作切片能够独立运行在一个处理器核心中;
局部操作仿真模块430,用于将各目标操作切片分别部署在多核处理器中的各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销;
总体性能开销回溯模块440,用于根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
本发明实施例的技术方案通过获取与待测AI处理器匹配的基准测试操作流,根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,然后将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销,最后根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销的技术手段,可以减少对AI处理器的仿真耗时,提高仿真效率。
在上述各实施例的基础上,基准测试操作流获取模块410,可以包括:
操作流生成单元,用于在基准测试集中选取基准测试,并根据待测AI处理器的处理器架构,生成与所选取的基准测试对应的基准测试操作流。
目标操作切片切分模块420,可以包括:
父操作切片切分确定,用于根据各操作间的操作执行顺序,将基准测试操作流预切分为至少两个具有串行执行关系的父操作切片;
切分能力确定单元,用于根据各操作间的操作执行顺序,确定每个父操作切片能否切分为多个具有并行或串行执行关系的子操作切片;
父操作切片切分单元,用于将将每个父操作切片切分为匹配的多个子操作切片,并将各子操作切片确定为新的父操作切片,直至完成对全部父操作切片的处理。
目标操作切片确定单元,用于将所述父操作切片确定为目标操作切片。
关系表建立单元,用于根据各操作间的操作执行顺序建立依赖关系表,依赖关系表中分级记录操作间的依赖关系;后一分级中各操作的执行依赖前一分级中至少一个操作执行完成;
第一关系表查询单元,用于查询所述依赖关系表,将基准测试操作流预切分为多个具有串行执行关系的父操作切片;
第二关系表查询单元,用于查询依赖关系表,确定每个父操作切片能否切分为多个具有并行或串行执行关系的子操作切片;
等待列表确定单元,用于根据各操作间的操作执行顺序,确定与各操作分别对应的等待列表,等待列表中记录自身操作在执行前,需要等待执行完成的全部操作;
依赖关系表建立单元,用于根据各操作的等待列表,建立所述依赖关系表;
单一操作查询单元,用于查询依赖关系表中仅包括单一操作的至少一个分级;
单一操作处理单元,用于根据各所述单一操作在所述基准测试操作流中的位置,对所述基准测试操作流进行切分,得到多个具有串行执行关系的父操作切片;
目标分级获取单元,用于获取当前处理的目标父操作切片中包括的各目标操作,并获取依赖关系表中包括各目标操作的目标分级;
分级数量统计单元,用于统计各目标分级的分级数量,和/或每个目标分级中包括的目标操作的操作数量;
数量处理单元,用于根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片;
第一并行子操作切片确定单元,用于如果确定分级数量唯一,且唯一的目标分级中包括多个目标操作,则确定能将目标父操作切片切分为多个具有并行执行关系的子操作切片;
第一目标父操作切片切分单元,用于将所述目标父操作切片内的每个目标操作,分别切分为与所述目标父操作切片对应的一个子操作切片;
串行子操作切片确定单元,用于如果确定分级数量为多个,且至少一个目标分级中仅包括唯一目标操作,则确定能将目标父操作切片切分为多个具有串行执行关系的子操作切片;
第二目标父操作切片切分单元,用于根据各所述唯一目标操作在所述目标父操作切片中的位置,将所述目标父操作切片切分得到多个子操作切片;
第二并行子操作切片确定单元,用于如果确定分级数量为多个,且每个目标分级内均包括多个目标操作,则确定能将目标父操作切片切分为多个具有并行执行关系的子操作切片;
起点操作获取单元,用于获取以最高分级级别的目标分级中的每个目标操作为起点操作;
目标操作获取单元,用于根据各目标操作的等待列表,在下级的目标分级内的各目标操作中分别获取与每个起点操作具有直接或者间接依赖关系的各目标操作,形成多个子操作切片;
目标父操作切片切分能力确定单元,用于如果确定分级数量唯一,且唯一的目标分级中仅包括唯一目标操作,则确定目标父操作切片不能切分为多个具有并行或串行执行关系的子操作切片;
关系记录单元,用于在对所述基准测试操作流进行切片的过程中,记录所切分得到的各个切片之间的父子切片关系以及串并行执行关系。
总体性能开销回溯模块440,可以包括:
总体性能开销计算单元,用于根据与每个目标操作切片分别对应的局部性能开销,以及预先记录的各个切片之间的父子切片关系以及串并行执行关系,回溯得到待测AI处理器针对基准测试操作流的总体性能开销;
其中,由同一父操作切片切分得到的各具有并行执行关系的各子操作切片对总体性能开销的贡献为各所述子操作切片的局部性能开销中的最大值;
由同一父操作切片切分得到的各具有串行执行关系的各子操作切片对总体性能开销的贡献为各所述子操作切片的局部性能开销的总和;
性能评估单元,用于根据所述总体性能开销,以及与所述基准测试匹配的参考性能开销,对待测AI处理器的处理器架构进行性能评估。
本发明实施例所提供的AI处理器的仿真装置可执行本发明任意实施例所提供的AI处理器的仿真方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括处理器510、存储器520、输入装置530和输出装置540;计算机设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;计算机设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种AI处理器的仿真方法对应的程序指令/模块(例如,一种AI处理器的仿真装置中的基准测试操作流获取模块410、目标操作切片切分模块420、局部操作仿真模块430和总体性能开销回溯模块440)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的一种AI处理器的仿真方法。也即,该程序被处理器执行时实现:
获取与待测AI处理器匹配的基准测试操作流;基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序;
根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,每个目标操作切片能够独立运行在一个处理器核心中;
将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销;
根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入,可以包括键盘和鼠标等。输出装置540可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述方法。当然,本发明实施例所提供的一种计算机可读存储介质,其可以执行本发明任意实施例提供的一种AI处理器的仿真方法中的相关操作。也即,该程序被处理器执行时实现:
获取与待测AI处理器匹配的基准测试操作流;基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序;
根据各操作间的操作执行顺序,将基准测试操作流切分为多个目标操作切片,每个目标操作切片能够独立运行在一个处理器核心中;
将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销;
根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(RandomAccess Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述AI处理器的仿真装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (14)

1.一种AI处理器的仿真方法,其特征在于,包括:
获取与待测AI处理器匹配的基准测试操作流;基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序;
根据各操作间的操作执行顺序建立依赖关系表,依赖关系表中分级记录操作间的依赖关系;后一分级中各操作的执行依赖前一分级中至少一个操作执行完成;查询所述依赖关系表,将基准测试操作流预切分为多个具有串行执行关系的父操作切片;
获取当前处理的目标父操作切片中包括的各目标操作,并获取依赖关系表中包括各目标操作的目标分级;统计各目标分级的分级数量,和/或每个目标分级中包括的目标操作的操作数量;根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片;
若是,则将每个父操作切片切分为匹配的多个子操作切片,并将各子操作切片确定为新的父操作切片,否则,将所述父操作切片确定为目标操作切片,直至完成对全部父操作切片的处理;每个目标操作切片能够独立运行在一个处理器核心中;
将各目标操作切片分别部署在各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销;
根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
2.根据权利要求1所述的方法,其特征在于,获取与待测AI处理器匹配的基准测试操作流,包括:
在基准测试集中选取基准测试,并根据待测AI处理器的处理器架构,生成与所选取的基准测试对应的基准测试操作流。
3.根据权利要求1所述的方法,其特征在于,根据各操作间的操作执行顺序建立依赖关系表,包括:
根据各操作间的操作执行顺序,确定与各操作分别对应的等待列表,等待列表中记录自身操作在执行前,需要等待执行完成的全部操作;
根据各操作的等待列表,建立所述依赖关系表。
4.根据权利要求3所述的方法,其特征在于,查询所述依赖关系表,将基准测试操作流预切分为多个具有串行执行关系的父操作切片,包括:
查询依赖关系表中仅包括单一操作的至少一个分级;
根据各所述单一操作在所述基准测试操作流中的位置,对所述基准测试操作流进行切分,得到多个具有串行执行关系的父操作切片。
5.根据权利要求3所述的方法,其特征在于,根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,包括:
如果确定分级数量唯一,且唯一的目标分级中包括多个目标操作,则确定能将目标父操作切片切分为多个具有并行执行关系的子操作切片;
将目标父操作切片切分为匹配的多个子操作切片,包括:
将所述目标父操作切片内的每个目标操作,分别切分为与所述目标父操作切片对应的一个子操作切片。
6.根据权利要求3所述的方法,其特征在于,根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,包括:
如果确定分级数量为多个,且至少一个目标分级中仅包括唯一目标操作,则确定能将目标父操作切片切分为多个具有串行执行关系的子操作切片;
将目标父操作切片切分为匹配的多个子操作切片,包括:
根据各所述唯一目标操作在所述目标父操作切片中的位置,将所述目标父操作切片切分得到多个子操作切片。
7.根据权利要求3所述的方法,其特征在于,根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,包括:
如果确定分级数量为多个,且每个目标分级内均包括多个目标操作,则确定能将目标父操作切片切分为多个具有并行执行关系的子操作切片;
将目标父操作切片切分为匹配的多个子操作切片,包括:
获取以最高分级级别的目标分级中的每个目标操作为起点操作;
根据各目标操作的等待列表,在下级的目标分级内的各目标操作中分别获取与每个起点操作具有直接或者间接依赖关系的各目标操作,形成多个子操作切片。
8.根据权利要求3所述的方法,其特征在于,根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片,包括:
如果确定分级数量唯一,且唯一的目标分级中仅包括唯一目标操作,则确定目标父操作切片不能切分为多个具有并行或串行执行关系的子操作切片。
9.根据权利要求1所述的方法,其特征在于,在完成对全部父操作切片的处理之后,还包括:
在对所述基准测试操作流进行切片的过程中,记录所切分得到的各个切片之间的父子切片关系以及串并行执行关系;
根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销,包括:
根据与每个目标操作切片分别对应的局部性能开销,以及预先记录的各个切片之间的父子切片关系以及串并行执行关系,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
10.根据权利要求9所述的方法,其特征在于:
由同一父操作切片切分得到的各具有并行执行关系的各子操作切片对总体性能开销的贡献为各所述子操作切片的局部性能开销中的最大值;
由同一父操作切片切分得到的各具有串行执行关系的各子操作切片对总体性能开销的贡献为各所述子操作切片的局部性能开销的总和。
11.根据权利要求2所述的方法,其特征在于,根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销之后,还包括:
根据所述总体性能开销,以及与所述基准测试匹配的参考性能开销,对待测AI处理器的处理器架构进行性能评估。
12.一种AI处理器的仿真装置,其特征在于,包括:
基准测试操作流获取模块,用于获取与待测AI处理器匹配的基准测试操作流;基准测试操作流包括多个操作,各操作间具有设定的操作执行顺序;
目标操作切片切分模块,用于根据各操作间的操作执行顺序建立依赖关系表,依赖关系表中分级记录操作间的依赖关系;后一分级中各操作的执行依赖前一分级中至少一个操作执行完成;查询所述依赖关系表,将基准测试操作流预切分为多个具有串行执行关系的父操作切片;
获取当前处理的目标父操作切片中包括的各目标操作,并获取依赖关系表中包括各目标操作的目标分级;统计各目标分级的分级数量,和/或每个目标分级中包括的目标操作的操作数量;根据分级数量,和/或操作数量,确定目标父操作切片能否切分为多个具有并行或串行执行关系的子操作切片;
若是,则将每个父操作切片切分为匹配的多个子操作切片,并将各子操作切片确定为新的父操作切片,否则,将所述父操作切片确定为目标操作切片,直至完成对全部父操作切片的处理;每个目标操作切片能够独立运行在一个处理器核心中;
局部操作仿真模块,用于将各目标操作切片分别部署在多核处理器中的各处理器核心中,并通过各处理器核心并行仿真得到与每个目标操作切片分别对应的局部性能开销;
总体性能开销回溯模块,用于根据与每个目标操作切片分别对应的局部性能开销,回溯得到待测AI处理器针对基准测试操作流的总体性能开销。
13.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-11任一项所述的方法。
CN202110669107.5A 2021-06-17 2021-06-17 Ai处理器的仿真方法、装置、计算机设备及存储介质 Active CN113128143B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110669107.5A CN113128143B (zh) 2021-06-17 2021-06-17 Ai处理器的仿真方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110669107.5A CN113128143B (zh) 2021-06-17 2021-06-17 Ai处理器的仿真方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN113128143A CN113128143A (zh) 2021-07-16
CN113128143B true CN113128143B (zh) 2021-09-28

Family

ID=76783030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110669107.5A Active CN113128143B (zh) 2021-06-17 2021-06-17 Ai处理器的仿真方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN113128143B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116501503B (zh) * 2023-06-27 2023-09-15 上海燧原科技有限公司 负载任务的架构映射方法、装置、计算机设备及介质
CN116501594B (zh) * 2023-06-27 2023-09-08 上海燧原科技有限公司 ***建模评估方法、装置、电子设备及存储介质
CN116501504B (zh) * 2023-06-27 2023-09-12 上海燧原科技有限公司 数据流的时空映射方法、装置、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265097A (ja) * 2006-03-29 2007-10-11 Fuji Xerox Co Ltd 粒子挙動解析方法および粒子挙動解析装置並びにプログラム
CN102681940A (zh) * 2012-05-15 2012-09-19 兰雨晴 一种针对Linux操作***内存管理子***进行性能测试的方法
CN103049310A (zh) * 2012-12-29 2013-04-17 中国科学院深圳先进技术研究院 一种基于采样的多核模拟并行加速方法
CN103077006A (zh) * 2012-12-27 2013-05-01 浙江工业大学 一种基于多线程的长事务并行执行方法
CN104516770A (zh) * 2014-12-31 2015-04-15 北京神舟航天软件技术有限公司 一种基于高速仿真的程序计算开销评估技术
CN106095654A (zh) * 2015-04-28 2016-11-09 瑞萨电子株式会社 性能验证装置、具有性能验证装置的***以及方法
CN108595334A (zh) * 2018-04-27 2018-09-28 刘尚国 一种计算Java程序动态切片的方法、装置及可读存储介质
CN112015382A (zh) * 2020-10-22 2020-12-01 北京燧原智能科技有限公司 一种处理器构架解析方法、装置、设备及储存介质
CN112434061A (zh) * 2020-08-25 2021-03-02 上海幻电信息科技有限公司 支持循环依赖的任务调度方法和***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370331B2 (en) * 2005-09-08 2008-05-06 International Business Machines Corporation Time slicing in a shared partition
US8117621B2 (en) * 2007-10-24 2012-02-14 International Business Machines Corporation Simulating a multi-queue scheduler using a single queue on a processor
US20180107510A1 (en) * 2016-10-19 2018-04-19 International Business Machines Corporation Operation of a multi-slice processor implementing instruction fusion
CN111914238A (zh) * 2020-06-23 2020-11-10 北京迈格威科技有限公司 图像测试方法、装置、计算机设备和存储介质
CN111914017A (zh) * 2020-08-13 2020-11-10 闻泰通讯股份有限公司 可视化图表操作方法、装置、电子设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265097A (ja) * 2006-03-29 2007-10-11 Fuji Xerox Co Ltd 粒子挙動解析方法および粒子挙動解析装置並びにプログラム
CN102681940A (zh) * 2012-05-15 2012-09-19 兰雨晴 一种针对Linux操作***内存管理子***进行性能测试的方法
CN103077006A (zh) * 2012-12-27 2013-05-01 浙江工业大学 一种基于多线程的长事务并行执行方法
CN103049310A (zh) * 2012-12-29 2013-04-17 中国科学院深圳先进技术研究院 一种基于采样的多核模拟并行加速方法
CN104516770A (zh) * 2014-12-31 2015-04-15 北京神舟航天软件技术有限公司 一种基于高速仿真的程序计算开销评估技术
CN106095654A (zh) * 2015-04-28 2016-11-09 瑞萨电子株式会社 性能验证装置、具有性能验证装置的***以及方法
CN108595334A (zh) * 2018-04-27 2018-09-28 刘尚国 一种计算Java程序动态切片的方法、装置及可读存储介质
CN112434061A (zh) * 2020-08-25 2021-03-02 上海幻电信息科技有限公司 支持循环依赖的任务调度方法和***
CN112015382A (zh) * 2020-10-22 2020-12-01 北京燧原智能科技有限公司 一种处理器构架解析方法、装置、设备及储存介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Adaptive scheduling Framework for Multi-core Systems based on Task-parallel Programming Model;Cao, Yangjie 等;《International Conference on Computer Science & Education》;20151231;第145-148页 *
pCOMPATS: Period-Compatible Task Allocation and Splitting on Multi-coreProcessors;Arvind Kandhalu 等;《2012 IEEE 18th Real Time and Embedded Technology and Applications Symposium》;20121231;第307-316页 *
基于与或依赖图的多Agent***任务分解算法;肖增良 等;《计算机工程与设计》;20090128;第30卷(第02期);第426-428页 *
实时***最差情况执行时间分析的研究;姬孟洛;《中国博士学位论文全文数据库信息科技辑》;20080615;第2008年卷(第6期);第I138-12页 *

Also Published As

Publication number Publication date
CN113128143A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
CN113128143B (zh) Ai处理器的仿真方法、装置、计算机设备及存储介质
US11995438B2 (en) System and method for software architecture redesign
CN113255264B (zh) 增量分割处理方法、装置、计算机设备和存储介质
CN109298868A (zh) 测绘影像数据处理软件智能动态部署及卸载方法
CN114124567A (zh) 基于大数据漏洞挖掘的云服务处理方法及人工智能***
CN113868120A (zh) 工业软件调试方法、装置、计算机设备和存储介质
CN112799785A (zh) 虚拟机集群迁移方法、装置、设备和介质
CN114157507A (zh) 采用大数据分析的云服务漏洞分析方法及人工智能***
CN117422031B (zh) Atpg***测试向量生成和精简的方法和装置
Alba Evolutionary algorithms for optimal placement of antennae in radio network design
CN116523045B (zh) 一种面向多芯粒芯片的深度学习推理模拟器
CN115904852A (zh) 一种用于数据处理器的自动化测试方法、设备及介质
CN114780967B (zh) 基于大数据漏洞挖掘的挖掘评估方法及ai漏洞挖掘***
CN115629883A (zh) 资源预测方法、装置、计算机设备及存储介质
CN115130043A (zh) 基于数据库的数据处理方法、装置、设备及存储介质
US20230021004A1 (en) Determining an improved technology environment for a software application
CN114143235A (zh) Nfv自动测试方法、装置、设备及存储介质
Zhang et al. A heuristic approach to break cycles for the class integration test order generation
CN109918129B (zh) 一种基于g核分解的软件关键函数识别方法
CN111198766A (zh) 数据库访问操作部署方法、数据库访问方法及装置
CN114443205A (zh) 故障分析方法、装置及非瞬时性计算机可读存储介质
Xu et al. Efficient supernet training using path parallelism
Hussain et al. A new hierarchical clustering technique for restructuring software at the function level
CN117827619B (zh) 异构算力的耗时预测仿真方法、装置、设备、介质及***
US11734146B2 (en) Analyzing performance metrics for improving technology environment of a software application

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant