CN103810124A - 用于数据传输的***及方法 - Google Patents

用于数据传输的***及方法 Download PDF

Info

Publication number
CN103810124A
CN103810124A CN201210448813.8A CN201210448813A CN103810124A CN 103810124 A CN103810124 A CN 103810124A CN 201210448813 A CN201210448813 A CN 201210448813A CN 103810124 A CN103810124 A CN 103810124A
Authority
CN
China
Prior art keywords
processing unit
graphics processing
shared storage
data
overall shared
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
Application number
CN201210448813.8A
Other languages
English (en)
Inventor
陈实富
邵彦冰
余济华
刘文志
季文博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Priority to CN201210448813.8A priority Critical patent/CN103810124A/zh
Priority to US13/754,069 priority patent/US20140132611A1/en
Priority to TW102140532A priority patent/TW201423663A/zh
Publication of CN103810124A publication Critical patent/CN103810124A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种用于数据传输的***和方法,该***包括:多个图形处理单元;全局共享存储器,其用于存储在所述多个图形处理单元之间传输的数据;仲裁电路模块,其分别耦合到所述多个图形处理单元中的每一个和所述全局共享存储器,所述仲裁电路模块配置为仲裁各图形处理单元对所述全局共享存储器的访问请求以避免各图形处理单元之间的访问冲突。本发明所提供的用于数据传输的***和方法,能够使***中的各GPU利用全局共享存储器传输数据,而不必通过PCIE,从而显著提高了数据传输带宽,进而提高了运算速度。

Description

