本公开涉及计算机,具体地,涉及一种gpu互联架构、实现gpu互联架构的方法、计算设备、计算机程序产品、以及计算机可读存储介质。
背景技术:
1、图形处理器(graphics processing unit,也称为gpu)是一种专用于个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)的微处理器,实现图像和图形相关的运算工作。随着计算机技术的发展,在高端图形处理器的3d运算中,数据的吞吐量巨大,因此服务器平台对pcie资源有着超出常规的需求。为满足超强运算能力的需求,可以将多个gpu板卡集成在计算设备的内部。
技术实现思路
1、发明人注意到,对于多个互联的gpu板卡而言,每个gpu板卡的通信端口上的数据流量(即,负载)通常是不均衡的。本公开以数据包为粒度进行调度,实现了每个gpu板卡上的多个端口的均衡负载,从而更充分地利用了显存带宽。
2、根据本公开的一方面,提供了一种gpu互联架构。所述gpu互联架构包括:互联的至少两个gpu板卡;所述至少两个gpu板卡的每一个包括显示存储器和n个通信端口,并且使用至少两个通信端口来访问与该gpu板卡互联的gpu板卡的显示存储器,其中n是大于或等于2的整数。所述至少两个gpu板卡的每一个配置为:根据计数值,轮流地使用所述n个通信端口中的至少两个通信端口来访问与该gpu板卡互联的gpu板卡的显示存储器。
3、在一些实施例中,所述至少两个gpu板卡的每一个还包括用于生成所述计数值的计数器。
4、在一些实施例中,所述计数器从0开始计数,并且所述计数值的最大值等于n-1。
5、在一些实施例中,所述至少两个gpu板卡的每一个还包括路由器,所述路由器配置为:解析访问请求中的地址信息,并将所述访问请求发送至所述n个通信端口中的一个。
6、在一些实施例中,所述路由器包括多个路由器单元;与该gpu板卡互联的gpu板卡的显示存储器包括多个地址范围,所述多个路由器单元与所述多个地址范围一一对应。
7、在一些实施例中,所述至少两个gpu板卡的每一个还包括多个多路复用器;所述多个多路复用器与所述多个路由器单元一一对应,并且所述多个多路复用器的每一个与所述n个通信端口可通信地连接。
8、在一些实施例中,所述多个多路复用器的每一个配置为:接收对应的路由器单元发送的访问请求,并根据所述计数值将所述访问请求发送至所述n个通信端口中的一个。
9、在一些实施例中,所述至少两个gpu板卡的每一个还包括桥接器,所述多个多路复用器的每一个经由所述桥接器与所述n个通信端口可通信地连接;所述桥接器包括n个连接模块,所述n个连接模块与所述n个通信端口一一对应;所述n个连接模块的每一个与对应的通信端口可通信地连接。
10、在一些实施例中,所述多个多路复用器的每一个包括寄存器,所述寄存器存储所述n个通信端口中的至少两个通信端口的地址。
11、根据本公开的另一方面,提供了一种实现gpu互联架构的方法。所述gpu互联架构包括互联的至少两个gpu板卡,所述至少两个gpu板卡的每一个包括显示存储器和n个通信端口,并且使用至少两个通信端口来访问与该gpu板卡互联的gpu板卡的显示存储器,其中n是大于或等于2的整数,所述方法包括:
12、将所述至少两个gpu板卡的每一个配置为:根据计数值,轮流地使用所述n个通信端口中的至少两个通信端口来访问与该gpu板卡互联的gpu板卡的显示存储器。
13、在一些实施例中,所述至少两个gpu板卡的每一个还包括用于生成所述计数值的计数器。
14、在一些实施例中,所述计数器从0开始计数,并且所述计数值的最大值等于n-1。
15、在一些实施例中,所述至少两个gpu板卡的每一个还包括路由器,所述路由器配置为:解析访问请求中的地址信息,并将所述访问请求发送至所述n个通信端口中的一个。
16、在一些实施例中,所述路由器包括多个路由器单元;与该gpu板卡互联的gpu板卡的显示存储器包括多个地址范围,所述多个路由器单元与所述多个地址范围一一对应。
17、在一些实施例中,所述至少两个gpu板卡的每一个还包括多个多路复用器;所述多个多路复用器与所述多个路由器单元一一对应,并且所述多个多路复用器的每一个与所述n个通信端口可通信地连接。
18、在一些实施例中,所述多个多路复用器的每一个配置为:接收对应的路由器单元发送的访问请求,并根据所述计数值将所述访问请求发送至所述n个通信端口中的一个。
19、在一些实施例中,所述至少两个gpu板卡的每一个还包括桥接器,所述多个多路复用器的每一个经由所述桥接器与所述n个通信端口可通信地连接;所述桥接器包括n个连接模块,所述n个连接模块与所述n个通信端口一一对应;所述n个连接模块的每一个与对应的通信端口可通信地连接。
20、在一些实施例中,所述多个多路复用器的每一个包括寄存器,所述寄存器存储所述n个通信端口中的至少两个通信端口的地址。
21、根据本公开的又一方面,提供了一种计算设备。所述计算设备包括根据前述实施例任一项所述的gpu互联架构。
22、根据本公开的另一方面,提供了一种计算机程序产品。所述计算机程序产品包括计算机可执行指令,其中所述计算机可执行指令被处理器执行时执行根据前述实施例任一项所述的方法。
23、根据本公开的另一方面,提供了一种计算机可读存储介质。所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被执行时,执行根据前述实施例任一项所述的方法。
1.一种gpu互联架构,其特征在于,包括:互联的至少两个gpu板卡;所述至少两个gpu板卡的每一个包括显示存储器和n个通信端口,并且使用至少两个通信端口来访问与该gpu板卡互联的gpu板卡的显示存储器,其中n是大于或等于2的整数;
2.根据权利要求1所述的gpu互联架构,其特征在于,所述至少两个gpu板卡的每一个还包括用于生成所述计数值的计数器。
3.根据权利要求2所述的gpu互联架构,其特征在于,所述计数器从0开始计数,并且所述计数值的最大值等于n-1。
4.根据权利要求1所述的gpu互联架构,其特征在于,所述至少两个gpu板卡的每一个还包括路由器,所述路由器配置为:解析访问请求中的地址信息,并将所述访问请求发送至所述n个通信端口中的一个。
5.根据权利要求4所述的gpu互联架构,其特征在于,所述路由器包括多个路由器单元;与该gpu板卡互联的gpu板卡的显示存储器包括多个地址范围,所述多个路由器单元与所述多个地址范围一一对应。
6.根据权利要求5所述的gpu互联架构,其特征在于,所述至少两个gpu板卡的每一个还包括多个多路复用器;所述多个多路复用器与所述多个路由器单元一一对应,并且所述多个多路复用器的每一个与所述n个通信端口可通信地连接。
7.根据权利要求6所述的gpu互联架构,其特征在于,所述多个多路复用器的每一个配置为:接收对应的路由器单元发送的访问请求,并根据所述计数值将所述访问请求发送至所述n个通信端口中的一个。
8.根据权利要求6所述的gpu互联架构,其特征在于,所述至少两个gpu板卡的每一个还包括桥接器,所述多个多路复用器的每一个经由所述桥接器与所述n个通信端口可通信地连接;所述桥接器包括n个连接模块,所述n个连接模块与所述n个通信端口一一对应;所述n个连接模块的每一个与对应的通信端口可通信地连接。
9.根据权利要求6所述的gpu互联架构,其特征在于,所述多个多路复用器的每一个包括寄存器,所述寄存器存储所述n个通信端口中的至少两个通信端口的地址。
10.一种实现gpu互联架构的方法,其特征在于,所述gpu互联架构包括互联的至少两个gpu板卡,所述至少两个gpu板卡的每一个包括显示存储器和n个通信端口,并且使用至少两个通信端口来访问与该gpu板卡互联的gpu板卡的显示存储器,其中n是大于或等于2的整数,所述方法包括:
11.一种计算设备,其特征在于,包括根据权利要求1-9任一项所述的gpu互联架构。
12.一种计算机程序产品,其特征在于,包括计算机可执行指令,其中所述计算机可执行指令被处理器执行时执行根据权利要求10所述的方法。
13.一种计算机可读存储介质,其特征在于,其存储有计算机可执行指令,当所述计算机可执行指令被执行时,执行根据权利要求10所述的方法。