CN114281558A - 多核处理器、用于多核处理器的方法及相应产品 - Google Patents
多核处理器、用于多核处理器的方法及相应产品 Download PDFInfo
- Publication number
- CN114281558A CN114281558A CN202011035366.4A CN202011035366A CN114281558A CN 114281558 A CN114281558 A CN 114281558A CN 202011035366 A CN202011035366 A CN 202011035366A CN 114281558 A CN114281558 A CN 114281558A
- Authority
- CN
- China
- Prior art keywords
- semaphore
- core
- instruction
- router
- controller
- 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.)
- Pending
Links
Images
Landscapes
- Advance Control (AREA)
Abstract
本披露公开了一种多核处理器、用于多核处理器的方法及相关产品。该多核处理器可以实现为计算装置包括在组合处理装置中,该组合处理装置还可以包括接口装置和其他处理装置。该计算装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与计算装置和其他处理装置连接,用于存储该计算装置和其他处理装置的数据。本披露的方案提供的多核处理器,可以通过信号量机制来有效实现多核之间的协同工作。
Description
技术领域
本披露涉及处理器领域,特别是涉及一种多核处理器、用于多核处理器的方法、芯片和板卡。
背景技术
随着计算机技术的发展,各种应用(诸如视频结构、广告推荐、智能翻译等)对机器的存储能力和计算能力要求越来越高。由于单核处理器已经不能满足应用的需求,出现了各种各样的多核处理器系统。多核处理器系统的一个关键问题是多个核之间的协同工作。因此,如何基于多核结构来实现核间的工作协同是急需解决的问题。
发明内容
为了解决如上所提到的一个或多个技术问题,本披露在多个方面中提供了一种多核处理器以及用于多核处理器的方法,其中通过信号量机制来实现多个核之间的协同操作。通过本披露的多核处理器以及相应的方法,可以解决多核之间的进程同步、互斥等问题。
在第一方面中,本披露提供一种多核处理器,包括多个核以及信号量控制器,其中每个核配置用于:响应于第一信号量操作,向信号量控制器发送信号量指令;从信号量控制器接收来自其他核的信号量指令;以及基于信号量指令,维护各个核的信号量计数;并且信号量控制器配置用于:从所述核接收所述信号量指令;以及向相关的核转发所述信号量指令。
在第二方面中,本披露提供一种芯片,该芯片内封装有如前述第一方面任一实施例的多核处理器。
在第三方面中,本披露提供一种板卡,包括前述第二方面任一实施例的芯片或前述第一方面任一实施例的多核处理器。
在第四方面中,本披露提供一种用于多核处理器的方法,其中多核处理器包括多个核以及信号量控制器。该方法包括:多个核中的第一核响应于第一信号量操作,向信号量控制器发送信号量指令;信号量控制器从第一核接收信号量指令并向相关的一个或多个第二核转发该信号量指令;以及第二核响应于接收到所述信号量指令,维护与所述第一核关联的信号量计数。
通过如上所提供的多核处理器、用于多核处理器的方法、芯片和板卡,本披露实施例通过信号量来保证多核处理器中多个核之间的协同工作,有利于多核处理器任务的灵活调度,以及处理效率的提升。
附图说明
通过参考附图阅读下文的详细描述,本披露示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本披露的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
图1示出可以应用本披露实施例的多核处理器的示例性结构图;
图2示出处理器核的示例性内部架构图;
图3A-图3D示出根据本披露实施例的多核处理器的示意性结构框图;
图4A-图4B示出根据本披露实施例的用于多核处理器的方法的示意性流程图;
图5示出根据本披露实施例的一种组合处理装置的结构图;以及
图6示出根据本披露实施例的一种板卡的结构示意图。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
应当理解,本披露的权利要求、说明书及附图中可能使用的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合附图来详细描述本公开的具体实施方式。
图1示出可以应用本披露实施例的多核处理器的示例性结构图。多核处理器100用以处理计算机视觉、语音、自然语言、数据挖掘等输入数据。图1中的多核处理器100采用多核分层结构设计,多核处理器100可以实现在一个或多个裸片(Die)上,每个裸片作为一个片上系统,可以包括多个集群(Cluster),每个集群又包括多个核(Core)。换言之,多核处理器100是以片上系统-集群-核的层次所构成的。
以片上系统的层级来看,如图1所示,裸片可以有一个或多个,在图中示例性地展示2个。在每个裸片上,多核处理器100包括外部存储控制器111、外设通信模块112、片上互联模块113以及多个集群115。裸片之间通过D2D模块116进行通信。
外部存储控制器111可以有多个,在图中示例性地展示2个,其用以响应处理器核发出的访问请求,访问外部存储设备(例如DRAM),从而自片外读取数据或是将数据写入。外设通信模块112用以通过接口装置(未示出)接收来自处理装置(未示出)的控制信号,启动多核处理器100执行任务。片上互联模块113将外部存储控制器111、外设通信模块112及多个集群115连接起来,用以在各个模块间传输数据和控制信号。多个集群115是多核处理器100的计算核心,在图中示例性地展示每个裸片上4个,随着硬件的发展,本披露的多核处理器100还可以包括8个、16个、64个、甚至更多的集群115。集群115用以高效地执行深度学习算法。
以集群的层级来看,如图1所示,每个集群115包括多个处理器核(IPU core)121及一个存储核(MEM core)122。
处理器核121在图中示例性地展示4个,本披露不限制处理器核121的数量。
存储核122主要用以存储和通信,即存储处理器核121间的共享数据或中间结果、以及执行集群115与DRAM 127之间的通信、集群115间彼此的通信、处理器核121间彼此的通信等。在其他实施例中,存储核122具有标量运算的能力,用以执行标量运算。
存储核122包括共享存储单元(SMEM)124、广播总线123、集群直接内存访问模块(cluster direct memory access,CDMA)126及全局直接内存访问模块(global directmemory access,GDMA)125。SMEM 124承担高性能数据中转站的角色,在同一个集群115内不同处理器核121之间所复用的数据不需要通过处理器核121各自向DRAM 127获得,而是经SMEM 124在处理器核121间中转,存储核122只需要将复用的数据从SMEM 124迅速分发给多个处理器核121即可,以提高核间通讯效率,亦大大减少片上片外的输入/输出访问。广播总线123、CDMA 126及GDMA125则分别用来执行处理器核121间的通信、集群115间的通信和集群115与DRAM 127的数据传输。以下将分别说明。
广播总线123用以完成集群115内各处理器核121间的高速通信,此实施例的广播总线123支持核间通信方式包括单播、多播与广播。单播是指点对点(即单一处理器核至单一处理器核)的数据传输,多播是将一份数据从SMEM 124传输到特定几个处理器核121的通信方式,而广播则是将一份数据从SMEM 124传输到所有处理器核121的通信方式,属于多播的一种特例。
CDMA 126用以控制在同一个多核处理器100内不同集群115间的SMEM 124的访存。
GDMA 125与外部存储控制器111协同,用以控制集群115的SMEM 124到DRAM 127的访存,或是将数据自DRAM 127读取至SMEM 124中。
图2示出处理器核121的示例性内部架构图。如图2所示,处理器核121可以包括三大模块:控制模块21、运算模块22及存储模块23。
控制模块21用以协调并控制运算模块22和存储模块23的工作,以完成深度学习的任务,其包括取指单元(instruction fetch unit,IFU)211及指令译码单元(instructiondecode unit,IDU)212。取指单元211用以获取来自处理装置(未示出)的指令,指令译码单元212则将获取的指令进行译码,并将译码结果作为控制信息发送给运算模块22和存储模块23。
运算模块22包括向量运算单元221及矩阵运算单元222。向量运算单元221用以执行向量运算,可支持向量乘、加、非线性变换等复杂运算;矩阵运算单元222负责深度学习算法的核心计算,例如矩阵乘和卷积。
存储模块23用来存储或搬运相关数据,包括神经元存储单元(neuron RAM,NRAM)231、权值存储单元(weight RAM,WRAM)232、输入/输出直接内存访问模块(input/outputdirect memory access,IODMA)233、搬运直接内存访问模块(move direct memoryaccess,MVDMA)234。NRAM 231用以存储供处理器核121计算的输入、输出数据及中间结果;WRAM 232则用以存储深度学习网络的权值;IODMA 233通过广播总线123(见图1)控制NRAM231/WRAM 232与DRAM 127的访存;MVDMA 234则用以控制NRAM 231/WRAM 232与SMEM 124的访存。
在一些实施例中,GDMA 125(见图1)的功能和IODMA 233(见图2)的功能可以整合在同一部件中。本披露为了方便描述,将GDMA 125和IODMA 233视为不同部件,对于本领域技术人员来说,只要其实现的功能以及达到的技术效果与本披露类似,即属于本披露的保护范围。进一步地,GDMA 125的功能、IODMA 233的功能、CDMA 126的功能、MVDMA 234的功能亦可以由同一部件来实现,同样地,只要其实现的功能以及达到的技术效果与本披露类似,均属于本披露的保护范围。
在多核处理器中,多个进程可以在多个核上同时运行,并且一些进程之间可能存在一定的关联。多个进程可能为了完成同一个任务会相互协作,这样形成进程之间的同步关系。而在不同进程之间,为了争夺有限的系统资源(硬件或软件资源)会进入竞争状态,从而形成进程之间的互斥关系。信号量是用来解决进程之间的同步与互斥问题的一种进程之间的通信机制。基于前述多核处理器架构,本披露实施例提供了一种应用于多核处理器的信号量机制。
图3A示出根据本披露一个实施例的多核处理器的结构示意图。如图3A所示,多核处理器310包括多个(图中示出5个)核31和信号量控制器32。这些核31可以是前面描述的处理器核或存储核。信号量控制器32用于处理或控制与这些核相关的信号量信令。
信号量通常包括一个称为信号量的变量和与该信号量关联的计数。信号量可以对应于某一种资源,例如内存、代码等。信号量计数可以指示当前可用的该资源的数量。在一种实现中,信号量计数等于零(0)则意味着目前没有可用的资源;信号量计数为非零的正整数,则指示该资源当前可用。
在计算机领域,同步是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程会一直等待下去,直到收到返回信息才继续执行下去。在进程同步上,一个经典问题是生产者消费者问题,其中生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生成数据,而消费者取走数据。
采用生产者消费者这种模型,信号量操作也可以分为生产者(Producer)端操作和消费者(Consumer)端操作。核31在执行不同的信号量操作时会相应地采取不同的动作。
在一个实施例中,核31可以配置用于:响应于第一信号量操作,向信号量控制器32发送信号量指令。
当核31在执行指令时,可能会遇到信号量操作。第一信号量操作可以是生产者端操作,此时作为生成者端的核31可以向各个相关的、作为消费者端的核传递信号量指令,以指示同步事件。例如,第二核(消费者)需要从存储空间读取第一核(生产者)产生的信息。当第一核产生信息放入存储空间后,需要通知第二核。此时,第一核31可以生成信号量指令并发送给关联的信号量控制器32。
在一些实施例中,信号量指令可以包括作为生产者端的核的标识信息以及指示同步对象的信息。在上述示例中,同步对象例如是第二核。本领域技术人员可以理解,同步对象可以包括一个或多个核,本披露在此方面没有限制。表1示出了信号量指令中包括的部分信息。
表1
同步对象 | 生产者标识 |
在一些实现中,同步对象可以通过位图来指示。例如,对于图3A所示的多核处理器,由于存在5个核,因此可以采用5比特的位图来指示同步对象。此处的位图可以是逻辑位图。生产者标识用于标识发起该信号量指令的核,可以是逻辑核ID。例如,对于图3A所示的多核处理器,可以采用3比特来标识这5个核中的每个核。本披露实施例对于信号量指令的具体实现没有限制。
信号量控制器32可以配置用于:从核31接收信号量指令;以及向相关的核31转发信号量指令。具体地,信号量控制器32可以根据信号量指令中指示同步对象的信息,确定同步对象的地址,并向该同步对象转发信号量指令。
在一些实现中,信号量控制器32从核31接收到的信号量指令使用逻辑位图来指示同步对象。此时,信号量控制器32可以根据系统配置映射关系,将逻辑位图映射成物理位图,然后根据同步对象的物理位置转发信号量指令。
当核是消费者时,可选地或附加地,核31还可以配置用于从信号量控制器32接收来自其他核的信号量指令;以及基于接收到的信号量指令,维护各个核的信号量计数。
以前面提到的第二核(消费者)需要从存储空间读取第一核(生产者)产生的信息为例。当第一核产生信息放入存储空间后,以信号量指令的方式通知第二核。此时,第二核可以从信号量控制器32接收到该信号量指令,并基于该信号量指令,在其本地维护的信号量计数中相应地更新与第一核相关的信号量计数,以记录同步事件。例如,可以将相关的信号量计数加1,以表示资源可用。
当核是消费者时,可选地或附加地,核31还可以配置成响应于第二信号量操作,查询本地所维护的信号量计数;以及基于所查询的信号量计数,确定是否已完成同步。
进一步地,核31可以配置成:若与第二信号量操作相关的信号量计数满足预定条件,则确定已完成同步并继续执行后续操作;否则,等待来自信号量控制器的信号量指令。
仍以前面提到的第二核(消费者)需要从存储空间读取第一核(生产者)产生的信息为例。当第二核(消费者)执行到第二信号量操作时,该第二信号量操作例如是消费者端操作,其例如在读取第一核放在存储空间的数据的指令之前执行,此时第二核可以查询本地维护的与第一核相关的信号量计数以判断是否已完成同步。
如果此时已经收到过第一核发送的信号量指令,则相关的信号量计数为非零(例如,1),表示第一核已经将数据存放在存储空间,由此可以确定同步已完成,从而继续执行后续操作,例如读取存储空间中的该数据。
如果此时尚未收到第一核发送的信号量指令,则相关的信号量计数为零(例如,初始化为0),则可以确定尚未完成同步,需要等待第一核的同步事件。换言之,此时存储空间是空的,第二核因为读取不到数据而被阻塞,直到第一核产生数据并放入存储空间后,才会被第一核的信号量信令唤醒。
在一些实施例中,同步对象可以包括多个,因此,确定是否已完成同步的预定条件可以是同步对象相关的信号量计数全部非零。
由此,通过上面结合图3A的多核处理器描述的信号量机制,可以实现多进程之间的协同工作。
图3B示出根据本披露另一实施例的多核处理器的结构示意图。如图3B所示,多核处理器320包括多个(图中示出10个)核31,这些核分布在不同的集群内。图3B中示例性示出两个集群:集群0和集群1。每个集群包括例如5个核31以及一个信号量控制器32,该信号量控制器32用于处理与其所在集群内的核相关的信号量指令。
多核处理器320还包括信号量路由器33,用于在不同集群的信号量控制器32之间传递信号量指令。
在图3B所示的多核处理器中,单个信号量控制器32所负责的核数量有限,有些核之间的信号量指令需要通过信号量路由器33进行转发。在此架构下,信号量控制器32可以进一步配置成基于信号量指令中指示同步对象的信息,确定转发信号量指令的路径。例如,基于同步对象的地址,判断是向内转发还是向外(信号量路由器33)转发。
可选地或附加地,在一些实现中,信号量控制器32还可以在信号量指令中添加当前所在集群的标识,例如逻辑集群ID。由此,通过核所位于的集群的标识和核在该集群中的标识,可以在多个集群中唯一地识别该核(也即,作为生产者端的核)。
信号量路由器33可以配置成基于接收到的信号量指令中指示同步对象的信息,确定转发该信号量指令的路径。具体地,信号量路由器33可以提取信号量指令中的物理位图,从而确定要转发的路径。
通过引入信号量路由器33,位于不同集群的任意核之间都可以建立信号量,从而方便进程的协同工作。
图3C示出根据本披露又一实施例的多核处理器的结构示意图。如图3C所示,多核处理器330包括多个(图中示出20个)核31,这些核分布在不同的集群内。图中示例性示出四个集群:集群0、集群1、集群2和集群3。每个集群包括例如5个核31以及一个信号量控制器32,该信号量控制器32用于处理与其所在集群内的核相关的信号量指令。
在不同集群的信号量控制器32之间,可以经由一级或多级信号量路由器来实现信号量指令在任意两个核之间的路由。具体地,图3C中示出了三个信号量路由器,这些信号量路由器按其所处层级可以分为低级信号量路由器(例如图3C中的2个0级信号量路由器33)和高级信号量路由器(例如图3C中的1个1级信号量路由器34)。
低级信号量路由器33用于在部分集群的信号量控制器之间传递信号量指令。例如图3C中左边的0级信号量路由器33可以在集群0和集群1的信号量控制器32之间直接传递信号量指令;图3C中右边的0级信号量路由器33可以在集群2和集群3的信号量控制器32之间直接传递信号量指令。低级信号量路由器33可以直接连接到其所负责的集群的信号量控制器32。
高级信号量路由器34用于在低级信号量路由器之间传递信号量指令。若信号量指令的目的地不在低级信号量路由器直接负责的集群内,则需要经由高级信号路由器34进行转发,以传递到目的地低级信号量路由器,再传递到目的地集群内的信号量控制器。例如,对于源头为图3C中集群0或集群1中的核、目的地为集群2或集群3中的核的信号量指令,其传递路径需要经过左边的0级信号量路由器33、中间的1级信号量路由器34以及右边的0级信号量路由器33,再到相应的信号量控制器32,以传递给目标核。
本领域技术人员可以理解,取决于多核处理器330中核的数量和分布以及集群的数量和分布,可以存在更多级别的信号量路由器,本披露实施例在此方面没有限制。通过采用多级信号量路由器的方案,可以加速部分集群之间的信号量指令的传递,因此通过将同一任务尽可能分布在相邻集群的核上进行处理,可以更快速地进行进程之间的协同工作。
图3D示出根据本披露再一实施例的多核处理器的结构示意图。如图3D所示,多核处理器340包括多个(图中示出40个)核31,这些核分布在不同的集群内,并且这些集群分布在不同的裸片上。图中示例性示出八个集群,分布在2个裸片上:裸片0和裸片1。每个裸片上布置有四个集群:集群0、集群1、集群2和集群3。每个集群包括例如5个核31以及一个信号量控制器32,该信号量控制器32用于处理与其所在集群内的核相关的信号量指令。每个裸片上还布置有前述低级信号量路由器(例如,2个0级信号量路由器33)和高级信号量路由器(例如,1个1级信号量路由器34)。各个裸片上的高级信号路由器34之间经由D2D模块36进行相互通信。
高级信号量路由器34除了在自身所在的裸片上的低级信号量路由器33之间传递信号量指令之外,进一步还可以在不同裸片的高级信号量路由器之间传递信号量指令,从而实现跨裸片的两个核之间的信号量指令传递。
例如,对于源头为图3D中裸片0上的集群0中的核、目的地为裸片1上集群2中的核的信号量指令,其传递路径需要经过裸片0上左边的0级信号量路由器33、中间的1级信号量路由器34,再到裸片1上中间的1级信号量路由器34、右边的0级信号量路由器33,再到相应的信号量控制器32,以传递给目标核。
本领域技术人员可以理解,取决于多核处理器340中核的数量和分布、集群的数量和分布以及裸片的数量和分布,可以存在更多级别的信号量路由器,本披露实施例在此方面没有限制。通过采用多级信号量路由器的方案,可以实现不同裸片上的任意两个核之间的信号量指令的传递,从而方便进程的分发和协同工作。
在一些实施例中,各个信号量路由器可以进一步配置成优先转发目的地更远的信号量指令。由于在各级信号量路由器中优选转发更远端的指令,因此可以保证远端通路不被反压而引起通路拥塞。
在一些实施例中,各级信号量路由器可以进一步配置成基于转发目的地信号量路由器或信号量控制器所控制的核的数量,缩减信号量指令中用于指示同步对象的比特数。
如前面所提到的,同步对象可以通过位图来指示。在图3D所示的多核处理器中,存在40个核,因此需要使用40个比特。但是在路由转发时,每个信号量路由器和/或信号量控制器所能覆盖或控制的核的数量是有限的,因此可以适当缩减位图使用的比特数,从而压缩报文,节省带宽。
例如,以图3D所示的多核处理器为例,当在两个1级信号量路由器34之间跨裸片转发时,可以将指示同步对象的位图裁剪一半。也即,位图只需要使用20个比特来指示同步对象。
进一步地,当在裸片内部转发时,例如从1级信号量路由器34转发到0级信号量路由器33时,根据该0级信号量路由器33所覆盖的两个集群,共计10个核,可以将指示同步对象的位图进一步裁剪一半。也即,位图只需要使用10个比特来指示同步对象。
可选地或附加地,当在裸片内部,例如从0级信号量路由器33向信号量控制器32转发时,根据该信号量控制器所覆盖的核的数量(例如,5个),可以将指示同步对象的位图进一步裁剪一半。也即,位图只需要使用5个比特来指示同步对象。
以上描述了本披露实施例提供的各种示例性多核处理器结构,其通过引入信号量处理器、信号路由器等电路模块,可以在多核处理器的位于同一集群、不同集群、或不同裸片上的任意两个核之间实现信号量机制,从而有助于多进程之间的协同工作。
图4A示例性示出了应用于本披露实施例的多核处理器的方法。多核处理器例如可以是前面参考图3A-图3B描述的示例性多核处理器,其包括多个核以及至少一个信号量控制器。方法400A示出了应用于多核处理器、由于生产者端引起的信号量事件而执行的方法流程。
如图4A所示,方法400A可以包括步骤S410,多个核中的第一核响应于第一信号量操作,向信号量控制器发送信号量指令。
第一信号量操作例如可以是生产者端操作,此时,信号量指令包括作为生产者端的第一核的标识信息以及指示同步对象的信息。
接着,在步骤S420,信号量控制器从第一核接收信号量指令并向相关的一个或多个第二核转发该信号量指令。
具体地,信号量控制器可以基于信号量指令中指示作为同步对象的第二核的信息,确定向第二核转发信号量指令的路径。
在一些实施例中,当第二核与第一核位于不同集群时,信号量控制器经由一级或多级信号量路由器向第二核转发该信号量指令。
在一些实施例中,当第二核与第一核位于不同裸片上的不同集群时,信号量控制器经由高级信号量路由器向第二核所位于的裸片上的高级信号路由器转发该信号量指令,以进一步转发至第二核。
在一些实施例中,信号量路由器在转发信号量指令期间优先转发目的地更远的信号量指令。
在一些实施例中,信号量路由器在转发信号量指令之前,基于转发目的地信号量路由器或信号量控制器所控制的核的数量,缩减该信号量指令中用于指示同步对象的比特数。
最后,在步骤S430,第二核响应于从信号量控制器接收到信号量指令,维护与第一核关联的信号量计数。
上面描述了由于生产者端引起的信号量事件的处理过程。
图4B示例性示出了应用于本披露实施例的多核处理器的方法。多核处理器例如可以是前面参考图3A-图3B描述的示例性多核处理器,其包括多个核以及至少一个信号量控制器。方法400B示出了应用于多核处理器、由于消费者端引起的信号量事件而执行的方法流程。
如图4B所示,方法400B包括步骤S440,作为消费者的第二核响应于第二信号量操作,查询本地所维护的信号量计数。
接着,在步骤S450,基于所查询的信号量计数,确定是否已完成同步。
第二信号量操作例如是消费者端操作,此时,基于信号量计数,确定是否已完成同步可以进一步包括:
若与第二信号量操作相关的信号量计数满足预定条件,则确定已完成同步并继续执行后续操作;否则,等待来自信号量控制器的信号量指令。
上面已经参考流程图描述了本披露实施例的应用于多核处理器的信号量机制。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本披露并不受所描述的动作顺序的限制,因为依据本披露,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本披露所必须的。
进一步需要说明的是,虽然图4A和图4B的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4A和图4B中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图5是示出根据本披露实施例的一种组合处理装置500的结构图。如图5中所示,该组合处理装置500包括计算处理装置502、接口装置504、其他处理装置506和存储装置508。根据不同的应用场景,计算处理装置中可以包括一个或多个计算装置510,该计算装置可以配置成图3A-图3D所示的多核处理器,用于在其上实施本文结合图4A-图4B所描述的操作。
在不同的实施例中,本披露的计算处理装置可以配置成执行用户指定的操作。在示例性的应用中,该计算处理装置可以实现为多核人工智能处理器。类似地,包括在计算处理装置内的一个或多个计算装置可以实现为人工智能处理器核或者人工智能处理器核的部分硬件结构。当多个计算装置实现为人工智能处理器核或人工智能处理器核的部分硬件结构时,就本披露的计算处理装置而言,其可以视为具有同构多核结构。
在示例性的操作中,本披露的计算处理装置可以通过接口装置与其他处理装置进行交互,以共同完成用户指定的操作。根据实现方式的不同,本披露的其他处理装置可以包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics ProcessingUnit,GPU)、人工智能处理器等通用和/或专用处理器中的一种或多种类型的处理器。这些处理器可以包括但不限于数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,并且其数目可以根据实际需要来确定。如前所述,仅就本披露的计算处理装置而言,其可以视为具有同构多核结构。然而,当将计算处理装置和其他处理装置共同考虑时,二者可以视为形成异构多核结构。
在一个或多个实施例中,该其他处理装置可以作为本披露的计算处理装置(其可以具体化为人工智能例如神经网络运算的相关运算装置)与外部数据和控制的接口,执行包括但不限于数据搬运、对计算装置的开启和/或停止等基本控制。在另外的实施例中,其他处理装置也可以和该计算处理装置协作以共同完成运算任务。
在一个或多个实施例中,该接口装置可以用于在计算处理装置与其他处理装置间传输数据和控制指令。例如,该计算处理装置可以经由所述接口装置从其他处理装置中获取输入数据,写入该计算处理装置片上的存储装置(或称存储器)。进一步,该计算处理装置可以经由所述接口装置从其他处理装置中获取控制指令,写入计算处理装置片上的控制缓存中。替代地或可选地,接口装置也可以读取计算处理装置的存储装置中的数据并传输给其他处理装置。
附加地或可选地,本披露的组合处理装置还可以包括存储装置。如图中所示,该存储装置分别与所述计算处理装置和所述其他处理装置连接。在一个或多个实施例中,存储装置可以用于保存所述计算处理装置和/或所述其他处理装置的数据。例如,该数据可以是在计算处理装置或其他处理装置的内部或片上存储装置中无法全部保存的数据。
在一些实施例里,本披露还公开了一种芯片(例如图6中示出的芯片602)。在一种实现中,该芯片是一种系统级芯片(System on Chip,SoC),并且集成有一个或多个如图5中所示的组合处理装置。该芯片可以通过对外接口装置(如图6中示出的对外接口装置606)与其他相关部件相连接。该相关部件可以例如是摄像头、显示器、鼠标、键盘、网卡或wifi接口。在一些应用场景中,该芯片上可以集成有其他处理单元(例如视频编解码器)和/或接口模块(例如DRAM接口)等。在一些实施例中,本披露还公开了一种芯片封装结构,其包括了上述芯片。在一些实施例里,本披露还公开了一种板卡,其包括上述的芯片封装结构。下面将结合图6对该板卡进行详细地描述。
图6是示出根据本披露实施例的一种板卡600的结构示意图。如图6中所示,该板卡包括用于存储数据的存储器件604,其包括一个或多个存储单元610。该存储器件可以通过例如总线等方式与控制器件608和上文所述的芯片602进行连接和数据传输。进一步,该板卡还包括对外接口装置606,其配置用于芯片(或芯片封装结构中的芯片)与外部设备612(例如服务器或计算机等)之间的数据中继或转接功能。例如,待处理的数据可以由外部设备通过对外接口装置传递至芯片。又例如,所述芯片的计算结果可以经由所述对外接口装置传送回外部设备。根据不同的应用场景,所述对外接口装置可以具有不同的接口形式,例如其可以采用标准PCIE接口等。
在一个或多个实施例中,本披露板卡中的控制器件可以配置用于对所述芯片的状态进行调控。为此,在一个应用场景中,该控制器件可以包括单片机(Micro ControllerUnit,MCU),以用于对所述芯片的工作状态进行调控。
根据上述结合图5和图6的描述,本领域技术人员可以理解本披露也公开了一种电子设备或装置,其可以包括一个或多个上述板卡、一个或多个上述芯片和/或一个或多个上述组合处理装置。
根据不同的应用场景,本披露的电子设备或装置可以包括服务器、云端服务器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、PC设备、物联网终端、移动终端、手机、行车记录仪、导航仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。本披露的电子设备或装置还可以被应用于互联网、物联网、数据中心、能源、交通、公共管理、制造、教育、电网、电信、金融、零售、工地、医疗等领域。进一步,本披露的电子设备或装置还可以用于云端、边缘端、终端等与人工智能、大数据和/或云计算相关的应用场景中。在一个或多个实施例中,根据本披露方案的算力高的电子设备或装置可以应用于云端设备(例如云端服务器),而功耗小的电子设备或装置可以应用于终端设备和/或边缘端设备(例如智能手机或摄像头)。在一个或多个实施例中,云端设备的硬件信息和终端设备和/或边缘端设备的硬件信息相互兼容,从而可以根据终端设备和/或边缘端设备的硬件信息,从云端设备的硬件资源中匹配出合适的硬件资源来模拟终端设备和/或边缘端设备的硬件资源,以便完成端云一体或云边端一体的统一管理、调度和协同工作。
需要说明的是,为了简明的目的,本披露将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本披露的方案并不受所描述的动作的顺序限制。因此,依据本披露的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本披露所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本披露某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本披露对一些实施例的描述也各有侧重。鉴于此,本领域技术人员可以理解本披露某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。
在具体实现方面,基于本披露的公开和教导,本领域技术人员可以理解本披露所公开的若干实施例也可以通过本文未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,本文在考虑了逻辑功能的基础上对其进行划分,而实际实现时也可以有另外的划分方式。又例如,可以将多个单元或组件结合或者集成到另一个系统,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。在一些场景中,前述的直接或间接耦合涉及利用接口的通信连接,其中通信接口可以支持电性、光学、声学、磁性或其它形式的信号传输。
在本披露中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本披露实施例所述方案的目的。另外,在一些场景中,本披露实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。
在一些实现场景中,上述集成的单元可以采用软件程序模块的形式来实现。如果以软件程序模块的形式实现并作为独立的产品销售或使用时,所述集成的单元可以存储在计算机可读取存储器中。基于此,当本披露的方案以软件产品(例如计算机可读存储介质)的形式体现时,该软件产品可以存储在存储器中,其可以包括若干指令用以使得计算机设备(例如个人计算机、服务器或者网络设备等)执行本披露实施例所述方法的部分或全部步骤。前述的存储器可以包括但不限于U盘、闪存盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在另外一些实现场景中,上述集成的单元也可以采用硬件的形式实现,即为具体的硬件电路,其可以包括数字电路和/或模拟电路等。电路的硬件结构的物理实现可以包括但不限于物理器件,而物理器件可以包括但不限于晶体管或忆阻器等器件。鉴于此,本文所述的各类装置(例如计算装置或其他处理装置)可以通过适当的硬件处理器来实现,例如CPU、GPU、FPGA、DSP和ASIC等。进一步,前述的所述存储单元或存储装置可以是任意适当的存储介质(包括磁存储介质或磁光存储介质等),其例如可以是可变电阻式存储器(Resistive Random Access Memory,RRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、增强动态随机存取存储器(Enhanced Dynamic Random Access Memory,EDRAM)、高带宽存储器(High Bandwidth Memory,HBM)、混合存储器立方体(Hybrid Memory Cube,HMC)、ROM和RAM等。
依据以下条款可更好地理解前述内容:
条款1.一种多核处理器,包括多个核以及信号量控制器,其中:
每个核配置用于:
响应于第一信号量操作,向信号量控制器发送信号量指令;
从所述信号量控制器接收来自其他核的信号量指令;以及
基于所述信号量指令,维护各个核的信号量计数;并且
所述信号量控制器配置用于:
从所述核接收所述信号量指令;以及
向相关的核转发所述信号量指令。
条款2.根据条款1所述的多核处理器,其中所述多个核分布在不同集群内,每个集群包括一个所述信号量控制器,每个信号量控制器配置用于处理与其集群内的核相关的信号量指令;并且
所述多核处理器还包括信号量路由器,配置用于在各个信号量控制器之间传递所述信号量指令。
条款3.根据条款2所述的多核处理器,其中所述信号量路由器包括:
多个低级信号量路由器,其配置用于在部分集群的信号量控制器之间传递所述信号量指令;以及
一个或多个高级信号量路由器,其配置用于在所述低级信号量路由器之间传递所述信号量指令。
条款4.根据条款3所述的多核处理器,其中所述多个集群分布在不同裸片上,每个裸片上布置有所述低级信号量路由器和高级信号量路由器;并且
所述高级信号量路由器进一步配置用于:在不同裸片的高级信号量路由器之间传递所述信号量指令。
条款5.根据条款2-4任一所述的多核处理器,其中所述第一信号量操作为生产者端操作,并且所述信号量指令包括作为所述生产者端的所述核的标识信息以及指示同步对象的信息。
条款6.根据条款5所述的多核处理器,其中所述核的标识信息包括所述核所位于的集群的标识以及所述核在所述集群中的标识。
条款7.根据条款5-6任一所述的多核处理器,其中:
所述信号量控制器进一步配置用于:基于所述信号量指令中指示同步对象的信息,确定转发所述信号量指令的路径。
条款8.根据条款5-7任一所述的多核处理器,其中:
所述信号量路由器进一步配置用于:基于接收到的信号量指令中指示同步对象的信息,确定转发所述信号量指令的路径。
条款9.根据条款8所述的多核处理器,其中:
所述信号量路由器进一步配置用于:优先转发目的地更远的信号量指令。
条款10.根据条款8-9任一所述的多核处理器,其中:
所述信号量路由器进一步配置用于:基于转发目的地信号量路由器或信号量控制器所控制的核的数量,缩减所述信号量指令中用于指示同步对象的比特数。
条款11.根据条款5-10任一所述的多核处理器,其中所述同步对象通过位图来指示。
条款12.根据条款1-11任一所述的多核处理器,其中,所述核进一步配置用于:
响应于第二信号量操作,查询本地所维护的信号量计数;以及
基于所述信号量计数,确定是否已完成同步。
条款13.根据条款12所述的多核处理器,其中,所述第二信号量操作是消费者端操作,并且所述核进一步配置用于:
若与所述第二信号量操作相关的所述信号量计数满足预定条件,则确定已完成同步并继续执行后续操作;否则,等待来自所述信号量控制器的信号量指令。
条款14.一种芯片,其特征在于,所述芯片内封装有如条款1-13任一所述的多核处理器。
条款15.一种板卡,其特征在于,所述板卡包括条款14所述的芯片或如条款1-13任一所述的多核处理器。
条款16.一种用于多核处理器的方法,其中所述多核处理器包括多个核以及信号量控制器,所述方法包括:
所述多个核中的第一核响应于第一信号量操作,向所述信号量控制器发送信号量指令;
所述信号量控制器从所述第一核接收所述信号量指令并向相关的一个或多个第二核转发所述信号量指令;以及
所述第二核响应于接收到所述信号量指令,维护与所述第一核关联的信号量计数。
条款17.根据条款16所述的方法,其中所述信号量控制器向第二核转发所述信号量指令包括:
基于所述信号量指令中指示作为同步对象的第二核的信息,确定向所述第二核转发所述信号量指令的路径。
条款18.根据条款17所述的方法,其中当所述第二核与所述第一核位于不同集群时,所述信号量控制器向第二核转发所述信号量指令还包括:
经由一级或多级信号量路由器向所述第二核转发所述信号量指令。
条款19.根据条款18所述的方法,其中当所述第二核与所述第一核位于不同裸片上的不同集群时,所述信号量控制器向第二核转发所述信号量指令还包括:
经由高级信号量路由器向所述第二核所位于的裸片上的高级信号路由器转发所述信号量指令。
条款20.根据条款18-19任一所述的方法,其中所述信号量路由器在转发所述信号量指令期间优先转发目的地更远的信号量指令。
条款21.根据条款18-20任一所述的方法,其中所述信号量路由器在转发所述信号量指令之前,基于转发目的地信号量路由器或信号量控制器所控制的核的数量,缩减所述信号量指令中用于指示同步对象的比特数。
条款22.根据条款16-21任一所述的方法,其中所述第一信号量操作为生产者端操作,并且所述信号量指令包括作为所述生产者端的所述核的标识信息以及指示同步对象的信息。
条款23.根据条款16-22任一所述的方法,其中,所述方法还包括:
所述第二核响应于第二信号量操作,查询本地所维护的信号量计数;以及
基于所述信号量计数,确定是否已完成同步。
条款24.根据条款23所述的方法,其中,所述第二信号量操作是消费者端操作,并且所述基于所述信号量计数,确定是否已完成同步进一步包括:
若与所述第二信号量操作相关的所述信号量计数满足预定条件,则确定已完成同步并继续执行后续操作;否则,等待来自所述信号量控制器的信号量指令。
Claims (24)
1.一种多核处理器,包括多个核以及信号量控制器,其中:
每个核配置用于:
响应于第一信号量操作,向信号量控制器发送信号量指令;
从所述信号量控制器接收来自其他核的信号量指令;以及
基于所述信号量指令,维护各个核的信号量计数;并且
所述信号量控制器配置用于:
从所述核接收所述信号量指令;以及
向相关的核转发所述信号量指令。
2.根据权利要求1所述的多核处理器,其中所述多个核分布在不同集群内,每个集群包括一个所述信号量控制器,每个信号量控制器配置用于处理与其集群内的核相关的信号量指令;并且
所述多核处理器还包括信号量路由器,配置用于在各个信号量控制器之间传递所述信号量指令。
3.根据权利要求2所述的多核处理器,其中所述信号量路由器包括:
多个低级信号量路由器,其配置用于在部分集群的信号量控制器之间传递所述信号量指令;以及
一个或多个高级信号量路由器,其配置用于在所述低级信号量路由器之间传递所述信号量指令。
4.根据权利要求3所述的多核处理器,其中所述多个集群分布在不同裸片上,每个裸片上布置有所述低级信号量路由器和高级信号量路由器;并且
所述高级信号量路由器进一步配置用于:在不同裸片的高级信号量路由器之间传递所述信号量指令。
5.根据权利要求2-4任一所述的多核处理器,其中所述第一信号量操作为生产者端操作,并且所述信号量指令包括作为所述生产者端的所述核的标识信息以及指示同步对象的信息。
6.根据权利要求5所述的多核处理器,其中所述核的标识信息包括所述核所位于的集群的标识以及所述核在所述集群中的标识。
7.根据权利要求5-6任一所述的多核处理器,其中:
所述信号量控制器进一步配置用于:基于所述信号量指令中指示同步对象的信息,确定转发所述信号量指令的路径。
8.根据权利要求5-7任一所述的多核处理器,其中:
所述信号量路由器进一步配置用于:基于接收到的信号量指令中指示同步对象的信息,确定转发所述信号量指令的路径。
9.根据权利要求8所述的多核处理器,其中:
所述信号量路由器进一步配置用于:优先转发目的地更远的信号量指令。
10.根据权利要求8-9任一所述的多核处理器,其中:
所述信号量路由器进一步配置用于:基于转发目的地信号量路由器或信号量控制器所控制的核的数量,缩减所述信号量指令中用于指示同步对象的比特数。
11.根据权利要求5-10任一所述的多核处理器,其中所述同步对象通过位图来指示。
12.根据权利要求1-11任一所述的多核处理器,其中,所述核进一步配置用于:
响应于第二信号量操作,查询本地所维护的信号量计数;以及
基于所述信号量计数,确定是否已完成同步。
13.根据权利要求12所述的多核处理器,其中,所述第二信号量操作是消费者端操作,并且所述核进一步配置用于:
若与所述第二信号量操作相关的所述信号量计数满足预定条件,则确定已完成同步并继续执行后续操作;否则,等待来自所述信号量控制器的信号量指令。
14.一种芯片,其特征在于,所述芯片内封装有如权利要求1-13任一所述的多核处理器。
15.一种板卡,其特征在于,所述板卡包括权利要求14所述的芯片或如权利要求1-13任一所述的多核处理器。
16.一种用于多核处理器的方法,其中所述多核处理器包括多个核以及信号量控制器,所述方法包括:
所述多个核中的第一核响应于第一信号量操作,向所述信号量控制器发送信号量指令;
所述信号量控制器从所述第一核接收所述信号量指令并向相关的一个或多个第二核转发所述信号量指令;以及
所述第二核响应于接收到所述信号量指令,维护与所述第一核关联的信号量计数。
17.根据权利要求16所述的方法,其中所述信号量控制器向第二核转发所述信号量指令包括:
基于所述信号量指令中指示作为同步对象的第二核的信息,确定向所述第二核转发所述信号量指令的路径。
18.根据权利要求17所述的方法,其中当所述第二核与所述第一核位于不同集群时,所述信号量控制器向第二核转发所述信号量指令还包括:
经由一级或多级信号量路由器向所述第二核转发所述信号量指令。
19.根据权利要求18所述的方法,其中当所述第二核与所述第一核位于不同裸片上的不同集群时,所述信号量控制器向第二核转发所述信号量指令还包括:
经由高级信号量路由器向所述第二核所位于的裸片上的高级信号路由器转发所述信号量指令。
20.根据权利要求18-19任一所述的方法,其中所述信号量路由器在转发所述信号量指令期间优先转发目的地更远的信号量指令。
21.根据权利要求18-20任一所述的方法,其中所述信号量路由器在转发所述信号量指令之前,基于转发目的地信号量路由器或信号量控制器所控制的核的数量,缩减所述信号量指令中用于指示同步对象的比特数。
22.根据权利要求16-21任一所述的方法,其中所述第一信号量操作为生产者端操作,并且所述信号量指令包括作为所述生产者端的所述核的标识信息以及指示同步对象的信息。
23.根据权利要求16-22任一所述的方法,其中,所述方法还包括:
所述第二核响应于第二信号量操作,查询本地所维护的信号量计数;以及
基于所述信号量计数,确定是否已完成同步。
24.根据权利要求23所述的方法,其中,所述第二信号量操作是消费者端操作,并且所述基于所述信号量计数,确定是否已完成同步进一步包括:
若与所述第二信号量操作相关的所述信号量计数满足预定条件,则确定已完成同步并继续执行后续操作;否则,等待来自所述信号量控制器的信号量指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011035366.4A CN114281558A (zh) | 2020-09-27 | 2020-09-27 | 多核处理器、用于多核处理器的方法及相应产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011035366.4A CN114281558A (zh) | 2020-09-27 | 2020-09-27 | 多核处理器、用于多核处理器的方法及相应产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281558A true CN114281558A (zh) | 2022-04-05 |
Family
ID=80867745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011035366.4A Pending CN114281558A (zh) | 2020-09-27 | 2020-09-27 | 多核处理器、用于多核处理器的方法及相应产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281558A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048824A (zh) * | 2023-03-30 | 2023-05-02 | 井芯微电子技术(天津)有限公司 | 一种多核处理器信号量系统 |
-
2020
- 2020-09-27 CN CN202011035366.4A patent/CN114281558A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116048824A (zh) * | 2023-03-30 | 2023-05-02 | 井芯微电子技术(天津)有限公司 | 一种多核处理器信号量系统 |
CN116048824B (zh) * | 2023-03-30 | 2023-08-18 | 井芯微电子技术(天津)有限公司 | 一种多核处理器信号量系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112686379B (zh) | 集成电路装置、电子设备、板卡和计算方法 | |
CN111767995B (zh) | 运算方法、装置及相关产品 | |
CN114281558A (zh) | 多核处理器、用于多核处理器的方法及相应产品 | |
CN112084023A (zh) | 数据并行处理的方法、电子设备及计算机可读存储介质 | |
CN111047005A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111340202B (zh) | 运算方法、装置及相关产品 | |
CN112948001A (zh) | 设定张量硬件配置的方法、可读存储介质及装置 | |
CN114281561A (zh) | 处理单元、用于处理单元的同步方法及相应产品 | |
CN114443137A (zh) | 一种集成计算装置、芯片、板卡、设备和计算方法 | |
CN113742266B (zh) | 集成电路装置、电子设备、板卡和计算方法 | |
CN111061507A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN114281559A (zh) | 多核处理器、用于多核处理器的同步方法及相应产品 | |
CN111275197B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN112232498B (zh) | 一种数据处理装置、集成电路芯片、电子设备、板卡和方法 | |
CN112396186B (zh) | 执行方法、装置及相关产品 | |
CN111124497B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111026440B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111290789B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN117908959A (zh) | 用于执行原子操作的方法及其相关产品 | |
CN114281560A (zh) | 处理单元、用于处理单元的同步方法及相应产品 | |
CN111813537A (zh) | 运算方法、装置及相关产品 | |
CN117762588A (zh) | 一种在神经网络中调度Kernel的方法和相关产品 | |
CN115237373A (zh) | 计算装置、数据处理方法及相关产品 | |
CN115495157A (zh) | 分组运算装置、方法、集成电路芯片、计算装置和板卡 | |
CN115437693A (zh) | 根据多操作指令及单操作指令运行的计算装置 |
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 |