用于数据传输的***及方法
技术领域
本发明总体上涉及图形处理,尤其涉及用于数据传输的***及方法。
背景技术
显卡是个人电脑的最基本组成部分之一,承担输出显示图形的任务。图形处理单元(Graphic Processing Unit,GPU)是显卡的核心,大致决定了显卡的性能。GPU最初主要用于图形渲染,其内部主要由“管线”构成,分为像素管线和顶点管线,其数目是固定的。2006年12月,NVIDIA正式发布的新一代DX10显卡8800GTX,采用流处理器(StreamingProcessor,SP)取代了像素管线和顶点管线。事实上GPU在浮点运算、并行运算等部分计算方面的性能要远远高于CPU,因此,目前GPU的应用已经不再局限于图形处理了,其开始进入高性能运算(HPC)领域。2007年6月,NVIDIA推出了统一计算设备架构(Compute Unified DeviceArchitecture,CUDA),CUDA采用了统一处理架构,降低了编程难度,CUDA引入了片内共享存储器,提高了效率。
目前在多GPU***上进行图形处理或通用计算时,不同GPU之间通常使用PCIE接口进行通信,然而使用PCIE接口必须占用GPU与CPU之间的通信带宽,且PCIE接口本身的带宽有限,导致传输速率不理想,从而无法全面发挥GPU高速运算性能。
因此,需要提供一种用于数据传输的***及方法以解决上述问题。
发明内容
在发明内容部分中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明的发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
针对上述问题,本发明提供了一种用于数据传输的***,包括:多个图形处理单元;全局共享存储器,其用于存储在所述多个图形处理单元之间传输的数据;仲裁电路模块,其分别耦合到所述多个图形处理单元中的每一个和所述全局共享存储器,所述仲裁电路模块配置为仲裁各图形处理单元对所述全局共享存储器的访问请求以避免各图形处理单元之间的访问冲突。
在本发明的一个可选实施方式中,所述***进一步包括多个本地设备存储器,所述多个本地设备存储器中的每一个分别耦合到所述多个图形处理单元中的每一个。
在本发明的一个可选实施方式中,所述多个图形处理单元的每一个进一步包括帧缓冲区,其配置为缓存在所述多个图形处理单元的每一个上传输的数据,所述帧缓冲区的容量不大于所述全局共享存储器的容量。
在本发明的一个可选实施方式中,所述帧缓冲区的容量可配置,以使得如果所述数据大小大于所述全局共享存储器的容量,则所述数据将分批经由所述帧缓冲区发送到所述全局共享存储器;如果所述数据大小不大于所述全局共享存储器的容量,则所述数据将一次性地经由所述帧缓冲区发送到所述全局共享存储器。
在本发明的一个可选实施方式中,所述仲裁电路模块配置为:当所述多个图形处理单元中的一个图形处理单元向所述仲裁电路模块发送访问请求时,如果所述全局共享存储器处于空闲状态,则所述仲裁电路模块允许所述多个图形处理单元中的所述一个图形处理单元访问所述全局共享存储器;如果所述全局共享存储器处于占用状态,则所述仲裁电路模块不允许所述多个图形处理单元中的所述一个图形处理单元访问所述全局共享存储器。
在本发明的一个可选实施方式中,所述多个图形处理单元包括PCIE接口,用于当访问冲突时进行所述多个图形处理单元之间的数据传输。
在本发明的一个可选实施方式中,所述全局共享存储器进一步包括分别与各图形处理单元相耦合的通道,所述数据通过所述通道直接在所述全局共享存储器与各图形处理单元之间传输。
在本发明的一个可选实施方式中,所述仲裁电路模块配置为可以与各图形处理单元通信,所述数据经由所述仲裁电路模块在所述全局共享存储器与各图形处理单元之间传输。
在本发明的一个可选实施方式中,所述仲裁电路模块是单独的模块或者是所述全局共享存储器的一部分或者是各图形处理单元的一部分。
在本发明的一个可选实施方式中,所述仲裁电路模块是基于FPGA、单片机和逻辑门电路中的任意一个。
根据本发明另一方面,还提供了一种用于数据传输的方法,包括:通过全局共享存储器从多个图形处理单元中的一个图形处理单元到所述多个图形处理单元中的另一个图形处理单元传输数据;在所述传输数据期间,通过仲裁电路模块对所述多个图形处理单元中的各图形处理单元对所述全局共享存储器的访问请求进行仲裁。
在本发明的一个可选实施方式中,所述仲裁包括:当所述多个图形处理单元中的一个图形处理单元向所述仲裁电路模块发送访问请求时,如果所述全局共享存储器处于空闲状态,则所述仲裁电路模块允许所述多个图形处理单元中的所述一个图形处理单元访问所述全局共享存储器;如果所述全局共享存储器处于占用状态,则所述仲裁电路模块不允许所述多个图形处理单元中的所述一个图形处理单元访问所述全局共享存储器。
在本发明的一个可选实施方式中,所述传输数据包括:所述多个图形处理单元中的所述一个图形处理单元将数据写入所述全局共享存储器;所述多个图形处理单元中的所述另一个图形处理单元从所述全局共享存储器读出数据。
在本发明的一个可选实施方式中,在所述多个图形处理单元中的所述一个图形处理单元将数据写入所述全局共享存储器之前还包括:所述多个图形处理单元中的所述一个图形处理单元从与其对应的本地设备存储器读出所述数据。
在本发明的一个可选实施方式中,在所述多个图形处理单元中的所述另一个图形处理单元从所述全局共享存储器读出数据之后还包括:所述多个图形处理单元中的所述另一个图形处理单元将所读出的数据写入与其对应的本地设备存储器。
在本发明的一个可选实施方式中,所述多个图形处理单元的每一个进一步包括帧缓冲区,其配置为缓存在所述多个图形处理单元的每一个上传输的数据,所述帧缓冲区的容量不大于所述全局共享存储器的容量。
在本发明的一个可选实施方式中,所述帧缓冲区的容量可配置,以使得如果所述数据大小大于所述全局共享存储器的容量,则所述数据将分批经由所述帧缓冲区发送到所述全局共享存储器;如果所述数据大小不大于所述全局共享存储器的容量,则所述数据将一次性地经由所述帧缓冲区发送到所述全局共享存储器。
在本发明的一个可选实施方式中,所述全局共享存储器进一步包括分别与各图形处理单元相耦合的通道,所述数据通过所述通道直接在所述全局共享存储器与各图形处理单元之间传输。
在本发明的一个可选实施方式中,所述仲裁电路模块配置为可以与各图形处理单元通信,所述数据经由所述仲裁电路模块在所述全局共享存储器与各图形处理单元之间传输。
根据本发明另一方面,还提供了一种图形卡,包括用于数据传输的***,所述用于数据传输的***包括:多个图形处理单元;全局共享存储器,其用于存储在所述多个图形处理单元之间传输的数据;仲裁电路模块,其分别耦合到所述多个图形处理单元中的每一个和所述全局共享存储器,所述仲裁电路模块配置为仲裁各图形处理单元对所述全局共享存储器的访问请求以避免各图形处理单元之间的访问冲突。
在本发明的一个可选实施方式中,所述多个图形处理单元的每一个进一步包括帧缓冲区,其配置为缓存在所述多个图形处理单元的每一个上传输的数据,所述帧缓冲区的容量不大于所述全局共享存储器的容量。
本发明所提供的用于数据传输的***和方法,能够使***中的各GPU利用全局共享存储器传输数据,而不必通过PCIE接口,从而避免了与CPU总线分享带宽,因此传输速度更快。
附图说明
本发明的下列附图在此作为本发明的一部分用于理解本发明。附图中示出了本发明的实施例及其描述,用来解释本发明的原理。在附图中,
图1示出了根据本发明一个优选实施例的用于数据传输的***的示意性框图;
图2示出了根据本发明一个优选实施例的仲裁电路模块仲裁图形处理单元的访问请求的流程图;
图3示出了根据本发明另一个实施例的用于数据传输的***的示意性框图;
图4示出了根据本发明一个优选实施例的用于数据传输的方法的流程图。
具体实施方式
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员来说显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
为了彻底了解本发明,将在下列的描述中提出详细的结构。显然,本发明的施行并不限定于本领域的技术人员所熟习的特殊细节。本发明的较佳实施例详细描述如下,然而除了这些详细描述外,本发明还可以具有其他实施方式。
本发明提出了一种用于数据传输的***和方法。该方法能够在同一***上的不同GPU之间传输数据且不经过PCIE接口。GPU的数量没有限制,但是本发明的实施例中,仅采用了第一图形处理单元和第二图形处理单元来举例说明如何在同一***中的不同GPU之间传输数据。
图1示出了根据本发明一个优选实施例的用于数据传输的***100的示意性框图。如图1所示,用于数据传输的***100包括第一图形处理单元(第一GPU)101,第二图形处理单元(第二GPU)102,仲裁电路模块105以及全局共享存储器106。其中,第一GPU 101和第二GPU 102是对等的图形处理单元。
根据本发明的一个优选实施例,用于数据传输的***100可以进一步包括第一GPU 101的第一本地设备存储器103以及第二GPU 102的第二本地设备存储器104。第一本地设备存储器103耦合到第一GPU 101。第二本地设备存储器104耦合到第二GPU 102。本领域普通技术人员应该理解上述本地设备存储器可以是一个或多个存储器颗粒。本地设备存储器可以用来存储GPU处理完或待处理的数据。
根据本发明的一个优选实施例,第一GPU 101可以进一步包括第一帧缓冲区107,第二GPU 102可以进一步包括第二帧缓冲区108。各帧缓冲区分别用于缓存在各相应GPU上传输的数据,且各帧缓冲区的容量不大于全局共享存储器的容量。
例如,当数据将要从第一GPU 101的第一本地设备存储器103传送到全局共享存储器106时,该数据首先传送到第一GPU 101中的第一帧缓冲区107,然后从第一帧缓冲区107传送到全局共享存储器106;相反,当数据将要从全局共享存储器106传送到第一GPU 101的第一本地设备存储器103时,该数据首先传送到第一GPU 101中的第一帧缓冲区107,然后从第一帧缓冲区107传送到第一本地设备存储器103。对于第二帧缓冲区108来说,情况同上所述。
本领域普通技术人员可以理解,数据也可以从第一GPU 101直接传送到全局共享存储器106,而无需经过第一本地设备存储器103。数据也可以从全局共享存储器106传送到第一GPU 101以直接参与第一GPU 101的运算。
根据所要传输的数据大小以及全局共享存储器106的容量,各帧缓冲区的容量可配置,以使得如果数据大小大于全局共享存储器106的容量,则数据将分批经由该帧缓冲区发送到全局共享存储器;如果数据大小不大于全局共享存储器106的容量,则数据将一次性地经由该帧缓冲区发送到全局共享存储器。例如,当数据从第一本地设备存储器103传送到第二本地设备存储器104时,如果所要传送的数据大小大于全局共享存储器106的容量,则第一帧缓冲区107配置为等于全局共享存储器106的容量,第二帧缓冲区108配置为等于第一帧缓冲区107的容量,将所要传送的数据分成几部分,每部分的大小等于或小于第一帧缓冲区107的大小,然后将一部分数据首先传送到第一帧缓冲区107,之后写入全局共享存储器106,之后从全局共享存储器106传送到第二帧缓冲区108,之后写入第二本地设备存储器104,然后按照上述顺序将下一部分数据从第一本地设备存储器103传送到第二本地设备存储器104,以此类推,直到全部数据均传送完为止;如果所要传送的数据大小不大于全局共享存储器106的容量,则第一帧缓冲区107配置为等于所要传送的数据大小,第二帧缓冲区108配置为等于第一帧缓冲区107的容量,全部数据可以一次性地从第一本地设备存储器103传送到第二本地设备存储器104。当数据从第二本地设备存储器104传送到第一本地设备存储器103时,应该首先配置第二帧缓冲区108,其次配置第一帧缓冲区107,情况同上所述。
根据本发明的一个优选实施例,仲裁电路模块105分别与第一GPU101和第二GPU 102耦合。仲裁电路模块105仲裁来自第一GPU 101和第二GPU 102对全局共享存储器106的访问请求以避免不同GPU之间的访问冲突。具体地,仲裁电路模块105可配置为:当多个图形处理单元中的一个图形处理单元向仲裁电路模块105发送访问请求时,如果全局共享存储器106处于空闲状态,则仲裁电路模块105允许多个图形处理单元中的该图形处理单元访问全局共享存储器106;如果全局共享存储器106处于占用状态,则仲裁电路模块105不允许多个图形处理单元中的该图形处理单元访问全局共享存储器106。具体地,全局共享存储器106处于空闲状态是指没有图形处理单元正在访问全局共享存储器106;而全局共享存储器106处于占用状态是指至少一个图形处理单元正在访问全局共享存储器106。
仲裁电路模块105的仲裁流程200具体如图2所示,现结合图1与图2详细描述该仲裁流程,包括:在步骤201,第一GPU 101首先向仲裁电路模块105发送访问请求。在步骤202,判断全局共享存储器106是否处于空闲状态,如果全局共享存储器106处于空闲状态,则仲裁流程200前进到步骤203,仲裁电路模块105向第二GPU 102发送信号以指示全局共享存储器106正在使用,然后仲裁流程200前进到步骤204,仲裁电路模块105向第一GPU 101发送信号以指示可以访问全局共享存储器106;如果在步骤202,全局共享存储器106处于占用状态,则仲裁流程200前进到步骤205,仲裁电路模块105向第一GPU 101发送信号以指示不可以访问全局共享存储器106。此时第一GPU 101会在一段时间内周期性地查看仲裁电路模块的状态。如果这段时间内仲裁电路模块显示全局共享存储器106处于空闲状态,则可以开始访问,否则第一GPU 101将通过其他途径(例如GPU上的PCIE接口)进行数据传输。优选地,如果第一GPU 101和第二GPU 102同时访问,则根据优先权机制来决定哪一个GPU可以访问全局共享存储器106。该优先权机制可以包括统计第一GPU 101和第二GPU 102中的哪一个最近访问过全局共享存储器106,其中没有访问过的优先级更高。此时,优先级高的可以先访问全局共享存储器106。当第二GPU 102向仲裁电路模块105发送访问请求时,情况同上所述。
根据本发明的可选实施例,对全局共享存储器106的访问可包括读和写数据中的至少一个。例如,当从第一GPU 101向第二GPU 102传送数据时,第一GPU 101对全局共享存储器106的访问即为写数据,第二GPU 102对全局共享存储器106的访问即为读数据。
根据本发明的可选实施例,全局共享存储器106可以进一步包括分别与各图形处理单元相耦合的通道,数据通过该通道直接在全局共享存储器106与各图形处理单元之间传输。如图1所示,全局共享存储器106是多通道存储器,其除具有耦合到仲裁电路模块的通道以外,还具有两条分别与第一GPU 101和第二GPU 102相耦合的通道。数据通过这两条通道在第一GPU 101的第一帧缓冲区107或第二GPU 102的第二帧缓冲区108与全局共享存储器106之间进行数据传输,仲裁电路模块105仅对第一GPU 101和第二GPU 102的访问进行仲裁管理。
根据本发明的优选实施例,仲裁电路模块105可以是单独的模块。仲裁电路模块105还可以是全局共享存储器106的一部分或者是各图形处理单元的一部分,即集成在各GPU中或全局共享存储器106中。仲裁电路模块105实现为单独的模块有利于管理,当其出现问题时可及时更换。将仲裁电路模块105集成在各GPU中或全局共享存储器106中,需要对GPU或全局共享存储器进行单独设计及制作。
根据本发明的一个优选实施例,仲裁电路模块105可以是任意能够实现所述仲裁机制的电路,包括但不限于基于现场可编程门阵列(FPGA)、单片机、逻辑门电路等。
图3是根据本发明另一个实施例的用于数据传输的***300的示意性框图。根据该实施例,仲裁电路模块305可以配置为可以与各图形处理单元通信,数据经由仲裁电路模块305在全局共享存储器306与各图形处理单元之间传输。全局共享存储器仅仅与仲裁电路模块耦合,全局共享存储器可以实现为任意类型的存储器。如图3所示,第一GPU 301的第一帧缓冲区307或第二GPU 302的第二帧缓冲区308与全局共享存储器306之间的数据传输经由仲裁电路模块305进行。仲裁电路模块305可配置为除对第一GPU 301和第二GPU 302的访问进行仲裁管理以外,还用于实现全局共享存储器306与各GPU之间的数据传输。采用***300的配置,可以不使用多通道的全局共享存储器,而使用常规的存储器,例如,SRAM、DRAM等来传输数据。
根据本发明另一方面,还提供了一种用于数据传输的方法。该方法包括:通过全局共享存储器从多个图形处理单元中的一个图形处理单元到多个图形处理单元中的另一个图形处理单元传输数据;在传输数据期间,通过仲裁电路模块对多个图形处理单元中的各图形处理单元对全局共享存储器的访问请求进行仲裁。
根据本发明一个实施例,上述仲裁可以包括:当多个图形处理单元中的一个图形处理单元向仲裁电路模块发送访问请求时,如果全局共享存储器处于空闲状态,则仲裁电路模块允许多个图形处理单元中的该图形处理单元访问全局共享存储器;如果全局共享存储器处于占用状态,则仲裁电路模块不允许多个图形处理单元中的该图形处理单元访问全局共享存储器。
根据本发明一个实施例,上述传输数据可以包括:多个图形处理单元中的一个图形处理单元将数据写入全局共享存储器;多个图形处理单元中的另一个图形处理单元从全局共享存储器读出数据。
可选地,在多个图形处理单元中的一个图形处理单元将数据写入全局共享存储器之前还可以包括:多个图形处理单元中的一个图形处理单元从与其对应的本地设备存储器读出数据。
可选地,在多个图形处理单元中的另一个图形处理单元从全局共享存储器读出数据之后还包括:多个图形处理单元中的另一个图形处理单元将所读出的数据写入与其对应的本地设备存储器。
图4示出了根据本发明一个优选实施例的用于数据传输的方法400的流程图。具体地,在步骤401,第一GPU 101通过仲裁电路模块105锁定全局共享存储器106,锁定过程即为前述的仲裁过程。第一GPU 101向仲裁电路模块105发送访问请求,仲裁电路模块105禁用第二GPU 102的访问权,同时给予第一GPU 101访问权。之后在步骤402,第一GPU 101根据数据大小与全局共享存储器106的容量来读取第一本地设备存储器103中的部分或全部数据并将所读取的部分或全部数据写入第一GPU 101中的第一帧缓冲区107。在步骤403,将第一帧缓冲区107中的数据写入全局共享存储器106。在步骤404,第一GPU 101通过仲裁电路模块105解锁全局共享存储器106,仲裁电路模块105解除第一GPU 101的访问权。在步骤405,第二GPU 102通过仲裁电路模块105锁定全局共享存储器106,锁定过程与第一GPU 101相同,此时第二GPU 102拥有全局共享存储器106的访问权。在步骤406,第二GPU 102读取全局共享存储器106中的数据并将所读取的数据写入第二GPU 102中的第二帧缓冲区108。在步骤407,将第二帧缓冲区108中的数据写入第二GPU 102的第二本地设备存储器104。然后,在步骤408,第二GPU 102通过仲裁电路模块105解锁全局共享存储器106,仲裁电路模块105解除第二GPU 102的访问权。在步骤409,判断数据传输是否已经完成,如果数据传输已经完成,则方法400前进到步骤410,方法结束;如果数据传输未完成,则方法400返回到步骤401,重复方法400的各步骤,直到全部数据均已从第一GPU 101的第一本地设备存储器103传送到第二GPU 102的第二本地设备存储器104为止。
如在用于数据传输的***100的实施例的相关描述中所述,本地设备存储器并非一定参与到上述数据传输过程中。
在上面关于用于传输数据的***的实施例的描述中,已经描述了上述方法所涉及的图形处理单元、全局共享存储器和仲裁电路模块。为了简洁,在此省略其具体描述。本领域的技术人员参考图1至图4并结合上面的描述能够理解其具体结构和运行方式。
根据本发明另一方面,还提供了一种图形卡,该图形卡包括上述的用于数据传输的***。为了简洁,对于参照上述实施例描述的用于数据传输的***,省略具体描述。本领域的技术人员参考图1至图4并结合上面的描述能够理解用于数据传输的***的具体结构和运行方式。
采用上述结构的图形卡,可以在图形卡内部完成不同GPU之间的数据传输。
本发明所提供的用于数据传输的***和方法,能够使***中的各GPU利用全局共享存储器传输数据,而不必通过PCIE接口,从而避免了与CPU总线分享带宽,因此传输速度更快。
本发明已经通过上述实施例进行了说明,但应当理解的是,上述实施例只是用于举例和说明的目的,而非意在将本发明限制于所描述的实施例范围内。此外本领域技术人员可以理解的是,本发明并不局限于上述实施例,根据本发明的教导还可以做出更多种的变型和修改,这些变型和修改均落在本发明所要求保护的范围以内。本发明的保护范围由附属的权利要求书及其等效范围所界定。

