图形处理器、数据传输方法、装置、电子设备和存储介质与流程

专利2022-05-09  114



1.本申请涉及计算机图像处理技术领域,具体地,涉及一种图形处理器、数据传输方法、装置、电子设备和存储介质。


背景技术:

2.图形处理器(graphics processing unit,gpu)是一种专门在个人电脑,工作站,游戏机和一些移动设备上做图像和图形相关运算工作的微处理器。在gpu进行图像处理时,通常使用多片gpu互相协作,各自完成一部分图像处理的任务。
3.多片gpu之间的互相协作,需要多片gpu之间进行数据通信,通常采用专用的高速串行互连总线实现数据通信。然而,使用专用的高速互联串行互连总线,需要额外接口,给gpu之间的互连带来了困难。


技术实现要素:

4.本申请实施例中提供了一种图形处理器和数据传输方法,可以有效解决gpu之间的互连困难的问题。
5.根据本申请实施例的第一个方面,提供了一种图形处理器,该图形处理器包括:连接模块,发送转接模块,发送器,接收转接模块以及接收器;所述连接模块,用于从片内互联总线获取待发送的第一数据并生成第一数据包,或用于对接收到第二数据包进行解析得到第二数据后发送至所述片内互联总线用于从片内互联总线获取待发送的第一数据并生成第一数据包,或用于对接收到第二数据包进行解析得到第二数据后发送至所述片内互联总线;所述发送转接模块,用于将生成的所述第一数据包转发至所述发送器;所述发送器,用于将所述生成的所述第一数据包发送至另一图形处理器的接收器;所述接收器,用于接收另一图形处理器的发送器发送的第二数据包;所述接收转接模块,用于将接收器接收到的所述第二数据包转发至所述连接模块。
6.根据本申请实施例的第二个方面,提供了一种数据传输方法,应用于第一个方面提供的图形处理器,该方法包括:获取第一数据,所述第一数据为需要发送至另一图形处理器的数据;对所述第一数据进行打包,得到第一数据包;将所述第一数据包通过发送器发送给相连的另一图形处理器的接收器。
7.根据本申请实施例的第三个方面,提供了一种数据传输装置,应用于第一个方面提供的图形处理器,该装置包括:接收模块,用于获取第一数据,所述第一数据为需要发送至另一图形处理器的数据;处理模块,用于对所述第一数据进行打包,得到第一数据包;传输模块,用于将所述第一数据包通过发送器发送给相连的另一图形处理器的接收器。
8.根据本申请实施例的第四个方面,提供了一种电子设备,该电子设备包括至少两个第一个方面提供的所述图形处理器,所述图形处理器用于执行第二个方面提供的数据传输方法。
9.根据本申请实施例的第五个方面,本申请实施列提供一种计算机可读存储介质,
所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
10.采用本申请实施例中提供的图形处理器,包括连接模块,发送转接模块,发送器,接收转接模块以及接收器;所述连接模块,用于从片内互联总线获取待发送的第一数据并生成第一数据包,或用于对接收到第二数据包进行解析得到第二数据后发送至所述片内互联总线;所述发送转接模块,用于将生成的所述第一数据包转发至所述发送器;所述发送器,用于将所述生成的所述第一数据包发送至另一图形处理器的接收器;所述接收器,用于接收另一图形处理器的发送器发送的第二数据包;所述接收转接模块,用于将接收器接收到的所述第二数据包转发至所述连接模块。在gpu中设计连接模块,通过连接模块可以直接实现gpu之间通过接收器和发送器进行互连,无需额外的接口,可以有效降低gpu之间互连的难度。
附图说明
11.此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
12.图1为本申请实施例提供的实现图形处理器互连的原理图;
13.图2为本申请一个实施例提供的图形处理器的架构图;
14.图3为本申请一个实施例提供的连接模块的架构图;
15.图4为本申请一个实施例提供的数据包的组织结构示意图;
16.图5为本申请一个实施例提供的数据传输方法的流程图;
17.图6为本申请另一个实施例提供的数据传输方法的流程图;
18.图7为本申请一个实施例提供的数据传输装置的功能模块图;
19.图8为本申请实施例提出的用于执行根据本申请实施例的数据传输方法的电子设备的结构框图。
具体实施方式
20.图形处理器(graphics processing unit,gpu)是一种专门在个人电脑,工作站,游戏机和一些移动设备上做图像和图形相关运算工作的微处理器。在gpu进行图像处理时,通常使用多片gpu互相协作,各自完成一部分图像处理的任务。
21.多片gpu之间的互相协作,需要多片gpu之间进行数据通信,通常采用专用的高速串行互连总线实现数据通信。然而,使用专用的高速互联串行互连总线,需要额外接口,给gpu之间的互连带来了困难。
22.发明人在研究中发现,在很多gpu设计中,同时存在hdmi_tx(发送器)和hdmi_rx(接收器)。对于某些板卡应用中,hdmi_tx和hdmi_rx未同时使用的情况时,可以将多片hdmi_tx和hdmi_rx连接起来,实现将多片gpu互连起来,组成一种专用数据通道。
23.请参阅图1,示出了本申请实施例提供的实现gpu互连的原理图。
24.在图1中,存在两个gpu,分别为gpu(a)和gpu(b),其中,gpu(a)和gpu(b)通过pcie总线与pcie_swich连接,pcie_switc通过pcie总线与上层设备,即中央处理器(central processing unit,cpu)连接。此时在主机控制下,两片gpu之间,gpu(a)可以通过hdmit_tx
发送数据到gpu(b)的hdmi_rx接口,gpu(b)可以完成数据接收,同时gpu(b)也可以通过自身的hdmi_tx发送数据到gpu(a)的hdmi_rx接口。
25.在这种数据模式中,hdmi_tx和hdmi_rx作为数据传输的主线,trans_lane
×
3表示3组传输线,对应rgb色度分量。gpio连接线作为数据流量控制管理信号,即图1中的receivepermit,由接收设备返回给发送设备,作为当前数据传输的允许信号。发明人发现,可以在gpu中设置一个连接模块,通过该连接模块直接实现gpu之间的互连,从而可以在不需要额外的接口的情况下,实现gpu之间的互联。
26.因此,本申请实施例中提供了一种图形处理器,所述图形处理器包括连接模块,发送转接模块,发送器,接收转接模块以及接收器;所述连接模块,用于从片内互联总线获取待发送的第一数据并生成第一数据包,或用于对接收到第二数据包进行解析得到第二数据后发送至所述片内互联总线;所述发送转接模块,用于将生成的所述第一数据包转发至所述发送器;所述发送器,用于将所述生成的所述第一数据包发送至另一图形处理器的接收器;所述接收器,用于接收另一图形处理器的发送器发送的第二数据包;所述接收转接模块,用于将接收器接收到的所述第二数据包转发至所述连接模块。在gpu中设计连接模块,通过连接模块可以直接实现gpu之间通过接收器和发送器进行互连,无需额外的接口,可以有效降低gpu之间互连的难度。
27.为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
28.请参阅图2,示出了本申请一个实施例提供的图形处理器的架构图。图形处理器(graphics processing unit,gpu)100包括连接模块10,发送转接模块20,发送器30,接收转接模块40,以及接收器50。其中,所述连接模块10用于生成数据包或对接收到数据包进行解析;所述发送转接模块20用于将生成的数据包转发至发送器30;所述接收转接模块40用于将接收器接收到的数据包转发至所述连接模块10。
29.可以理解的是,gpu与gpu连接之后,可以系统完成复杂绘图和计算任务,每一片gpu既可以作为数据的发送端,也可以作为数据的接收端。
30.在所述gpu作为发送端时,所述连接模块10可以通过片内互连总线获取需要发送的数据,即第一数据,所述片内互连总线是指芯片内部互连总线,例如,先进可扩展接口(advanced extensible interface,axi)互连总线,高级高性能总线(advanced high performance bus,ahb),外围总线(advanced peripheral bus,apb),还可以是其他自定义总线。所述片内互连总线可以根据实际的需要进行设置,在此不做具体限定,在本申请实施例中,仅以片内互连总线为axi互连总线为例进行详细阐述。也就是说,所述连接模块10可以从axi互联总线处,获取需要发送的数据。所述连接模块10在获取到需要发送的数据后,可以对所述需要发送至另一图形处理器的数据进行打包。也就是说可以获取待发送的第一数据,并根据第一数据生成第一数据包。连接模块10将生成的所述第一数据包发送给发送转接模块20,发送转接模块20在接收到所述第一数据包时,将所述第一数据包发送给发送器30,从而所述发送器30可以将所述第一数据包发送给其他gpu的接收器。
31.预先设置有预设数据包格式,所述连接模块10可以是按照所述预设数据包格式对
所述第一数据进行打包,得到为预设数据包格式的第一数据包。其中,所述预设数据包格式包括包头字段,包负载字段,以及包尾字段。也就是说,连接模块10可以将所述第一数据按照包头字段,包负载字段,以及包尾字段进行封装,得到所述第一数据包。
32.在所述gpu 100作为接收端时,接收器50可以接收到其他gpu发送的数据包,定义该数据包为第二数据包。在所述接收器50接收到所述第二数据包后,可以将所述第二数据包发送给所述接收转接模块40,所述接收转接模块40再将所述第二数据包发送给片内互联总线。所述连接模块10可以对所述第二数据包进行解析,得到真实的传输数据即第二数据,以及目的地址,所述连接模块10再通过所述片内互连总线,将所述第二数据发送到目的地址。
33.在所述连接模块10在生成所述第一数据包时,可以是按照预设数据包格式对第一数据进行打包,得到的所述第一数据包中,包括目的地址,数据长度,负载数据等信息。可以理解的是,所述连接模块10接收到的所述第二数据包的格式也是所述预设数据包格式,从而,所述连接模块10可以对所述第二数据包进行解析,得到目的地址,从而可以将从所述第二数据包解析出来的第二数据通过片内互连总线发送与所述目的地址对应的位置处。
34.请参阅图3,示出了本申请一个实施例提供的连接模块的架构图。连接模块10包括axi接口11,发送数据缓存单元12,发送数据编码打包单元13,时序产生单元14,接收数据缓存单元15以及接收数据解码拆包单元16。所述axi接口11与所述发送数据缓存单元12和所述接收数据缓存单元15连接,所述发送数据缓存单元12与所述发送数据编码打包单元13连接,所述接收数据缓存单元15与所述接收数据解码拆包单元16连接,所述时序产生单元14与所述发送数据编码打包单元13连接。片内互连总线为axi互连总线。
35.所述axi接口11,通过axi互连总线从获取需要发送至另一gpu的数据,即待发送的第一数据。在所述gpu作为发送端时,所述axi接口也为发送端,可以是从axi互联总线获取数据起始地址,并根据所述数据起始地址自动发起axi数据读取访问,获取所述第一数据。其中,所述axi接口11获取到的第一数据为128位数据。
36.在所述axi接口11获取到所述第一数据后,可以将所述第一数据暂存到所述发送数据缓存单元12。所述发送数据缓存单元12可以将所述第一数据发送给所述发送数据编码打包单元13,其中,所述发送数据编码打包单元13获取到的第一数据为128位数据。所述发送数据编码打包单元13可以以128位为传输单位,对所述第一数据进行打包。
37.所述发送数据编码打包单元13在对所述第一数据进行打包时,可以是按照预设数据包格式进行打包。所述预设数据包格式包括所述预设数据包格式包括包头字段,包负载字段,以及包尾字段。
38.由于接收器和发送器为音视频传输接口,通常为3组传输线,与rgb的色度分量对应。通常每组传输线单周期传输一个字节,即8bit,也就是说,接收器和发送器每个周期允许传输24位数据。为了实现所述预设数据包格式,可以将获取到128位的第一数据,以24位为基准分批打包,其中,24位数据的最高两位为数据包标识。具体的,所述包头字段为00,所述包负载数据字段为01,包尾字段为10,无效字段为11。具体的,可以参照图4,示出了数据包的组织结构示意图。
39.所述包头字段,即图4中的head,采用3个24位数据组织,包括目的地址add[35:0]、包长度burstlen[7:0]、起始数据字节掩码firstbe[15:0]。所述起始数据字节掩码firstbe
为数据包传输过程中第一个数据的字节掩码,也可以理解为字节地址起始。
[0040]
所述包负载数据字段,即图4中的payload,为多个128位数据组成,数据的个数与包头字段中的包长度burstlen相对应,以6个连续的24位数据进行组织和传输。
[0041]
包尾字段,即图4中的tail,表示当前数据包传输结束,其中,包括最后一个数据的字节掩码,即字节地址结束。所述数据包的组织结构还可以包括无效字段,即图4中的invalid。
[0042]
需要说明的是,各个字段中存在保留字段,可以用于校验码以及ecc冗余纠错的实现。
[0043]
所述数据编码打包单元13可以按照上述的数据包组织结构对所述第一数据进行打包,得到所述第一数据包,并以视频标准格式发送第一数据包。具体的,在发送所述第一数据包时,可以是获取时序产生单元14的时序进行第一数据包的发送。所述时序产生单元14可以产生行同步信号hs,场同步信号vs,以及有效显示数据选通信号de,所述数据编码打包单元13可以在视频数据有效区间发送所述第一数据包。也就是所,可以在所述有效显示数据选通信号de为高电平期间,发送所述第一数据包。
[0044]
在所述gpu为接收端时,所述axi接口11也可以为接收端。所述接收数据解码拆包单元16可以接收到gpu中接收数据转接模块发送的数据包,即第二数据包,并对所述第二数据包进行解析,从所述第二数据包中分离出目的地址,数据长度以及负载数据等信息。在解析所述第二数据包后,将解析得到的数据,即第二数据暂存在所述接收数据缓存单元15中。axi接口11可以从所述接收数据缓存单元15中,读取解析所述第二数据包后得到的第二数据,由于解析所述第二数据包后得到的第二数据中包括目的地址,从而可以将所述第二数据发送到所述目的地址所指定位置。
[0045]
需要说明的是,所述axi接口11可以同时支持数据的读写双向传输,即可以同时接收数据和发送数据,数据速写支持单次传输和连续的数据块搬移传输。在发送数据时,axi接口11,发送数据缓存单元12,发送数据编码打包单元13以及时序产生单元14协同工作。在接收数据时,接收数据解码拆包单元16,接收数据缓存单元15以及axi接口11协同工作。
[0046]
本申请实施例中提供的一种图形处理器,包括连接模块,发送转接模块,发送器,接收转接模块以及接收器;所述连接模块,用于生成第一数据包或对接收到第二数据包进行解析;所述发送转接模块,用于将生成的所述第一数据包转发至所述发送器;所述发送器,用于将所述生成的所述第一数据包发送至另一图形处理器的接收器;所述接收器,用于接收另一图形处理器的发送器发送的第二数据包;所述接收转接模块,用于将接收器接收到的所述第二数据包转发至所述连接模块。在gpu中设计连接模块,通过连接模块可以直接实现gpu之间通过接收器和发送器进行互连,无需额外的接口,可以有效降低gpu之间互连的难度。
[0047]
请参阅图5,本申请实施例提供了一种数据传输方法,可应用于前述实施例中描述的图形处理器,具体的,该方法可以包括以下步骤。
[0048]
步骤110,获取第一数据,所述第一数据为需要发送至另一图形处理器的数据。
[0049]
在所述gpu与另一gpu相连时,两片gpu之间可以进行数据传输。在所述图形处理器作为数据发送端时,所述图形处理器可以获取需要发送给另一图形处理器的数据,即第一数据。如前述实施例中所述,所述图形处理器内的连接模块可以通过从芯片片内互连总线
处,获取所述第一数据。
[0050]
步骤120,对所述第一数据进行打包,得到第一数据包。
[0051]
在所述gpu获取到所述第一数据时,可以对所述第一数据进行打包,得到第一数据包。在对所述第一数据进行打包时,可以是获取预先设置预设数据包格式,按照所述预设数据包格式对所述第一数据进行打包。
[0052]
所述预设数据包格式中包括包头字段,包负载数据字段以及包尾字段,其中,所述包头字段采用3个24位数据组织,所述包负载数据字段采用6个连续的24位数据组织,所述包尾字段包括1个24位数据组织。具体的,所述数据包的数据结构可以参照图3或前述实施例的对应部分,为避免重复,在此不再赘述。所述gpu按照所述预设数据包格式对所述第一数据进行打包后,可以得到第一数据包。
[0053]
步骤130,将所述第一数据包通过发送器发送给相连的另一图形处理器的接收器。
[0054]
所述gpu在得到所述第一数据包之后,可以将所述第一数据包通过发送器发送给相连的另一个gpu,实现gpu和gpu之间的数据传输。
[0055]
所述gpu可以是以视频标准格式发送所述数据包,发送所述第一数据包的时机可以是视频时序的有效区间内。在所述gpu的内部,可以产生时序信号,可以是行同步信号hs,场同步信号vs,以及有效显示数据选通信号de。所述gpu可以是在所述有效显示数据选通信号de为高电平时,以视频标准格式发送所述第一数据包到连接的另一gpu的接收器。
[0056]
步骤110至步骤130描述的为gpu作为数据发送端时的数据传输过程。可以理解的是,gpu可以在数据传输过程中,可以作为数据发送端,也可以作为数据接收端。请参阅图6,本申请实施例提供了另一种数据传输方法,可应用于前述实施例中描述的图形处理器,具体的,该方法可以包括以下步骤。
[0057]
步骤210,接收相连的另一图形处理器的发送器发送的第二数据包。
[0058]
在所述gpu与gpu连接进行数据传输时,若另一gpu需要将数据发送到当前gpu,那么当前gpu则为数据接收端。前述实施例中,gpu以视频标准格式将第一数据包发送给另一gpu。从而,所述gpu可以接收到另一gpu发送的第一数据包。定义在所述gpu为接收端时,接收到的数据包为第二数据包。
[0059]
步骤220,对所述第二数据包进行解析,得到所第二数据以及目的地址。
[0060]
在所述gpu接收到所述第二数据包后,可以对所述第二数据包进行解析,得到第二数据包的目的地址以及第二数据。由于所述第二数据包具有固定的数据格式,因此,所述gpu可以解析出所述第二数据包中的包头字段,包负载数据字段以及包尾字段。每个字段中最高两位为数据包标识,其中,包头字段为00,包负载数据字段为01,包尾字段为10,无效字段为11。从而,通过每个字段中的最高两位可以解析出第二数据包中包括的各个字段。
[0061]
步骤230,将所述第二数据传输至所述目的地址所指示的位置。
[0062]
在所述包头字段中包括目的地址,在所述包负载数据字段中,包括真正需要传输的数据,即所述第二数据。所述gpu可以解析出所述包头字段中的目的地址,以及所述包负载数据字段中的第二数据。从而,所述gpu可以将所述第二数据传输至所述目的地址所指示的位置。
[0063]
需要说明的是,gpu可以同时进行数据发送和数据接收。
[0064]
下面将以一个具体的实例说明gpu和gpu之间数据传输过程。假设有两片的gpu分
别为第一gpu和第二gpu,所述第一gpu和第二gpu之间需要进行数据传输。假设第一gpu需要将第一数据即数据c发送到第二gpu进行存储。
[0065]
此时第一gpu可以获取到数据c,将所述数据c按照预设数据包格式进行打包,得到数据包d,以视频标准格式将所述数据包d发送给第二gpu。对于第二gpu,所述第二gpu可以接收到第一gpu以视频标准格式发送的数据包d,在接收到数据包d时,可以对所述数据包d进行解析,获取到数据c以及数据c的目的地址。从而所述第二gpu可以将所述数据c传输至所述目的地址处进行存储。
[0066]
本申请实施例提供的数据传输方法,应用于设置有连接模块的图形处理器,所述图形处理器获取第一数据,所述第一数据为需要发送至另一图形处理器的数据;对所述第一数据进行打包,得到第一数据包;将所述第一数据包通过发送器发送给相连的另一图形处理器的接收器。通过在图形处理器中设计连接模块,可以直接实现gpu与gpu之间通过接收器和发送器进行互连和数据传输,无需额外的接口,可以有效降低gpu之间互连的难度。
[0067]
请参阅图7,本申请实施例提供了一种数据传输装置400,可应用于图形处理器,所述数据传输装置400包括接收模块410,处理模块420以及传输模块430。所述接收模块410,用于获取第一数据,所述第一数据为需要发送至另一图形处理器的数据;所述处理模块420,用于对所述第一数据进行打包,得到第一数据包;所述传输模块430,用于将所述第一数据包通过发送器发送给相连的另一图形处理器的接收器。
[0068]
进一步的,所述接收模块410还用于接收相连的另一图形处理器的发送器发送的第二数据包;所述处理模块420还用于对所述第二数据包进行解析,得到所第二数据以及目的地址;所述传输模块430还用于将所述第二数据传输至所述目的地址所指示的位置。
[0069]
进一步的,所述处理模块420还用于获取预设数据包格式;按照所述预设数据包格式对所述第一数据进行打包。
[0070]
进一步的,所述预设数据包格式包括包头字段,包负载数据字段以及包尾字段,其中,所述包头字段采用3个24位数据组织,所述包负载数据字段采用6个连续的24位数据组织,所述包尾字段包括1个24位数据组织。
[0071]
本申请实施例提供的数据传输装置,应用于设置有连接模块的图形处理器,所述图形处理器获取第一数据,所述第一数据为需要发送至另一图形处理器的数据;对所述第一数据进行打包,得到第一数据包;将所述第一数据包通过发送器发送给相连的另一图形处理器的接收器。通过在图形处理器中设计连接模块,可以直接实现gpu与gpu之间通过接收器和发送器进行互连和数据传输,无需额外的接口,可以有效降低gpu之间互连的难度。
[0072]
要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0073]
请参阅图8,本申请实施例提供了一种电子设备的结构框图,该电子设备500至少两个图形处理器510其中所述至少两个图形处理器510用于执行上述数据传输的方法。
[0074]
该电子设备500可以是平板电脑,笔记本电脑等能够运行应用程序的终端设备。图形处理器510可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。电子设备500中还可以集成中央处理器(central processing unit,cpu)510。其中,cpu主要处理操作系统、用户界面和应用程序
等;图形处理器510用于负责显示内容的渲染和绘制。
[0075]
本申请实施例提供的电子设备,包括至少两个图形处理器,该图形处理器获取第一数据,所述第一数据为需要发送至另一图形处理器的数据;对所述第一数据进行打包,得到第一数据包;将所述第一数据包通过发送器发送给相连的另一图形处理器的接收器。图形处理器中设计有连接模块,可以直接实现gpu与gpu之间通过接收器和发送器进行互连和数据传输,无需额外的接口,可以有效降低gpu之间互连的难度。
[0076]
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0077]
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0078]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0079]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0080]
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0081]
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

