在GPU互联架构中实现存储空间互相访问的方法、装置、计算设备与流程

在gpu互联架构中实现存储空间互相访问的方法、装置、计算设备
技术领域
1.本公开涉及计算机技术领域,具体地,涉及一种在gpu互联架构中实现存储空间互相访问的方法、在gpu互联架构中实现存储空间互相访问的装置、计算机程序产品、以及计算机可读存储介质。


背景技术:



2.图形处理器(graphics processing unit,也称为gpu)是一种专用于个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)的微处理器,实现图像和图形相关的运算工作。随着计算机技术的发展,在高端图形处理器的3d运算中,数据的吞吐量巨大,因此服务器平台对pcie资源有着超出常规的需求。为满足超强运算能力的需求,可以将多个gpu板卡集成在计算设备的内部。


技术实现要素:



3.本公开提供一种在gpu互联架构中实现存储空间互相访问的方法、在gpu互联架构中实现存储空间互相访问的装置、计算机程序产品、以及计算机可读存储介质。在将多个gpu板卡集成在计算设备的内部时,借助于互联技术,每个gpu板卡的处理装置可以通过多个通信端口访问任意其他gpu板卡的存储装置,从而实现计算资源或存储资源的共享。
4.根据本公开的一方面,提供了一种在gpu互联架构中实现存储空间互相访问的方法。所述gpu互联架构包括:互联的多个gpu板卡;每个所述gpu板卡包括处理装置 、存储装置、路由装置、以及与其他gpu板卡通信的多个端口;每一个gpu板卡的存储装置具有各自的本地地址范围;多个本地地址范围被统一编址,形成全局地址;所述方法包括:第一gpu板卡的路由装置接收访问请求,并且解析所述访问请求要访问的全局地址中的地址段,所述访问请求包括第一gpu板卡的处理装置发送的访问请求或通过任一端口接收的其他gpu板卡的访问请求;所述第一gpu板卡的路由装置确定与所述访问请求要访问的全局地址中的地址段对应的gpu板卡;所述第一gpu板卡的路由装置将所述访问请求发送到所述对应的gpu板卡的存储装置。
5.在一些实施例中,所述全局地址包括多个全局地址范围,所述多个gpu板卡与所述多个全局地址范围一一对应,任意两个全局地址范围不重叠,其中,所述第一gpu板卡的路由装置确定与所述访问请求要访问的全局地址中的地址段对应的gpu板卡,包括:所述第一gpu板卡的路由装置确定所述访问请求要访问的全局地址中的地址段所在的第一全局地址范围;所述第一gpu板卡的路由装置确定所述第一全局地址范围所对应的gpu板卡。
6.在一些实施例中,所述第一全局地址范围所对应的gpu板卡是第一gpu板卡,所述访问请求被发送到所述第一gpu板卡的存储装置。
7.在一些实施例中,所述第一全局地址范围所对应的gpu板卡是第二gpu板卡,其中,所述第一gpu板卡的路由装置将所述访问请求发送到所述对应的gpu板卡的存储装置,包
括:所述第一gpu板卡的路由装置获取所述第一gpu板卡和第二gpu板卡之间的端口连接信息;所述第一gpu板卡的路由装置根据所述端口连接信息得到所述第一gpu板卡和所述第二gpu板卡之间的路由信息;所述第一gpu板卡的路由装置根据所述路由信息将所述访问请求发送到所述第二gpu板卡。
8.在一些实施例中,所述第一gpu板卡与所述第二gpu板卡直接连接,所述第一gpu板卡的路由装置将所述访问请求发送到所述第一gpu板卡的与所述第二gpu板卡的端口互联的端口中的至少一个。
9.在一些实施例中,所述第一gpu板卡与所述第二gpu板卡不直接连接,其中,所述第一gpu板卡的路由装置根据所述路由信息将所述访问请求发送到所述第二gpu板卡的存储装置,包括:所述第一gpu板卡的路由装置根据所述路由信息确定第一gpu板卡与所述第二gpu板之间的最短路径;所述第一gpu板卡的路由装置通过所述最短路径将所述访问请求映射到所述第二gpu板卡的存储装置。
10.在一些实施例中,所述第一全局地址范围所对应的gpu板卡是第二gpu板卡,所述第一gpu板卡的路由装置将所述访问请求发送到所述对应的gpu板卡的存储装置,包括:所述第一gpu板卡的路由装置确定所述多个端口中的目标端口,其中,所述目标端口为第一gpu板卡与第三gpu板卡通信的端口,第三gpu板卡为所述第一gpu板卡与第二gpu板卡之间最短路径上的gpu板卡;所述第一gpu板卡的路由装置通过所述目标端口发送所述访问请求。
11.在一些实施例中,所述方法还包括:第一gpu板卡的路由装置将与其他gpu板卡之间的端口连接信息发送给中央处理器,以使所述中央处理器基于所述端口连接信息,确定路由信息;所述第一gpu板卡的路由装置从中央处理器获取所述路由信息;基于所述路由信息,配置所述第一gpu板卡的路由装置,其中,所述路由信息包括在所述第一全局地址范围所对应的gpu板卡是第二gpu板卡的情况下,所述第一gpu板卡用于发送所述访问请求的目标端口。
12.根据本公开的另一方面,提供了一种在gpu互联架构中实现存储空间互相访问的装置。所述gpu互联架构包括:互联的多个gpu板卡;每一个所述gpu板卡包括处理装置、存储装置、所述路由装置、以及与其他gpu板卡通信的多个端口;每一个gpu板卡具有各自的本地地址范围;多个本地地址范围被统一编址,形成全局地址。所述装置包括:接收模块,用于访问请求,并且解析所述访问请求要访问的全局地址中的地址段,所述访问请求包括第一gpu板卡的处理装置发送的访问请求或通过任一端口接收的其他gpu板卡的访问请求;确定模块,用于确定与所述访问请求要访问的全局地址中的地址段对应的gpu板卡;发送模块,用于将所述访问请求发送到所述对应的gpu板卡的存储装置。
13.在一种可能的实现方式中,所述全局地址包括多个全局地址范围,所述多个gpu板卡与所述多个全局地址范围一一对应,任意两个全局地址范围不重叠,其中,所述确定模块,包括:确定所述访问请求要访问的全局地址中的地址段所在的第一全局地址范围;确定所述第一全局地址范围所对应的gpu板卡。
14.在一种可能的实现方式中,所述第一全局地址范围所对应的gpu板卡是第一gpu板卡,所述发送模块,用于将所述访问请求被发送到所述第一gpu板卡的存储装置。
15.在一种可能的实现方式中,所述第一全局地址范围所对应的gpu板卡是第二gpu板卡,其中,所述发送模块,用于:获取所述第一gpu板卡和其他gpu板卡之间的端口连接信息;根据所述端口连接信息得到所述第一gpu板卡和所述第二gpu板卡之间的路由信息;根据所述路由信息将所述访问请求发送到所述第二gpu板卡的存储装置。
16.在一种可能的实现方式中,所述第一gpu板卡与所述第二gpu板卡直接连接,所述发送模块用于将所述访问请求发送到所述第一gpu板卡的与所述第二gpu板卡的端口互联的端口中的至少一个。
17.在一种可能的实现方式中,所述第一gpu板卡与所述第二gpu板卡不直接连接,其中,所述发送模块,用于:根据所述路由信息确定第一gpu板卡与所述第二gpu板之间的最短路径;通过所述最短路径将所述访问请求发送到所述第二gpu板卡的存储装置。
18.在一种可能的实现方式中,所述第一全局地址范围所对应的gpu板卡是第二gpu板卡,其中,所述发送模块,用于:确定所述多个端口中的目标端口,其中,所述目标端口为第一gpu板卡与第三gpu板卡通信的端口,第三gpu板卡为所述第一gpu板卡与第二gpu板卡之间最短路径上的gpu板卡;通过所述目标端口发送所述访问请求。
19.在一种可能的实现方式中,所述装置还包括:信息发送模块,用于将与其他gpu板卡之间的端口连接信息发送给中央处理器,以使所述中央处理器基于所述端口连接信息,确定路由信息;路由信息获取模块,用于从中央处理器获取所述路由信息;配置模块,用于基于所述路由信息,配置所述第一gpu板卡的路由装置,其中,所述路由信息包括在所述第一全局地址范围所对应的gpu板卡是第二gpu板卡的情况下,所述第一gpu板卡用于发送所述访问请求的目标端口。
20.根据本公开的又一方面,提供了一种计算设备。所述计算设备包括根据前述实施例任一项所述的装置。
21.根据本公开的另一方面,提供了一种计算机程序产品。所述计算机程序产品包括计算机可执行指令,其中所述计算机可执行指令被处理器执行时执行根据前述实施例任一项所述的方法。
22.根据本公开的另一方面,提供了一种计算机可读存储介质。所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被执行时,执行根据前述实施例任一项所述的方法。
附图说明
23.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1示出了根据本公开实施例的gpu板卡的结构示意图;图2示出了根据本公开实施例的gpu互联架构;图3示出了根据本公开实施例的在gpu互联架构中实现存储空间互相访问的方法的流程图;图4示出了根据本公开实施例的实现存储空间互相访问的方法的一种示例;图5示出了根据本公开实施例的实现存储空间互相访问的方法的另一种;图6示出了根据本公开实施例的实现存储空间互相访问的方法的另一种示例;图7示出了根据本公开实施例的另一gpu互联架构;图8示出了根据本公开实施例的实现存储空间互相访问的方法的另一种示例;图9示出了根据本公开实施例的实现存储空间互相访问的方法的另一种示例;图10示出了根据本公开实施例的实现存储空间互相访问的方法的另一种示例;图11示出了根据本公开实施例的在gpu互联架构中实现存储空间互相访问的装置的结构示意图;以及图12示出了根据本公开实施例的示例系统。
具体实施方式
25.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
26.根据本公开的一方面,提供了一种在gpu互联架构中实现存储空间互相访问的方法。图1示出了根据本公开实施例的gpu板卡的结构示意图;如图1所示,每个gpu板卡100可以包括处理装置10,例如直接存储器访问dma、gpucore、linkport-rx,控制单元smc等,只要可以发送访问请求即可,本公开对处理装置的类别不作限制。每个gpu板卡100还可以包括路由装置20(例如路由器)和存储装置30(例如显示存储器vram),以及用于与其他gpu板卡通信的多个端口,图1中示意性地示出6个端口,依次为端口0、端口1、端口2、端口3端口4和端口5。
27.图2以四个gpu板卡101、102、103、104为例,示出了根据本公开实施例的gpu互联架构。假设每个gpu板卡的vram大小都为64g,即每个gpu板卡的本地地址范围均为0-64g;那么在物理地址统一编址后,每个gpu板卡的vram的地址如表1所示。统一编址后的全局地址包括从0开始依次排列的多个全局地址范围,多个gpu板卡与多个全局地址范围一一对应。假设gpu板卡中处理装置的地址宽度是48bits,也就是说可以寻址2
^
48=256t的地址范围,如果每张gpu板卡的vram是64g,那么最多可以支持256t/64g=4096个gpu板卡互联,这里仅以4个芯片互联来举例。
28.表1gpu板卡编号本地地址统一编址后的地址
1010-64g0-64g1020-64g64-128g1030-64g128-192g1040-64g192-256g
29.需要说明的是,本公开不限制每个gpu板卡的地址范围的大小、统一编址方式,例如,不同gpu板卡的地址范围大小可以相同或不同,所述全局地址包括多个全局地址范围,所述多个gpu板卡与所述多个全局地址范围一一对应,任意两个全局地址范围不重叠即可。
30.在一种可能的实现方式中,统一编址可以是由处理器(例如,中央处理器cpu等)执行的,其可以获取多个gpu板卡的设备信息,设备信息可以包括gpu板卡的编号和存储装置信息,基于多个gpu板卡的设备信息,确定每个gpu板卡的编址范围,并将编址范围发送至对应的gpu板卡,以使每个gpu板卡基于编址范围对其存储装置进行寻址。也即,每个gpu板卡的全局地址可以是中央处理器统一编址得到的,是基于多个gpu板卡的设备信息确定的。
31.以cpu执行统一编址为例,其可以获取多个gpu板卡之间通信的端口连接信息(例如,可以包括端口编号和端口数量),并基于多个gpu板卡的编址范围和端口连接信息,确定每个gpu板卡的寻址策略(例如,包括路由信息)以及将每个gpu板卡的寻址策略分别发送给对应的gpu板卡,以使gpu板卡基于接收到的寻址策略对多个gpu板卡的存储装置进行寻址。其中,寻址策略可以包括如何对gpu板卡自身的存储装置进行寻址以及对其他gpu板卡的存储装置进行寻址。其中,对其他gpu板卡的存储装置进行寻址可以包括访问请求要访问的第一全局地址范围对应于其他gpu板卡的存储装置的情况下,如何确定目标端口(用于发送该访问请求的端口)等。
32.图3示出了根据本公开实施例的在gpu互联架构中实现存储空间互相访问的方法的流程图。当第一gpu板卡(以图2中的gpu板卡101为例)的要访问gpu互联架构中的任一vram时,执行图3中的以下步骤:s310:第一gpu板卡101的路由装置接收访问请求,并且解析所述访问请求要访问的全局地址中的地址段,所述访问请求包括第一gpu板卡的处理装置发送的访问请求或通过任一端口接收的其他gpu板卡的访问请求;s320:所述第一gpu板卡101的路由装置确定与所述访问请求要访问的全局地址中的地址段对应的gpu板卡(可能是gpu板卡101、102、103、104中的任意一个),s330:所述第一gpu板卡的路由装置将所述访问请求发送到所述对应的gpu板卡(可能是gpu板卡101、102、103、104中的任意一个)的存储装置。
33.在一些实施中,当gpu板卡101要访问的地址段位于全局地址范围0-64g,即要访问的全局地址范围对应于gpu板卡101自身,那么,如图4所示,gpu板卡101的路由装置将访问请求发送到自身的vram(gpu板卡101的本地地址范围0-64g)。类似的,当gpu板卡102的处理装置要访问的地址段位于全局地址范围64-128g,即要访问的全局地址范围64-128g对应于gpu板卡102自身,那么,如图5所示,gpu板卡102的路由装置将访问请求发送到自身的vram(gpu板卡102的本地地址范围0-64g)。
34.在一些实施例中,当gpu板卡101要访问的地址段位于全局地址范围64-128g、128-192g、或192-256g,即要访问的全局地址范围对应于gpu板卡102、103或104。在这种情况下,上述步骤s330第一gpu板卡的路由装置将所述访问请求发送到所述对应的gpu板卡的存储
装置,包括:所述第一gpu板卡的路由装置获取所述第一gpu板卡和第二gpu板卡之间的端口连接信息;所述第一gpu板卡的路由装置根据所述端口连接信息得到所述第一gpu板卡和所述第二gpu板卡之间的路由信息;所述第一gpu板卡的路由装置根据所述路由信息将所述访问请求发送到所述第二gpu板卡的存储装置。
35.需要说明的是,在步骤“第一gpu板卡的路由装置获取所述第一gpu板卡和第二gpu板卡之间的端口连接信息”中,端口连接信息可以是预先确定的,已经配置在第一gpu板卡的路由装置内部的存储单元或已经上传到中央处理器,第一gpu板卡的路由装置可以从自身的存储单元获取该端口连接信息,或者第一gpu板卡的路由装置可以从中央处理器获取该端口连接信息。第一gpu板卡的路由装置可以动态获取端口连接信息,以确定与第二gpu板卡之间的路由信息,并根据确定的路由信息发送访问请求。
36.在一些实施例中,以图2所示的gpu板卡互联架构为例,当gpu板卡101的要访问的地址段位于例如全局地址范围64-128g,即要访问的全局地址范围对应于gpu板卡102。gpu板卡101与gpu板卡102之间是有端口直接连接的,gpu板卡101与gpu板卡102之间的端口连接信息为:gpu板卡101的端口0与gpu板卡102的端口3互联,gpu板卡101的端口3与gpu板卡102的端口0互联。那么,如图6所示,gpu板卡101的路由装置将所述访问请求发送到第一gpu板卡101的与所述第二gpu板卡102的端口互联的端口中的至少一个,即,gpu板卡101将访问请求发送到端口0或端口3,或者同时发送到端口0或端口3二者。
37.需要说明的是,如前所述,在两个gpu板卡可以通过多个端口互联的情况下,可以通过互联的多个端口中的至少一个发送访问请求,在该情况下,互联的每个端口都可以访问到对应gpu卡的所有全局地址,可选的,可以轮流使用多个端口发送访问请求。可选的,在每个端口可以访问到对应的gpu卡的部分全局地址的情况下,还可以确定要访问的第一全局地址范围对应的多个端口中的目标端口,通过目标端口,以发送访问请求,本公开对此不作限制。
38.在一些实施例中,如图7所示的gpu板卡互联架构为例,gpu板卡101和gpu板卡104之间没有端口直接连接。当gpu板卡101的要访问的地址段位于全局地址范围192-256g,即要访问的全局地址范围对应于gpu板卡104,由于gpu板卡101和gpu板卡104不直接连接,就需要gpu板卡102或gpu板卡103进行转发。如上所述,可以获取gpu板卡101与其他gpu板卡之间的端口连接信息,并基于端口连接信息确定和gpu板卡104之间的路由信息,然后gpu板卡101的路由装置根据路由信息将访问请求发送到gpu板卡104的存储装置。
39.可选地,上述步骤第一gpu板卡的路由装置根据所述路由信息将所述访问请求发送到所述第二gpu板卡(这里是gpu板卡104)的存储装置,可以包括:第一gpu板卡的路由装置根据所述路由信息确定第一gpu板卡101与所述第二gpu板104之间的最短路径,通过所述最短路径将所述访问请求发送到所述第二gpu板卡104的存储装置。在图7所示的gpu板卡互联架构中,例如可以选择通过gpu板卡102转发,首先,如图8所示,gpu板卡101将访问请求发送到端口0或端口3,从而到达gpu板卡102的端口3或端口0;然后,如图9所示,gpu板卡102将访问请求发送到端口4或端口5,从而到达gpu板卡104的端口3或端口4;最后,如图10所示,gpu板卡104接收到访问请求发现要访问的地址范围192-256g对应于其自身的全局地址范围,则将访问请求发送到自身的vram(gpu板卡104的本地地址范围0-64g)。
40.在一些实施例中,第一gpu板卡的路由装置可以将与其他gpu板卡之间的端口连接
信息发送给中央处理器,以使所述中央处理器基于所述端口连接信息,确定路由信息;所述第一gpu板卡的路由装置从中央处理器获取所述路由信息;基于所述路由信息,配置所述第一gpu板卡的路由装置,其中,所述路由信息包括在所述第一全局地址范围所对应的gpu板卡是第二gpu板卡的情况下,所述第一gpu板卡用于发送所述访问请求的目标端口。在这种情况下,上述步骤s330所述第一gpu板卡的路由装置将所述访问请求发送到所述对应的gpu板卡的存储装置,包括:所述第一gpu板卡的路由装置确定所述多个端口中的目标端口,其中,所述目标端口为第一gpu板卡与第三gpu板卡通信的端口,第三gpu板卡为所述第一gpu板卡与第二gpu板卡之间最短路径上的gpu板卡;所述第一gpu板卡的路由装置通过所述目标端口发送所述访问请求。其中,第二gpu板卡为第一全局地址范围对应的gpu板卡。
41.需要说明的是,还可以由第一gpu板卡或者其他处理器确定上述路由信息,例如,可以由第一gpu板卡发送路由信息探索包,基于探索包的反馈速度,确定优选的目标端口(例如,基于平均反馈速度最快的探索包对应的路由路径,确定优选的目标端口),只要能确定出在所述第一全局地址范围所对应的gpu板卡是第二gpu板卡的情况下,所述第一gpu板卡用于发送所述访问请求的目标端口即可,本公开对此不做限制。
42.利用本技术提供的在gpu互联架构中实现存储空间互相访问的方法,允许集成在计算设备中的多个gpu板卡进行任意互联,最终各个gpu板卡内部的处理装置(例如dma、gpucore、linkport-rx,smc等)均可访问任意gpu板卡的存储装置(例如显示存储器vram),从而实现计算资源或存储资源的共享。
43.根据本公开的另一方面,提供了一种在gpu互联架构中实现存储空间互相访问的装置。gpu互联架构包括:互联的多个gpu板卡;每一个所述gpu板卡包括处理装置、存储装置、所述路由装置、以及与其他gpu板卡通信的多个端口;每一个gpu板卡具有各自的本地地址范围;多个本地地址范围被统一编址,形成全局地址。如图11所示,装置包括:接收模块201,用于接收访问请求,并且解析所述访问请求要访问的全局地址中的地址段,所述访问请求包括第一gpu板卡的处理装置发送的访问请求或通过任一端口接收的其他gpu板卡的访问请求所述访问请求包括第一gpu板卡的处理装置发送的访问请求或通过任一端口接收的其他gpu板卡的访问请求;确定模块202,用于确定与所述访问请求要访问的全局地址中的地址段对应的gpu板卡;发送模块203,用于将所述访问请求发送到所述对应的gpu板卡的存储装置。
44.在一种可能的实现方式中,所述全局地址包括多个全局地址范围,所述多个gpu板卡与所述多个全局地址范围一一对应,任意两个全局地址范围不重叠,其中,所述确定模块,包括:确定所述访问请求要访问的全局地址中的地址段所在的第一全局地址范围;确定所述第一全局地址范围所对应的gpu板卡。
45.在一种可能的实现方式中,所述第一全局地址范围所对应的gpu板卡是第一gpu板卡,所述发送模块,用于将所述访问请求被发送到所述第一gpu板卡的存储装置。
46.在一种可能的实现方式中,所述第一全局地址范围所对应的gpu板卡是第二gpu板卡,其中,所述发送模块,用于:获取所述第一gpu板卡和其他gpu板卡之间的端口连接信息;
根据所述端口连接信息得到所述第一gpu板卡和所述第二gpu板卡之间的路由信息;根据所述路由信息将所述访问请求发送到所述第二gpu板卡的存储装置。
47.在一种可能的实现方式中,所述第一gpu板卡与所述第二gpu板卡直接连接,所述发送模块用于将所述访问请求发送到所述第一gpu板卡的与所述第二gpu板卡的端口互联的端口中的至少一个。
48.在一种可能的实现方式中,所述第一gpu板卡与所述第二gpu板卡不直接连接,其中,所述发送模块,用于:根据所述路由信息确定第一gpu板卡与所述第二gpu板之间的最短路径;通过所述最短路径将所述访问请求发送到所述第二gpu板卡的存储装置。
49.在一种可能的实现方式中,所述第一全局地址范围所对应的gpu板卡是第二gpu板卡,其中,所述发送模块,用于:确定所述多个端口中的目标端口,其中,所述目标端口为第一gpu板卡与第三gpu板卡通信的端口,第三gpu板卡为所述第一gpu板卡与第二gpu板卡之间最短路径上的gpu板卡;通过所述目标端口发送所述访问请求。
50.在一种可能的实现方式中,所述装置还包括:信息发送模块,用于将与其他gpu板卡之间的端口连接信息发送给中央处理器,以使所述中央处理器基于所述端口连接信息,确定路由信息;路由信息获取模块,用于从中央处理器获取所述路由信息;配置模块,用于基于所述路由信息,配置所述第一gpu板卡的路由装置,其中,所述路由信息包括在所述第一全局地址范围所对应的gpu板卡是第二gpu板卡的情况下,所述第一gpu板卡用于发送所述访问请求的目标端口。
51.根据本公开的又一方面,提供了一种计算设备。所述计算设备包括根据前述实施例任一项所述的装置。
52.根据本公开的另一方面,提供了一种计算机程序产品。所述计算机程序产品包括计算机可执行指令,其中所述计算机可执行指令被处理器执行时执行根据前述实施例任一项所述的方法。
53.根据本公开的另一方面,提供了一种计算机可读存储介质。所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被执行时,执行根据前述实施例任一项所述的方法。
54.图12示出了根据本公开实施例的示例系统1200,其包括代表可以实现本公开描述的各种技术的一个或多个系统和/或设备的示例计算设备1210。计算设备1210可以是例如服务提供商的服务器、与服务器相关联的设备、片上系统、和/或任何其它合适的计算设备或计算系统。
55.如图示的示例计算设备1210包括彼此通信耦合的处理系统1211、一个或多个计算机可读介质1212以及一个或多个i/o接口1213。尽管未示出,但是计算设备1210还可以包括系统总线或其他数据和命令传送系统,其将各种组件彼此耦合。系统总线可以包括不同总
线结构的任何一个或组合,所述总线结构诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任何一种的处理器或局部总线。还构思了各种其他示例,诸如控制和数据线。
56.处理系统1211代表使用硬件执行一个或多个操作的功能。因此,处理系统1211被图示为包括可被配置为处理器、功能块等的硬件元件1214。这可以包括在硬件中实现为专用集成电路或使用一个或多个半导体形成的其它逻辑器件。硬件元件1214不受其形成的材料或其中采用的处理机构的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(ic))组成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
57.计算机可读介质1212被图示为包括存储器/存储装置1215。存储器/存储装置1215表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储装置1215可以包括易失性介质(诸如随机存取存储器(ram))和/或非易失性介质(诸如只读存储器(rom)、闪存、光盘、磁盘等)。存储器/存储装置1215可以包括固定介质(例如,ram、rom、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。计算机可读介质1212可以以下面进一步描述的各种其他方式进行配置。
58.一个或多个i/o接口1213代表允许用户使用各种输入设备向计算设备1210输入命令和信息并且可选地还允许使用各种输出设备将信息呈现给用户和/或其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的容性或其他传感器)、相机(例如,可以采用可见或不可见的波长(诸如红外频率)将不涉及触摸的运动检测为手势)等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,计算设备1210可以以下面进一步描述的各种方式进行配置以支持用户交互。
59.计算设备1210还包括应用1216。应用1216可以例如是实现gpu互联架构的软件实施例,并且与计算设备1210中的其他元件相组合地实现本公开描述的技术。
60.本公开可以在软件硬件元件或程序模块的一般上下文中描述各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本公开所使用的术语“模块”,“功能”和“组件”一般表示软件、固件、硬件或其组合。本公开描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
61.所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可由计算设备1210访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
62.与单纯的信号传输、载波或信号本身相反,“计算机可读存储介质”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于ram、rom、eeprom、闪存或其它存储器技术、cd-rom、数字通用盘(dvd)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质
或适于存储期望信息并可以由计算机访问的制品。
[0063]“计算机可读信号介质”是指被配置为诸如经由网络将指令发送到计算设备1210的硬件的信号承载介质。信号介质典型地可以将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波、数据信号或其它传输机制的调制数据信号中。信号介质还包括任何信息传递介质。术语“调制数据信号”是指这样的信号,该信号的特征中的一个或多个被设置或改变,从而将信息编码到该信号中。作为示例而非限制,通信介质包括诸如有线网络或直接连线的有线介质以及诸如声、rf、红外和其它无线介质的无线介质。
[0064]
如前所述,硬件元件1214和计算机可读介质1212代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以用于实现本公开描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统、专用集成电路(asic)、现场可编程门阵列(fpga)、复杂可编程逻辑器件(cpld)以及硅中的其它实现或其他硬件设备的组件。在这种上下文中,硬件元件可以作为执行由硬件元件所体现的指令、模块和/或逻辑所定义的程序任务的处理设备,以及用于存储用于执行的指令的硬件设备,例如,先前描述的计算机可读存储介质。
[0065]
前述的组合也可以用于实现本公开所述的各种技术和模块。因此,可以将软件、硬件或程序模块和其它程序模块实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1214体现的一个或多个指令和/或逻辑。计算设备1210可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用处理系统的计算机可读存储介质和/或硬件元件1214,可以至少部分地以硬件来实现将模块实现为可由计算设备1210作为软件执行的模块。指令和/或功能可以由一个或多个制品(例如,一个或多个计算设备1210和/或处理系统1211)可执行/可操作以实现本公开所述的技术、模块和示例。
[0066]
在各种实施方式中,计算设备1210可以采用各种不同的配置。例如,计算设备1210可以被实现为包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等的计算机类设备。计算设备1210还可以被实现为包括诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等移动设备的移动装置类设备。计算设备1210还可以实现为电视类设备,其包括具有或连接到休闲观看环境中的一般地较大屏幕的设备。这些设备包括电视、机顶盒、游戏机等。
[0067]
需要说明的是,在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个
元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
[0068]
本公开的说明书中,说明了大量具体细节。然而能够理解的是,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实施例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开公开并帮助理解各个公开方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本公开要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,公开方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例。
[0069]
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此。任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