Claims (20)

1.一种用于数据传输的***,包括:
多个图形处理单元;
全局共享存储器,其用于存储在所述多个图形处理单元之间传输的数据;
仲裁电路模块,其分别耦合到所述多个图形处理单元中的每一个和所述全局共享存储器,所述仲裁电路模块配置为仲裁各图形处理单元对所述全局共享存储器的访问请求以避免各图形处理单元之间的访问冲突。
2.根据权利要求1所述的***,其特征在于,所述***进一步包括多个本地设备存储器,所述多个本地设备存储器中的每一个分别耦合到所述多个图形处理单元中的每一个。
3.根据权利要求1所述的***,其特征在于,所述多个图形处理单元的每一个进一步包括帧缓冲区,其配置为缓存在所述多个图形处理单元的每一个上传输的数据,所述帧缓冲区的容量不大于所述全局共享存储器的容量。
4.根据权利要求3所述的***,其特征在于,所述帧缓冲区的容量可配置,以使得如果所述数据大小大于所述全局共享存储器的容量,则所述数据将分批经由所述帧缓冲区发送到所述全局共享存储器;如果所述数据大小不大于所述全局共享存储器的容量,则所述数据将一次性地经由所述帧缓冲区发送到所述全局共享存储器。
5.根据权利要求1所述的***,其特征在于,所述仲裁电路模块配置为:当所述多个图形处理单元中的一个图形处理单元向所述仲裁电路模块发送访问请求时,如果所述全局共享存储器处于空闲状态,则所述仲裁电路模块允许所述多个图形处理单元中的所述一个图形处理单元访问所述全局共享存储器;如果所述全局共享存储器处于占用状态,则所述仲裁电路模块不允许所述多个图形处理单元中的所述一个图形处理单元访问所述全局共享存储器。
6.根据权利要求1所述的***,其特征在于,所述多个图形处理单元包括PCIE接口,用于当访问冲突时进行所述多个图形处理单元之间的数据传输。
7.根据权利要求1所述的***,其特征在于,所述全局共享存储器进一步包括分别与各图形处理单元相耦合的通道,所述数据通过所述通道直接在所述全局共享存储器与各图形处理单元之间传输。
8.根据权利要求1所述的***,其特征在于,所述仲裁电路模块配置为可以与各图形处理单元通信,所述数据经由所述仲裁电路模块在所述全局共享存储器与各图形处理单元之间传输。
9.根据权利要求1所述的***,其特征在于,所述仲裁电路模块是单独的模块或者是所述全局共享存储器的一部分或者是各图形处理单元的一部分。
10.根据权利要求1所述的***,其特征在于,所述仲裁电路模块是基于现场可编程门阵列、单片机和逻辑门电路中的任意一个。
11.一种用于数据传输的方法,包括:
通过全局共享存储器从多个图形处理单元中的一个图形处理单元到所述多个图形处理单元中的另一个图形处理单元传输数据;
在所述传输数据期间,通过仲裁电路模块对所述多个图形处理单元中的各图形处理单元对所述全局共享存储器的访问请求进行仲裁。
12.根据权利要求11所述的方法,其特征在于,所述仲裁包括:当所述多个图形处理单元中的一个图形处理单元向所述仲裁电路模块发送访问请求时,如果所述全局共享存储器处于空闲状态,则所述仲裁电路模块允许所述多个图形处理单元中的所述一个图形处理单元访问所述全局共享存储器;如果所述全局共享存储器处于占用状态,则所述仲裁电路模块不允许所述多个图形处理单元中的所述一个图形处理单元访问所述全局共享存储器。
13.根据权利要求11所述的方法,其特征在于,所述传输数据包括:
所述多个图形处理单元中的所述一个图形处理单元将数据写入所述全局共享存储器;
所述多个图形处理单元中的所述另一个图形处理单元从所述全局共享存储器读出数据。
14.根据权利要求13所述的方法,其特征在于,
在所述多个图形处理单元中的所述一个图形处理单元将数据写入所述全局共享存储器之前还包括:所述多个图形处理单元中的所述一个图形处理单元从与其对应的本地设备存储器读出所述数据。
15.根据权利要求13所述的方法,其特征在于,
在所述多个图形处理单元中的所述另一个图形处理单元从所述全局共享存储器读出数据之后还包括:所述多个图形处理单元中的所述另一个图形处理单元将所读出的数据写入与其对应的本地设备存储器。
16.根据权利要求11所述的方法,其特征在于,所述多个图形处理单元的每一个进一步包括帧缓冲区,其配置为缓存在所述多个图形处理单元的每一个上传输的数据,所述帧缓冲区的容量不大于所述全局共享存储器的容量。
17.根据权利要求11所述的方法,其特征在于,所述帧缓冲区的容量可配置,以使得如果所述数据大小大于所述全局共享存储器的容量,则所述数据将分批经由所述帧缓冲区发送到所述全局共享存储器;如果所述数据大小不大于所述全局共享存储器的容量,则所述数据将一次性地经由所述帧缓冲区发送到所述全局共享存储器。
18.根据权利要求11所述的方法,其特征在于,所述全局共享存储器进一步包括分别与各图形处理单元相耦合的通道,所述数据通过所述通道直接在所述全局共享存储器与各图形处理单元之间传输。
19.根据权利要求11所述的方法,其特征在于,所述仲裁电路模块配置为可以与各图形处理单元通信,所述数据经由所述仲裁电路模块在所述全局共享存储器与各图形处理单元之间传输。
20.一种图形卡,包括用于数据传输的***,所述用于数据传输的***包括:
多个图形处理单元;
全局共享存储器,其用于存储在所述多个图形处理单元之间传输的数据;
仲裁电路模块,其分别耦合到所述多个图形处理单元中的每一个和所述全局共享存储器,所述仲裁电路模块配置为仲裁各图形处理单元对所述全局共享存储器的访问请求以避免各图形处理单元之间的访问冲突。
CN201210448813.8A 2012-11-09 2012-11-09 用于数据传输的***及方法 Pending CN103810124A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210448813.8A CN103810124A (zh) 2012-11-09 2012-11-09 用于数据传输的***及方法
US13/754,069 US20140132611A1 (en) 2012-11-09 2013-01-30 System and method for data transmission
TW102140532A TW201423663A (zh) 2012-11-09 2013-11-07 資料傳輸之系統與方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210448813.8A CN103810124A (zh) 2012-11-09 2012-11-09 用于数据传输的***及方法