技术特征:
1.一种图形处理器,其特征在于,所述图形处理器包括连接模块,发送转接模块,发送器,接收转接模块以及接收器;所述连接模块,用于从片内互联总线获取待发送的第一数据并生成第一数据包,或用于对接收到第二数据包进行解析得到第二数据后发送至所述片内互联总线;所述发送转接模块,用于将生成的所述第一数据包转发至所述发送器;所述发送器,用于将所述第一数据包发送至另一图形处理器的接收器;所述接收器,用于接收另一图形处理器的发送器发送的第二数据包;所述接收转接模块,用于将所述第二数据包转发至所述连接模块。2.根据权利要求1所述的图形处理器,其特征在于,所述片内互连总线包括先进可扩展接口axi互连总线,所述连接模块包括axi接口,发送数据缓存单元,发送数据编码打包单元,接收数据缓存单元以及接收数据解码拆包单元;所述axi接口,用于从axi互联总线获取待发送的第一数据并存储至发送数据缓存单元,以及用于将接收数据缓存单元中的第二数据发送至axi互联总线;所述发送数据编码打包单元,用于对所述发送数据缓存单元中的第一数据打包得到所述第一数据包;所述接收数据解码拆包单元,用于对接收转接模块发送的所述第二数据包进行解析得到所述第二数据,并将所述第二数据存储至所述接收数据缓存单元。3.根据权利要求2所述的图形处理器,其特征在于,所述axi接口还用于从axi互联总线获取第一数据的数据起始地址;并根据所述数据起始地址,从axi互联总线读取所述第一数据。4.根据权利要求2所述的图形处理器,其特征在于,所述axi接口还用于从所述接收数据缓存单元中,读取所述第二数据;根据所述第二数据中的目的地址,将所述第二数据发送到所述目的地址所指示的位置。5.根据权利要求2所述的图形处理器,其特征在于,所述连接模块还包括:时序产生单元,用于产生视频时序;所述发送数据编码打包单元还用于在所述视频时序有效区间内,以视频标准格式发送所述第一数据包至所述发送转接模块。6.一种数据传输方法,其特征在于,应用于权利要求1