技术特征:


1.一种在gpu互联架构中实现存储空间互相访问的方法,其特征在于,所述gpu互联架构包括:互联的多个gpu板卡;每一个所述gpu板卡包括处理装置、存储装置、路由装置、以及与其他gpu板卡通信的多个端口;每一个gpu板卡的存储装置具有各自的本地地址范围;多个本地地址范围被统一编址,形成全局地址;所述方法包括:第一gpu板卡的路由装置接收访问请求,并且解析所述访问请求要访问的全局地址中的地址段,所述访问请求包括第一gpu板卡的处理装置发送的访问请求或通过任一端口接收的其他gpu板卡的访问请求;所述第一gpu板卡的路由装置确定与所述访问请求要访问的全局地址中的地址段对应的gpu板卡;所述第一gpu板卡的路由装置将所述访问请求发送到所述对应的gpu板卡的存储装置。2.根据权利要求1所述的方法,其特征在于:所述全局地址包括多个全局地址范围,所述多个gpu板卡与所述多个全局地址范围一一对应,任意两个全局地址范围不重叠,其中,所述第一gpu板卡的路由装置确定与所述访问请求要访问的全局地址中的地址段对应的gpu板卡,包括:所述第一gpu板卡的路由装置确定所述访问请求要访问的全局地址中的地址段所在的第一全局地址范围;所述第一gpu板卡的路由装置确定所述第一全局地址范围所对应的gpu板卡。3.根据权利要求2所述的方法,其特征在于:所述第一全局地址范围所对应的gpu板卡是第一gpu板卡,所述访问请求被发送到所述第一gpu板卡的存储装置。4.根据权利要求2所述的方法,其特征在于:所述第一全局地址范围所对应的gpu板卡是第二gpu板卡,其中,所述第一gpu板卡的路由装置将所述访问请求发送到所述对应的gpu板卡的存储装置,包括:所述第一gpu板卡的路由装置获取所述第一gpu板卡和其他gpu板卡之间的端口连接信息;所述第一gpu板卡的路由装置根据所述端口连接信息得到所述第一gpu板卡和所述第二gpu板卡之间的路由信息;所述第一gpu板卡的路由装置根据所述路由信息将所述访问请求发送到所述第二gpu板卡的存储装置。5.根据权利要求4所述的方法,其特征在于:所述第一gpu板卡与所述第二gpu板卡直接连接,所述第一gpu板卡的路由装置将所述访问请求发送到所述第一gpu板卡的与所述第二gpu板卡的端口互联的端口中的至少一个。6.根据权利要求4所述的方法,其特征在于:所述第一gpu板卡与所述第二gpu板卡不直接连接,其中,所述第一gpu板卡的路由装置根据所述路由信息将所述访问请求发送到所述第二gpu板卡的存储装置,包括:所述第一gpu板卡的路由装置根据所述路由信息确定第一gpu板卡与所述第二gpu板之间的最短路径;
所述第一gpu板卡的路由装置通过所述最短路径将所述访问请求发送到所述第二gpu板卡的存储装置。7.根据权利要求2所述的方法,其特征在于,所述第一全局地址范围所对应的gpu板卡是第二gpu板卡,其中,所述第一gpu板卡的路由装置将所述访问请求发送到所述对应的gpu板卡的存储装置,包括:所述第一gpu板卡的路由装置确定所述多个端口中的目标端口,其中,所述目标端口为第一gpu板卡与第三gpu板卡通信的端口,第三gpu板卡为所述第一gpu板卡与第二gpu板卡之间最短路径上的gpu板卡;所述第一gpu板卡的路由装置通过所述目标端口发送所述访问请求。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:第一gpu板卡的路由装置将与其他gpu板卡之间的端口连接信息发送给中央处理器,以使所述中央处理器基于所述端口连接信息,确定路由信息;所述第一gpu板卡的路由装置从中央处理器获取所述路由信息;基于所述路由信息,配置所述第一gpu板卡的路由装置,其中,所述路由信息包括在所述第一全局地址范围所对应的gpu板卡是第二gpu板卡的情况下,所述第一gpu板卡用于发送所述访问请求的目标端口。9.一种在gpu互联架构中实现存储空间互相访问的装置,其特征在于,所述gpu互联架构包括:互联的多个gpu板卡;每一个所述gpu板卡包括处理装置、存储装置、路由装置、以及与其他gpu板卡通信的多个端口;每一个gpu板卡具有各自的本地地址范围;多个本地地址范围被统一编址,形成全局地址,所述装置包括:接收模块,用于接收访问请求,并且解析所述访问请求要访问的全局地址中的地址段,所述访问请求包括第一gpu板卡的处理装置发送的访问请求或通过任一端口接收的其他gpu板卡的访问请求;确定模块,用于确定与所述访问请求要访问的全局地址中的地址段对应的gpu板卡;发送模块,用于将所述访问请求发送到所述对应的gpu板卡的存储装置。10.一种计算设备,其特征在于,包括根据权利要求9所述的装置。11.一种计算机程序产品,其特征在于,包括计算机可执行指令,其中所述计算机可执行指令被处理器执行时执行根据权利要求1-8中任一项所述的方法。12.一种计算机可读存储介质,其特征在于,其存储有计算机可执行指令,当所述计算机可执行指令被执行时,执行根据权利要求1-8中任一项所述的方法。

技术总结


本公开提供了一种在GPU互联架构中实现存储空间互相访问的方法、装置、计算设备、计算机程序产品、以及计算机可读存储介质。GPU互联架构包括:互联的多个GPU板卡;每个GPU板卡包括处理装置、存储装置、路由装置、以及与其他GPU板卡通信的多个端口;每一个GPU板卡的存储装置具有各自的本地地址范围;多个本地地址范围被统一编址,形成全局地址。该方法包括:第一GPU板卡的路由装置接收访问请求,并且解析访问请求要访问的全局地址中的地址段;第一GPU板卡的路由装置确定与访问请求要访问的全局地址中的地址段对应的GPU板卡;第一GPU板卡的路由装置将访问请求映射到对应的GPU板卡的存储装置。储装置。储装置。


技术研发人员:

请求不公布姓名

受保护的技术使用者:

摩尔线程智能科技(北京)有限责任公司

技术研发日:

2022.12.23

技术公布日:

2023/3/10

本文发布于:2024-09-24 09:22:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/69859.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:板卡   所述   装置   路由
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议