Publications (1)

Publication Number Publication Date
CN103810124A true CN103810124A (zh) 2014-05-21

Family

ID=50681265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210448813.8A Pending CN103810124A (zh) 2012-11-09 2012-11-09 用于数据传输的***及方法

Country Status (3)

Country Link
US (1) US20140132611A1 (zh)
CN (1) CN103810124A (zh)
TW (1) TW201423663A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159610A (zh) * 2015-09-01 2015-12-16 浪潮(北京)电子信息产业有限公司 大规模数据处理***及方法
CN106776390A (zh) * 2016-12-06 2017-05-31 中国电子科技集团公司第三十二研究所 多设备访问存储器的实现方法
CN107992444A (zh) * 2016-10-26 2018-05-04 Zodiac航空电器 用于在处理单元之间交换数据的通信架构
CN109313438A (zh) * 2016-03-03 2019-02-05 德克尔马霍普夫龙滕有限公司 与数控机床联用的数据存储装置
CN112445778A (zh) * 2019-09-05 2021-03-05 中车株洲电力机车研究所有限公司 基于VxWorks的文件操作方法和文件操作***

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104318511B (zh) * 2014-10-24 2018-10-26 江西创成电子有限公司 一种电脑显卡及其图像处理方法
US10540318B2 (en) * 2017-04-09 2020-01-21 Intel Corporation Graphics processing integrated circuit package
US11074666B2 (en) * 2019-01-30 2021-07-27 Sony Interactive Entertainment LLC Scalable game console CPU/GPU design for home console and cloud gaming
US11890538B2 (en) 2019-01-30 2024-02-06 Sony Interactive Entertainment LLC Scalable game console CPU / GPU design for home console and cloud gaming
US11080055B2 (en) * 2019-08-22 2021-08-03 Apple Inc. Register file arbitration
CN116126549A (zh) * 2021-11-15 2023-05-16 北京图森智途科技有限公司 通信方法及相关的通信***和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671393A (en) * 1993-10-01 1997-09-23 Toyota Jidosha Kabushiki Kaisha Shared memory system and arbitration method and system
US20010002224A1 (en) * 1995-09-11 2001-05-31 Matsushita Electric Industrial Co., Ltd Video signal recording and reproducing apparatus
CN101118645A (zh) * 2006-08-02 2008-02-06 图诚科技股份有限公司 多重图形处理器***
US20080266302A1 (en) * 2007-04-30 2008-10-30 Advanced Micro Devices, Inc. Mechanism for granting controlled access to a shared resource
US20110141122A1 (en) * 2009-10-02 2011-06-16 Hakura Ziyad S Distributed stream output in a parallel processing unit
CN102323917A (zh) * 2011-09-06 2012-01-18 中国人民解放军国防科学技术大学 一种基于共享内存实现多进程共享gpu的方法
CN103455468A (zh) * 2012-11-06 2013-12-18 深圳信息职业技术学院 一种多gpu运算卡及多gpu之间的数据传输方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256915B2 (en) * 2012-01-27 2016-02-09 Qualcomm Incorporated Graphics processing unit buffer management

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671393A (en) * 1993-10-01 1997-09-23 Toyota Jidosha Kabushiki Kaisha Shared memory system and arbitration method and system
US20010002224A1 (en) * 1995-09-11 2001-05-31 Matsushita Electric Industrial Co., Ltd Video signal recording and reproducing apparatus
CN101118645A (zh) * 2006-08-02 2008-02-06 图诚科技股份有限公司 多重图形处理器***
US20080266302A1 (en) * 2007-04-30 2008-10-30 Advanced Micro Devices, Inc. Mechanism for granting controlled access to a shared resource
US20110141122A1 (en) * 2009-10-02 2011-06-16 Hakura Ziyad S Distributed stream output in a parallel processing unit
CN102323917A (zh) * 2011-09-06 2012-01-18 中国人民解放军国防科学技术大学 一种基于共享内存实现多进程共享gpu的方法
CN103455468A (zh) * 2012-11-06 2013-12-18 深圳信息职业技术学院 一种多gpu运算卡及多gpu之间的数据传输方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159610A (zh) * 2015-09-01 2015-12-16 浪潮(北京)电子信息产业有限公司 大规模数据处理***及方法
CN105159610B (zh) * 2015-09-01 2018-03-09 浪潮(北京)电子信息产业有限公司 大规模数据处理***及方法
CN109313438A (zh) * 2016-03-03 2019-02-05 德克尔马霍普夫龙滕有限公司 与数控机床联用的数据存储装置
CN107992444A (zh) * 2016-10-26 2018-05-04 Zodiac航空电器 用于在处理单元之间交换数据的通信架构
CN107992444B (zh) * 2016-10-26 2024-01-23 赛峰电子与国防舱方案公司 用于在处理单元之间交换数据的通信架构
CN106776390A (zh) * 2016-12-06 2017-05-31 中国电子科技集团公司第三十二研究所 多设备访问存储器的实现方法
CN112445778A (zh) * 2019-09-05 2021-03-05 中车株洲电力机车研究所有限公司 基于VxWorks的文件操作方法和文件操作***
CN112445778B (zh) * 2019-09-05 2024-05-28 中车株洲电力机车研究所有限公司 基于VxWorks的文件操作方法和文件操作***