5任一项所述的图形处理器,所述方法包括:获取第一数据,所述第一数据为需要发送至另一图形处理器的数据;对所述第一数据进行打包,得到第一数据包;将所述第一数据包通过发送器发送给相连的另一图形处理器的接收器。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:接收相连的另一图形处理器的发送器发送的第二数据包;对所述第二数据包进行解析,得到所第二数据以及目的地址;将所述第二数据传输至所述目的地址所指示的位置。8.根据权利要求6所述的方法,其特征在于,所述对所述第一数据进行打包,得到第一数据包,包括:
获取预设数据包格式;按照所述预设数据包格式对所述第一数据进行打包。9.根据权利要求8所述的方法,其特征在于,所述预设数据包格式包括包头字段,包负载数据字段以及包尾字段,其中,所述包头字段采用3个24位数据组织,所述包负载数据字段采用6个连续的24位数据组织,所述包尾字段包括1个24位数据组织。10.一种数据传输装置,其特征在于,应用于权利要求1

5任一项所述的图形处理器,所述装置包括:接收模块,用于获取第一数据,所述第一数据为需要发送至另一图形处理器的数据;处理模块,用于对所述第一数据进行打包,得到第一数据包;传输模块,用于将所述第一数据包通过发送器发送给相连的另一图形处理器的接收器。11.一种电子设备,其特征在于,所述电子设备包括至少两个如权利要求1

5任一项所述的图形处理器。12.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被图形处理器调用执行如权利要求6至9任一项所述的方法。
技术总结
本申请实施例中提供了一种图形处理器和数据传输方法,该图形处理器包括:连接模块,用于从片内互联总线获取待发送的第一数据并生成第一数据包,或用于对接收到第二数据包进行解析得到第二数据后发送至所述片内互联总线;发送转接模块,用于将生成的所述第一数据包转发至所述发送器;发送器,用于将所述生成的所述第一数据包发送至另一图形处理器的接收器;接收器,用于接收另一图形处理器的发送器发送的第二数据包;接收转接模块,用于将接收器接收到的所述第二数据包转发至所述连接模块。在GPU中设计连接模块,通过连接模块可以直接实现GPU之间通过接收器和发送器进行互连,无需额外的接口,可以有效降低GPU之间互连的难度。可以有效降低GPU之间互连的难度。可以有效降低GPU之间互连的难度。


技术研发人员:龙斌
受保护的技术使用者:长沙景美集成电路设计有限公司
技术研发日:2021.03.02
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-5580.html

最新回复(0)