CN114691557A - 异构计算系统以及相关设备 - Google Patents
异构计算系统以及相关设备 Download PDFInfo
- Publication number
- CN114691557A CN114691557A CN202110559382.1A CN202110559382A CN114691557A CN 114691557 A CN114691557 A CN 114691557A CN 202110559382 A CN202110559382 A CN 202110559382A CN 114691557 A CN114691557 A CN 114691557A
- Authority
- CN
- China
- Prior art keywords
- processor
- memory
- read
- data
- computing system
- 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
- 230000015654 memory Effects 0.000 claims abstract description 260
- 238000012545 processing Methods 0.000 claims description 11
- 238000013473 artificial intelligence Methods 0.000 claims description 7
- 238000009877 rendering Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 9
- 238000000034 method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/4226—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请提供了一种异构计算系统以及相关设备,所述系统包括:第一处理器、第二处理器、内存控制器以及第一内存,其中,所述第一处理器通过高速总线连接所述内存控制器,所述第二处理器通过高速总线连接所述内存控制器,所述内存控制器通过接口连接所述第一内存,所述第一处理器和所述第二处理器是异构的,所述第一处理器可以对所述第一内存中的至少一部分进行读写操作,所述第二处理器也可以对所述第一内存中的至少一部分进行读写操作。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种异构计算系统以及相关设备。
背景技术
异构计算主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式。异构计算已经无处不在,从超算系统到桌面到云到终端,都包含不同类型指令集和体系架构的计算单元。异构计算优势主要提现在性能、性价比、功耗、面积等指标上,在特定场景,异构计算往往会表现出惊人的计算优势。
但是,现有采用异构计算的系统的架构限制了系统性能的发挥。
发明内容
为了解决上述问题,本申请提出了一种异构计算系统以及相关设备,能够提升系统性能。
第一方面,提供了一种异构计算系统,包括:第一处理器、第二处理器、内存控制器以及第一内存,其中,所述第一处理器通过高速总线连接所述内存控制器,所述第二处理器通过高速总线连接所述内存控制器,所述内存控制器通过接口连接所述第一内存,所述第一处理器和所述第二处理器是异构的,所述第一处理器可以对所述第一内存中的至少一部分进行读写操作,所述第二处理器也可以对所述第一内存中的至少一部分进行读写操作。
上述方案中,第一计算单元和第二计算单元之间可以通过第一内存进行数据交互,不需要通过高速总线进行数据交互,大大提升了系统的性能。
在一些可能的设计中,所述第一处理器和所述第二处理器采用的指令集不相同。
在一些可能的设计中,所述第一处理器和所述第二处理器采用的微结构不相同。
在一些可能的设计中,所述第一处理器包括的运算器的数量比所述第二处理器包括的运算器的数量多。
在一些可能的设计中,所述第一处理器为中央处理器CPU,所述第二处理器包括图形处理器GPU、人工智能AI芯片以及编码芯片中的一种或者多种。
在一些可能的设计中,所述第一内存包括第一内存部分,所述第一处理器对所述第一内存部分具有读写权限,所述第二处理器对所述第一内存部分具有读写权限。
在一些可能的设计中,所述第一处理器,用于对输入数据进行运算得到第一数据,并通过所述内存控制器将所述第一数据写入至所述第一内存部分;所述第一内存,用于在所述第一内存部分中存储所述第一数据;所述第二处理器,用于从所述第一内存中读取所述第一数据,并对所述第一数据进行运算,得到第二数据;所述第一内存,用于在所述第一内存部分中存储所述第二数据。
在一些可能的设计中,所述第一内存还包括第二内存部分;所述第一处理器对所述第二内存部分具有读写权限,所述第二处理器对所述第二内存部分具有只读权限。
在一些可能的设计中,所述第一内存还包括第三内存部分以及第四内存部分,所述第一处理器对所述第三内存部分具有读写权限,所述第二处理器对所述第三内存部分不具有读写权限;所述第一处理器对所述第四内存部分不具有读写权限,所述第二处理器对所述第四内存部分具有读写权限。
在一些可能的设计中,所述系统还包括第二内存,所述第一内存连接所述第一处理器,所述第二内存可以被所述第一处理器访问,不可以被所述第二处理器访问。
在一些可能的设计中,所述第一处理器、所述第二处理器组成对称多处理系统。
第二方面,提供了一种计算设备,包括如第一方面任一项所述的异构计算系统。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请提出一种异构计算系统的结构示意图;
图2是本申请涉及的第一处理器和异构加速模块的对比示意图;
图3是本申请提供的从不同角度观看目标场景的示意图;
图4是本申请涉及的通过异构计算系统进行光栅化渲染的过程的示意图;
图5是本申请提供的一种异构计算系统的结构示意图;
图6是本申请提供的另一种异构计算系统的结构示意图;
图7A-图7C是本申请提供的一些异构计算系统的结构示意图;
图8A-图8C是本申请提供的一些第一内存的读写权限的示意图。
具体实施方式
参见图1,图1是本申请提出一种异构计算系统的结构示意图。如图1所示,该异构计算系统包括:多个处理器,所述多个处理器包括:一个或者多个第一处理器110,一个或者多个第二处理器120。所述异构计算系统还包括多个内存130。其中,第一处理器和第二处理器120之间可以通过总线,例如,外围组建互联快速(peripheral component interconnectexpress,PCIE)进行连接。第一处理器110可以通过PCIE连接内存130。第二处理器120之间可以通过PCIE或者高速总线进行互联。
在一具体的实施方式中,第一处理器110和第二处理器120之间构成了异构架构。具体地,异构架构的含义可以包括:所述第一计算单元和所述第二计算单元的指令集或微结构并不相同。或者,所述第一计算单元和所述第二计算单元的指令集和微结构并不相同。或者,所述第一计算单元的运算器的数量比所述第二计算单元的运算器的数量多,所述第一计算单元的控制器的功能比所述第二计算单元的功能强大,所述第一计算单元的存储空间比所述第二计算单元的存储空间大。
在一具体的实施方式中,第一处理器110和第二处理器120具体可以是:
第一处理器110在异构计算系统中通常处于主导地位,负责统筹协调各种计算任务。第一处理器110通常可以是中央处理器(central processing unit,CPU)等。如图2左边所示,以第一处理器110采用CPU为例,CPU包括运算器(arithmetic and logic unit,ALU)、控制器(control unit,CU)以及高速缓存器(cache)。其中,CPU中的ALU的数量不多,但是,具有强大的逻辑运算能力,控制器的功能比较强大,能够实现复杂的数据控制以及数据转发,高速缓存的存储空间足够大,能够很好地存储计算完成的结果,或者是后面马上要用到的数据。在一具体的实施例中,CPU中的ALU可以占据25%的硬件资源,CU可以占据25%的硬件资源,高速缓存器可以占据50%的硬件资源。
第二处理器120在异构计算系统中通常处于从属地位,负责执行各种简单大量的计算任务。第二处理器120可以包括图形处理器(graphics processing unit,GPU)、数字信号处理(digital signal processing,DSP)、人工智能(artificial intelligence,AI)芯片、编解码芯片。在一具体的实施例中,在渲染场景下,第二处理器120可以包括GPU、AI芯片、编解码芯片等中的一种或者多种。如图2右边所示,以第二处理器120采用GPU为例,GPU包括ALU、CU以及高速缓存器。其中,GPU中的ALU的数量非常多,但是,只能进行简单的逻辑运算,控制器的功能比较弱,主要是负责合并和转发数据,高速缓存的存储空间也比较小。在一具体的实施例中,GPU中的ALU可以占据90%的硬件资源,CU可以占据5%的硬件资源,高速缓存器可以占据5%的硬件资源。
因此,第一处理器110拥有超强的逻辑能力,擅长处理具有复杂计算步骤和复杂数据依赖的计算任务,而第二处理器120的逻辑少而简单,并且拥有超高的运算速度。将第一处理器110和第二处理器120组合得到的异构计算系统可以有效满足业务对多元算力的要求,提升第一处理器110的计算密度。例如,当采用异构计算系统进行图像渲染时,第一处理器110可以将图像渲染任务统筹调度至第二处理器120执行,利用第二处理器120高度并行化矢量运算能力以及特殊纹理处理能力,极大提高离线和实时渲染速度,并且产生高画质、真实感的渲染图像。另外,在深度学习领域采用第二处理器120并行化张量运算,快速完成矩阵乘加,相对第一处理器110运算可以提升几十倍的加速效果。
为了提高数据存取速度,通常会为每个第一处理器110以及每个第二处理器120分别设置单独的内存130,即,异构计算系统采用了内存分离的硬件架构。例如,如图1所示,第一处理器1单独设置了内存1,第一处理器2单独设置了内存2,第二处理器1单独设置了内存3,第二处理器2单独设置了内存4,第二处理器3单独设置了内存5。但是,由于异构计算系统的总面积是有限的,又需要为每个处理器(包括第一处理器以及第二处理器)单独设置内存,因此,分配给每个处理器的内存的空间都是有限的,随着处理器性能的持续提升,处理器的内存不足将会构成异构计算系统的瓶颈,比如,处理器的本地内存最大32GB,如果异构计算系统最大可以集成16个处理器,则异构计算系统的分布式本地聚合的内存最大为512GB,实际运算过程无法将更大数据装入本地内存。另外,第二处理器120之间、第二处理器120和第一处理器110之间频繁地进行数据搬移,将会造成异构计算系统的性能无法充分发挥,而且,假若第二处理器120之间、第二处理器120和第一处理器110之间的数据间存在一定依赖关系,将导致第二处理器120之间有大量的计算中间结果或参数信息需要同步,进而导致计算资源的浪费。
在一具体的实施例中,在多用户参与的场景中,为了能够让每个用户都产生置身其中的真实感,往往不同的用户需要的是从不同的角度生成的同一个目标场景的渲染图像。其中,目标场景包括光源以及三维模型。光源产生的光线投射在三维模型中。以图3所示为例,假设目标场景如图3中的上面所示,当第一用户从第一视角进行观察时,需要生成的渲染图像如图3中的左边所示,当第二用户从第二视角进行观察时,需要生成的渲染图像如图3中的右边所示。第一用户和第二用户可以利用异构计算系统的资源对目标场景进行渲染,从而得到不同角度的渲染图像。以光栅化渲染为例,如图4所示,通过异构计算系统进行光栅化渲染的过程可以是:
在第一处理器接收到第一用户发出第一渲染请求之后,根据第一渲染请求调度第二处理器1中的图像渲染管线1从第一用户的视角出发对目标场景进行光栅化渲染,得到从第一用户的视角生成的该目标场景的渲染图像。其中,第一渲染请求指示所述第一视角以及所述目标场景的场景信息。
在第一处理器接收到第二用户发出第二渲染请求之后,根据第二渲染请求调度第二处理器2中的图像渲染管线2从第二用户的视角出发对目标场景进行光栅化渲染,得到从第二用户的视角生成的该目标场景的渲染图像。其中,第二渲染请求指示所述第二视角以及所述目标场景的场景信息。
为了完成上述光栅化渲染的过程,第一处理器需要将目标场景的场景信息要从第一处理器的内存同步到第二处理器1的内存以及第二处理器2的内存,并且每个第二处理器的内存都要存储相同的目标场景的场景信息,将使现有异构计算系统中内存的资源被大量浪费并且由于第一处理器和第二处理器之间的总线性能难以满足第一处理器和第二处理器之间传输目标场景的场景信息的要求,而导致图像渲染的实时性被大大降低。
为了解决上述问题,本申请提供了一种异构计算系统,处理器之间能够共享相同内存空间,提供集中化、数量级大的内存容量,而且,相同的数据可以被多个处理器访问,避免了需要存储的数据过大的问题。
参见图5,图5是本申请提供的一种异构计算系统的结构示意图。如图5所示,异构计算系统包括:多个处理器210、内存控制器230以及第一内存240。其中,处理器210通过高速总线220连接内存控制器230,内存控制器230通过接口连接第一内存240。
多个处理器210包括第一处理器以及第二处理器。其中,第一处理器和第二处理器构成了异构架构。
内存控制器230用于管理与规划从处理器210到第一内存240之间传输速度的总线电路控制器。内存控制器230决定了异构计算系统所能使用的最大内存容量、内存类型和速度、内存颗粒数据深度和数据宽度等等参数,也就是说决定了异构计算系统的内存性能,从而也对异构计算系统的整体性能产生较大影响。
第一内存240是临时存储程序以及数据的存储空间,即,第一内存240用于暂时存放CPU中的运算数据以及与硬盘等外部存储器交换的数据。第一内存240一般采用半导体存储单元,包括随机存储器(RAM)、只读存储器(ROM)以及高速缓存(cache)。第一内存是由内存芯片、电路板、内存颗粒等部分组成的。
在本申请具体的实施例中,处理器210以及内存控制器230通过高速总线220,例如,Gen-Z、CCIX或者自定义高速总线进行互联。
在本申请具体的实施例中,处理器210之间可以组成对称多处理(symmetricMulTI processing,SMP)系统,即,处理器210之间无主次或从属关系,处理器210之间共享相同的总线、内存以及I/O设备。因此,任何一个处理器210都可以作为主设备通过内存控制器230访问第一内存240。并且,任何一个处理器210访问第一内存240中的任何地址所需时间是相同的。
在本申请具体的实施例中,异构计算系统中还可以通过设置开关单元260来增加处理器210的数量。如图6所示,在异构计算系统中增加开关单元260,开关单元260之上可以设置多个处理器210。此时,处理器210通过开关单元260,再通过内存控制器230访问第一内存240。可以理解,图6中是以开关单元260之上增加的处理器210均为第二处理器为例进行说明的,但是,在实际应用中,开关单元260之上增加的处理器还可以包括第一处理器,此处不作具体限定。
在本申请具体的实施例中,异构计算系统可以包括以下三种具体的实施方式:
在第一种方式中,所有处理器210共享所有第一内存240。此时,第一处理器211和第二处理器212均可以共享相同的第一内存。例如,如图7A所示,第一处理器1可以通过内存控制器1访问第一内存1,第一处理器1可以通过内存控制器2访问第一内存2,第一处理器1可以通过内存控制器3访问第一内存3。第二处理器1可以通过内存控制器1访问第一内存1,第二处理器1可以通过内存控制器2访问第一内存2,第二处理器1可以通过内存控制器3访问第一内存3。第二处理器2可以通过内存控制器1访问第一内存1,第二处理器2可以通过内存控制器2访问第一内存2,第二处理器2可以通过内存控制器3访问第一内存3。也就是说,第一处理器1、第二处理器1以及第二处理器2可以通过内存控制器1~3共享第一内存1~3。
在第二种方式中,部分第二处理器独占第二内存250。例如,如图7B所示,第一处理器可以通过内存控制器1访问第一内存1,第一处理器可以通过内存控制器2访问第一内存2。第二处理器1可以通过内存控制器1访问第一内存1,第二处理器1可以通过内存控制器2访问第一内存2。第二处理器2独占第二内存1,即,第二处理器2可以访问第二内存1,但是,第一处理器、第二处理器1,第二处理器3均不可以访问第二内存1,第二处理器3独占第二内存2,即,第二处理器3可以访问第二内存2,但是,第一处理器、第二处理器1,第二处理器2均不可以访问第二内存2。
在第三种方式中,部分第一处理器独占第二内存250。例如,如图7C所示,第一处理器1可以通过内存控制器1访问第一内存1,第一处理器1可以通过内存控制器2访问第一内存2。第二处理器可以通过内存控制器1访问第一内存1,第二处理器可以通过内存控制器2访问第一内存2。第一处理器2独占第二内存3,即,第一处理器2可以访问第二内存3,但是,第一处理器1、第二处理器,第一处理器3均不可以访问第二内存3,第一处理器3独占第二内存4,即,第一处理器3可以访问第二内存4,但是,第一处理器1、第二处理器,第一处理器2均不可以访问第二内存4。
在本申请具体的实施例中,第一处理器和第二处理器之间实现弱双向内存一致性。其中,弱双向内存一致性是指第一处理器对第一内存的修改可以被第二处理器获知,第二处理器对第一内存的修改也可以被第一处理器获知,但是,对于内存一致性的保护力度比较弱。具体的实施方式可以包括如下三种:
第一种方式中,如图8A所示,第一处理器将第一内存分成第一内存部分以及第二内存部分。即,第一内存可以包括第一内存部分和第二内存部分。其中,第一处理器和第二处理器都可以进行读写第一内存部分,因此,第一内存部分需要保证严格的内存一致性。第一处理器可以进行读写第二内存部分,第二处理器只能够进行读取第二内存部分,因此,第二内存部分不需要保证严格的内存一致性。
第二种方式中,如图8B所示,第一处理器将第一内存分成第一内存部分、第二内存部分以及第三内存部分。即,第一内存可以包括第一内存部分、第二内存部分和第三内存部分。其中,第一处理器和第二处理器都可以进行读写第一内存部分,因此,第一内存部分需要保证严格的内存一致性。第一处理器可以读写第二内存部分,第二处理器只能够进行读取第二内存部分,因此,第二内存部分不需要保证严格的内存一致性。第一处理器1和第一处理器2可以读写第三内存部分,第二处理器1和第二处理器2均不可以读写第三内存部分。
第三种方式中,如图8C所示,第一处理器将第一内存分成第一内存部分、第二内存部分、第三内存部分以及第四内存部分。即,第一内存可以第一内存部分、第二内存部分、第三内存部分和第四内存部分。其中,第一处理器和第二处理器都可以进行读写第一内存部分,因此,第一内存部分需要保证严格的内存一致性。第一处理器可以读写第二内存部分,第二处理器只能够进行读取第二内存部分,因此,第二内存部分不需要保证严格的内存一致性。第一处理器1和第一处理器2可以读写第三内存部分,第二处理器1和第二处理器2均不可以读写第三内存部分。第二处理器1和第二处理器2可以读写第四内存部分,第一处理器1和第一处理器2均不可以读写第四内存部分。
应理解,上述具体的实施方式仅仅是作为举例,不应该构成具体限定。
在本申请具体的实施例中,所述第一处理器,用于对输入数据进行运算得到第一数据,并通过所述内存控制器将所述第一数据写入至所述第一内存部分;所述第一内存,用于在所述第一内存部分中存储所述第一数据;所述第二处理器,用于从所述第一内存中读取所述第一数据,并对所述第一数据进行运算,得到第二数据;所述第一内存,用于在所述第一内存部分中存储所述第二数据。以渲染场景为例,处理器包括第一处理器以及第二处理器,第一处理器包括CPU,第二处理器包括GPU、AI芯片以及编解码芯片。CPU将待渲染数据写到第一内存的第一内存部分的地址A,GPU从第一内存的第一内存部分的地址A读取待渲染数据进行渲染之后得到渲染数据,并将渲染数据写到第一内存的第一内存部分的地址B。然后,AI芯片从第一内存的第一内存部分的地址B中读取渲染数据,并进行超分辨处理得到超分辨数据,并写入第一内存的第一内存部分的地址C中。编解码芯片从第一内存的地址C中读取超分辨数据,完成H.264/H.265编码得到编码数据,并写入第一内存的第一内存部分的地址D中。
在本申请具体的实施例中,在启动异构计算系统之前,还必要对异构计算系统进行配置。例如,页表管理、交织的方法以及弱双向内存一致性等等。具体地,通过操作系统对页表访问权限以及数据加锁保护设置,计算单元内部硬件模块间快速同步机制,实现异构系统内部弱缓存一致性(非同构系统间MOESI强缓存一致性),在实现代价和性能间折中考虑。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态存储盘Solid State Disk(SSD))等。
Claims (12)
1.一种异构计算系统,其特征在于,包括:第一处理器、第二处理器、内存控制器以及第一内存,其中,所述第一处理器通过高速总线连接所述内存控制器,所述第二处理器通过高速总线连接所述内存控制器,所述内存控制器通过接口连接所述第一内存,所述第一处理器和所述第二处理器是异构的,所述第一处理器可以对所述第一内存中的至少一部分进行读写操作,所述第二处理器也可以对所述第一内存中的至少一部分进行读写操作。
2.根据权利要求1所述的系统,其特征在于,所述第一处理器和所述第二处理器采用的指令集不相同。
3.根据权利要求1或2所述的系统,其特征在于,所述第一处理器和所述第二处理器采用的微结构不相同。
4.根据权利要求1-3任一权利要求所述的系统,其特征在于,所述第一处理器包括的运算器的数量比所述第二处理器包括的运算器的数量多。
5.根据权利要求1-4任一权利要求所述的系统,其特征在于,所述第一处理器为中央处理器CPU,所述第二处理器包括图形处理器GPU、人工智能AI芯片以及编码芯片中的一种或者多种。
6.根据权利要求1-5任一权利要求所述的系统,其特征在于,所述第一内存包括第一内存部分,
所述第一处理器对所述第一内存部分具有读写权限,所述第二处理器对所述第一内存部分具有读写权限。
7.根据权利要求6任一权利要求所述的系统,其特征在于,
所述第一处理器,用于对输入数据进行运算得到第一数据,并通过所述内存控制器将所述第一数据写入至所述第一内存部分;
所述第一内存,用于在所述第一内存部分中存储所述第一数据;
所述第二处理器,用于从所述第一内存中读取所述第一数据,并对所述第一数据进行运算,得到第二数据;
所述第一内存,用于在所述第一内存部分中存储所述第二数据。
8.根据权利要求6或7所述的系统,其特征在于,所述第一内存还包括第二内存部分;
所述第一处理器对所述第二内存部分具有读写权限,所述第二处理器对所述第二内存部分具有只读权限。
9.根据权利要求6至8任一权利要求所述的系统,其特征在于,所述第一内存还包括第三内存部分以及第四内存部分,
所述第一处理器对所述第三内存部分具有读写权限,所述第二处理器对所述第三内存部分不具有读写权限;
所述第一处理器对所述第四内存部分不具有读写权限,所述第二处理器对所述第四内存部分具有读写权限。
10.根据权利要求1至9任一权利要求所述的系统,其特征在于,所述系统还包括第二内存,所述第一内存连接所述第一处理器,所述第二内存可以被所述第一处理器访问,不可以被所述第二处理器访问。
11.根据权利要求1至10任一权利要求所述的系统,其特征在于,所述第一处理器、所述第二处理器组成对称多处理系统。
12.一种计算设备,其特征在于,包括如权利要求1至11任一权利要求所述的异构计算系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/135791 WO2022143019A1 (zh) | 2020-12-31 | 2021-12-06 | 异构计算系统以及相关设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011641741 | 2020-12-31 | ||
CN202011641741X | 2020-12-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114691557A true CN114691557A (zh) | 2022-07-01 |
Family
ID=82135922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110559382.1A Pending CN114691557A (zh) | 2020-12-31 | 2021-05-21 | 异构计算系统以及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114691557A (zh) |
WO (1) | WO2022143019A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117407181A (zh) * | 2023-12-14 | 2024-01-16 | 沐曦集成电路(南京)有限公司 | 一种基于屏障指令的异构计算进程同步方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424122B (zh) * | 2013-09-09 | 2018-10-12 | 联想(北京)有限公司 | 一种电子设备及内存划分方法 |
CN105786400B (zh) * | 2014-12-25 | 2020-01-31 | 研祥智能科技股份有限公司 | 一种异构混合内存组件、系统及存储方法 |
CN108089920A (zh) * | 2016-11-23 | 2018-05-29 | 华为技术有限公司 | 一种数据处理的方法、装置和系统 |
US10606487B2 (en) * | 2017-03-17 | 2020-03-31 | International Business Machines Corporation | Partitioned memory with locally aggregated copy pools |
CN109684085B (zh) * | 2018-12-14 | 2019-11-12 | 北京中科寒武纪科技有限公司 | 内存访问方法及相关产品 |
-
2021
- 2021-05-21 CN CN202110559382.1A patent/CN114691557A/zh active Pending
- 2021-12-06 WO PCT/CN2021/135791 patent/WO2022143019A1/zh active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117407181A (zh) * | 2023-12-14 | 2024-01-16 | 沐曦集成电路(南京)有限公司 | 一种基于屏障指令的异构计算进程同步方法及系统 |
CN117407181B (zh) * | 2023-12-14 | 2024-03-22 | 沐曦集成电路(南京)有限公司 | 一种基于屏障指令的异构计算进程同步方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2022143019A1 (zh) | 2022-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11567780B2 (en) | Apparatus, systems, and methods for providing computational imaging pipeline | |
US11367160B2 (en) | Simultaneous compute and graphics scheduling | |
CN106462219B (zh) | 管理处理器设备功耗的系统和方法 | |
TWI620128B (zh) | 在中央處理單元與圖形處理單元間分享資源之裝置與系統 | |
US9466091B2 (en) | Atomic memory update unit and methods | |
US8930636B2 (en) | Relaxed coherency between different caches | |
US9448934B2 (en) | Affinity group access to global data | |
US11880925B2 (en) | Atomic memory update unit and methods | |
TWI666551B (zh) | 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行 | |
US11720496B2 (en) | Reconfigurable cache architecture and methods for cache coherency | |
US11934867B2 (en) | Techniques for divergent thread group execution scheduling | |
Caheny et al. | Reducing cache coherence traffic with a numa-aware runtime approach | |
CN116501512A (zh) | 使用多播的高效多设备同步屏障 | |
DE102022130536A1 (de) | Sich selbst abstimmende thread-verteilungsrichtlinie | |
CN117581267A (zh) | 用于同步光线追踪的栈访问扼制 | |
CN114691557A (zh) | 异构计算系统以及相关设备 | |
CN111274161A (zh) | 用于加速串行化算法的具有可变等待时间的位置感知型存储器 | |
US20240127392A1 (en) | Chained accelerator operations with storage for intermediate results | |
US20240126613A1 (en) | Chained accelerator operations | |
GB2520603A (en) | Atomic memory update unit and methods |
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 |