Also Published As

Publication number Publication date
TW201423663A (zh) 2014-06-16
US20140132611A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
CN103810124A (zh) 用于数据传输的***及方法
CN101996147B (zh) 一种双口ram互斥访问的实现方法
CN103744644B (zh) 采用四核结构搭建的四核处理器***及数据交换方法
US20050210185A1 (en) System and method for organizing data transfers with memory hub memory modules
CN103246625B (zh) 一种数据与地址共用引脚自适应调整访存粒度的方法
US8805926B2 (en) Common idle state, active state and credit management for an interface
CN105068951B (zh) 一种具有非等时传输结构的片上***总线
CN104699631A (zh) Gpdsp中多层次协同与共享的存储装置和访存方法
US8880745B2 (en) Efficient scheduling of transactions from multiple masters
CN110109847A (zh) Apb总线多个主设备的仲裁方法、***及存储介质
CN102314400B (zh) 一种分散聚合式dma方法及装置
US9213656B2 (en) Flexible arbitration scheme for multi endpoint atomic accesses in multicore systems
CN103455468A (zh) 一种多gpu运算卡及多gpu之间的数据传输方法
US7836221B2 (en) Direct memory access system and method
US9304925B2 (en) Distributed data return buffer for coherence system with speculative address support
CN103198001A (zh) 能够自测pcie接口的存储***及测试方法
TW201303870A (zh) 利用快閃記憶體介面的方法及裝置
CN104681081B (zh) 避免在单端口存储器设备中的写入冲突的方法和芯片
US20070005865A1 (en) Enforcing global ordering using an inter-queue ordering mechanism
CN109522194A (zh) 针对axi协议从设备接口的自动化压力测试***及方法
CN110023919A (zh) 用于处理结构中非投递式存储器写入事务的方法、装置和***
US9965321B2 (en) Error checking in out-of-order task scheduling
US8219745B2 (en) Memory controller to utilize DRAM write buffers
CN107533443A (zh) 在半导体器件中提供多个根
CN100587680C (zh) 管理分离总线上总线代理之间的数据流的方法和***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140521