DE102013018602A1 - Data transmission system has distribution circuit module which distributes request to access global shared memory from corresponding graphics processing units (GPUs), so that access conflict between multiple GPUs is avoided - Google Patents
Data transmission system has distribution circuit module which distributes request to access global shared memory from corresponding graphics processing units (GPUs), so that access conflict between multiple GPUs is avoided Download PDFInfo
- Publication number
- DE102013018602A1 DE102013018602A1 DE201310018602 DE102013018602A DE102013018602A1 DE 102013018602 A1 DE102013018602 A1 DE 102013018602A1 DE 201310018602 DE201310018602 DE 201310018602 DE 102013018602 A DE102013018602 A DE 102013018602A DE 102013018602 A1 DE102013018602 A1 DE 102013018602A1
- Authority
- DE
- Germany
- Prior art keywords
- shared memory
- data
- processing units
- circuit module
- graphics processing
- 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.)
- Withdrawn
Links
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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
Description
QUERVERWEIS AUF VERWANDTE ANMELDUNGENCROSS-REFERENCE TO RELATED APPLICATIONS
Diese Anmeldung beansprucht die Priorität der
HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION
Gebiet der ErfindungField of the invention
Die vorliegende Erfindung betrifft generell die grafische Verarbeitung und insbesondere ein Verfahren und ein System zur Datenübertragung.The present invention relates generally to graphic processing, and more particularly to a method and system for data transmission.
Beschreibung des Stands der TechnikDescription of the Related Art
Eine Grafikkarte, die eine der grundlegenden Komponenten eines Personalcomputers ist, übernimmt die Aufgabe der Ausgabe von Grafik für die Anzeige. Eine grafische Verarbeitungseinheit (GPU), der Kern einer Grafikkarte, entscheidet im Wesentlichen über das Leistungsvermögen einer Grafikkarte. Anfänglich wurde die GPU hauptsächlich zur Erzeugung von Grafik verwendet, und ihr Inneres ist im wesentlichen aus einer festgelegten Anzahl an „Pipelines bzw. Parallelverarbeitungslinien” aufgebaut, die in Pixel-Pipelines und Vertex-Pipelines unterteilt sind. Es wurde eine neue Generation DX 10-Grafikkarte 8800GTX offiziell von NVIDIA im Dezember 2006 eingeführt, und sie ersetzt Pixel-Pipelines und Vertex-Pipelines durch Datenstromprozessoren bzw. Stromprozessoren (SP). Die Leistung der GPU bei gewissen Berechnungen, etwa einer Fließkommaoperation, einer parallelen Berechnung, usw., ist tatsächlich wesentlich besser als die einer CPU, daher ist die Anwendung einer GPU nicht mehr auf grafische Verarbeitung beschränkt, sondern tritt aktuell zunehmend in den Bereich der Hochleistungsberechnungen (HPC) ein. Im Juni 2007 führte NVIDIA eine vereinheitlichte Rechengeräte-Architektur (CUDA) ein, in der eine vereinheitlichte Verarbeitungsarchitektur verwendet wird, um die Programmierschwierigkeiten zu verringern, und auch ein chipinterner gemeinsam benutzte Speicher zur Verbesserung der Effizienz eingeführt wird.A graphics card, which is one of the basic components of a personal computer, takes on the task of outputting graphics for display. A graphics processing unit (GPU), the core of a graphics card, essentially decides on the performance of a graphics card. Initially, the GPU was primarily used to generate graphics, and its interior is essentially composed of a fixed number of "pipelines" that are divided into pixel pipelines and vertex pipelines. A new generation DX 10 8800GTX graphics card was officially launched by NVIDIA in December 2006, and it replaces pixel pipelines and vertex pipelines with stream processors (SP). The performance of the GPU in certain calculations, such as floating-point operation, parallel computation, etc., is actually much better than that of a CPU, so the application of a GPU is no longer limited to graphical processing, but is increasingly entering the field of high-performance computing (HPC). In June 2007, NVIDIA introduced a unified computing device architecture (CUDA) that uses a unified processing architecture to reduce programming difficulties and also introduces on-chip shared memory to improve efficiency.
Aktuell wird eine PCIE-Schnittstelle typischerweise für die Kommunikation unter den unterschiedlichen GPUs in der grafischen Verarbeitung oder in der Berechnung für Allgemeinzwecke in einem Multi-GPU-System eingesetzt. Jedoch muss Bandbreite für eine Kommunikationsbandbreite zwischen einer GPU und einer CPU vorgesehen werden, wenn eine PCIE-Schnittstelle verwendet wird, und die Bandbreite der PCIE-Schnittstelle ist beschränkt, so dass die Übertragungsrate nicht ideal ist und die hohe Rechenleistung einer GPU nicht vollständig ausgenutzt werden kann.Currently, a PCIE interface is typically used for communication among the various GPUs in graphical processing or general purpose computing in a multi-GPU system. However, bandwidth must be provided for a communication bandwidth between a GPU and a CPU when using a PCIE interface, and the bandwidth of the PCIE interface is limited, so that the transmission rate is not ideal and the high computational power of a GPU is not fully utilized can.
Daher gibt es einen Bedarf für ein System und ein Verfahren zur Datenübertragung, um das oben genannte Problem zu lösen.Therefore, there is a need for a system and method for data transmission to solve the above problem.
ÜBERBLICK ÜBER DIE ERFINDUNGOVERVIEW OF THE INVENTION
Es wird eine Reihe von Konzepten im Überblick der Erfindung in verkürzter Form angegeben, die nachfolgend ausführlicher im Teil detaillierte Beschreibung erläutert wird. Dieser Teil der vorliegenden Erfindung soll nicht bedeuten, dass versucht wird, wesentliche Merkmale und essenzielle technischen Merkmale der technischen Lösung, für die Schutz angestrebt wird, zu definieren; es ist auch nicht damit gemeint zu versuchen, den Schutzbereichs der technischen Lösung, für die Schutz gesucht wird, zu bestimmen.A number of concepts in the overview of the invention are given in abbreviated form, which will be explained in more detail in the detailed description below. This part of the present invention is not intended to be an attempt to define essential features and essential technical features of the technical solution for which protection is sought; nor is it meant to attempt to determine the scope of the technical solution for which protection is sought.
Um das oben genannte Problem zu lösen, stellt die vorliegende Erfindung ein System zur Datenübertragung bereit mit: mehreren GPUs; einem globalen gemeinsam benutzten Speicher zur Speicherung von Daten, die zwischen den mehreren GPUs ausgetauscht werden; einem Verteilungsschaltungsmodul, das mit jeder der mehreren GPUs und dem globalen gemeinsam benutzten Speicher verbunden und ausgebildet ist, eine Zugriffsanforderung für den globalen gemeinsam benutzten Speicher aus entsprechenden GPUs so zu verteilen, dass ein Zugriffskonflikt zwischen den mehreren GPUs vermieden wird.In order to solve the above problem, the present invention provides a data transmission system comprising: a plurality of GPUs; a shared global memory for storing data exchanged between the multiple GPUs; a distribution circuit module connected to each of the plurality of GPUs and the global shared memory and configured to distribute a global shared memory access request from respective GPUs so as to avoid an access conflict between the plurality of GPUs.
In einer alternativen Ausführungsform der vorliegenden Erfindung umfasst das System ferner mehrere lokale Gerätespeicher, wovon jeder einer entsprechend der mehreren GPUs verbunden ist.In an alternative embodiment of the present invention, the system further includes a plurality of local device memories, each of which is associated with one of the plurality of GPUs.
In einer alternativen Ausführungsform der vorliegenden Erfindung umfasst jede der mehreren GPUs ferner einen Blockpuffer, der ausgebildet ist, Daten zwischenzuspeichern, die von jeder der mehreren GPUs übertragen werden, und eine Größe bzw. ein Volumen des Blockpuffers ist nicht größer als ein Volumen bzw. eine Größe des globalen gemeinsam benutzten Speichers.In an alternative embodiment of the present invention, each of the plurality of GPUs further includes a block buffer configured to latch data transmitted from each of the plurality of GPUs, and a size of the block buffer is not larger than a volume Size of global shared memory.
In einer alternativen Ausführungsform der vorliegenden Erfindung ist die Größe des Blockpuffers konfigurierbar derart, dass: die Daten an den globalen gemeinsam benutzten Speicher über den Blockpuffer in Teilen bzw. Gruppen gesendet werden, wenn eine Größe der Daten größer als die Größe des globalen gemeinsam benutzten Speichers ist; und die Daten alle auf einmal an den globalen gemeinsam benutzten Speicher über den Blockpuffer gesendet werden, wenn die Größe der Daten nicht größer als die Größe des globalen gemeinsam benutzten Speichers ist.In an alternative embodiment of the present invention, the size of the block buffer is configurable such that: the data is sent to the global shared memory via the block buffer in portions when a size of the data is greater than the size of the global shared memory; and the data is sent all at once to the global shared memory via the block buffer if the size of the data is not greater than the size of the global shared memory.
In einer alternativen Ausführungsform der vorliegenden Erfindung ist das Verteilungsschaltungsmodul ausgebildet derart, dass: wenn die Zugriffsanforderung an das Verteilungsschaltungsmodul durch eine einzelne GPU der mehreren GPUs gesendet wird, das Verteilungsschaltungsmodul der einen GPU der mehreren GPUs erlaubt, auf den globalen gemeinsam benutzten Speicher zuzugreifen, wenn der globale gemeinsam benutzte Speicher in einem untätigen Zustand ist; und das Verteilungsschaltungsmodul es der einen GPU der mehreren GPUs nicht erlaubt, auf den globalen gemeinsam benutzten Speicher zuzugreifen, wenn der globale gemeinsam benutzte Speicher in einem beschäftigten Zustand ist.In an alternative embodiment of the present invention, the distribution circuit module is configured such that when the access request to the distribution circuit module is sent by a single GPU of the plurality of GPUs, the distribution circuit module of the one GPU of the plurality of GPUs access the global shared memory when the global shared memory is in an idle state; and the distribution circuit module does not allow the one GPU of the plurality of GPUs to access the global shared memory when the shared global memory is in a busy state.
In einer alternativen Ausführungsform der vorliegenden Erfindung umfasst jede der mehreren GPUs eine PCIE-Schnittstelle zur Datenübertragung zwischen den mehreren GPUs, wenn der Zugriffskonflikt vorliegt.In an alternative embodiment of the present invention, each of the multiple GPUs includes a PCIE interface for communicating between the multiple GPUs when the access conflict occurs.
In einer alternativen Ausführungsform der vorliegenden Erfindung umfasst der globale gemeinsam benutzte Speicher ferner Kanäle, die entsprechend mit jeweiligen GPUs gekoppelt sind, und die Daten werden direkt zwischen dem globalen gemeinsam benutzten Speicher und den jeweiligen GPUs über die Kanäle übertragen.In an alternative embodiment of the present invention, the global shared memory further includes channels coupled to respective GPUs, and the data is transferred directly between the shared global memory and the respective GPUs via the channels.
In einer alternativen Ausführungsform der vorliegenden Erfindung ist das Verteilungsschaltungsmodul ausgebildet, in der Lage zu sein, mit entsprechenden GPUs zu kommunizieren, und die Daten werden zwischen dem globalen gemeinsam benutzten Speicher und jeweiligen GPUs über das Verteilungsschaltungsmodul ausgetauscht.In an alternative embodiment of the present invention, the distribution circuit module is configured to be able to communicate with corresponding GPUs and the data is exchanged between the global shared memory and respective GPUs via the distribution circuit module.
In einer alternativen Ausführungsform der vorliegenden Erfindung ist das Verteilungsschaltungsmodul ein einzelnes Modul, ein Teil des globalen gemeinsam benutzten Speichers oder ein Teil entsprechender GPUs.In an alternative embodiment of the present invention, the distribution circuit module is a single module, a portion of the global shared memory, or a portion of corresponding GPUs.
In einer alternativen Ausführungsform der vorliegenden Erfindung besteht das Verteilungsschaltungsmodul aus einem FPGA, einem Einzelchip-Mikrocomputer und/oder einer Logikgatter-Schaltung.In an alternative embodiment of the present invention, the distribution circuit module consists of an FPGA, a single-chip microcomputer, and / or a logic gate circuit.
In einem weiteren Aspekt der Erfindung wird auch ein Verfahren zur Datenübertragung bereitgestellt. Das Verfahren umfasst: Übertragen von Daten von einer GPU von mehreren GPUs zu einer weiteren GPU der mehreren GPUs über einen globalen gemeinsam benutzten Speicher; während der Übertragung Verteilen einer Zugriffsanforderung für den globalen gemeinsam benutzten Speicher aus entsprechenden GPUs der mehreren GPUs mittels eines Verteilungsschaltungsmoduls.In a further aspect of the invention, a method for data transmission is also provided. The method comprises: transferring data from a GPU from multiple GPUs to another GPU of the plurality of GPUs via a global shared memory; during transmission, distributing a global shared memory access request from corresponding GPUs of the plurality of GPUs using a distribution circuit module.
In einer alternativen Ausführungsform der vorliegenden Erfindung umfasst die Verteilung: wenn die Zugriffsanforderung an das Verteilungsschaltungsmodul durch eine einzelne GPU der mehreren GPUs gesendet wird, Zulassen, mittels des Verteilungsschaltungsmoduls, dass die eine GPU der mehreren GPUs auf den globalen gemeinsam benutzten Speicher zugreift, wenn der globale gemeinsam benutzte Speicher in einem untätigen Zustand ist; und nicht Zulassen, mittels des Verteilungsschaltungsmoduls, dass die eine GPU der mehreren GPUs auf den globalen gemeinsam benutzten Speicher zugreift, wenn mit der globale gemeinsam benutzte Speicher in einem beschäftigten Zustand ist.In an alternative embodiment of the present invention, when the access request to the distribution circuit module is sent by a single GPU of the plurality of GPUs, the distribution comprises, by the distribution circuit module, accessing the global shared memory for the one GPU of the plurality of GPUs global shared memory is in an idle state; and not allowing, by the distribution circuit module, the one GPU of the plurality of GPUs to access the global shared memory when the global shared memory is in a busy state.
In einer alternativen Ausführungsform der vorliegenden Erfindung umfasst die Übertragung von Daten: Schreiben der Daten in den globalen gemeinsam benutzten Speicher durch die eine GPU der mehreren GPUs; und Lesen der Daten aus dem globalen gemeinsam benutzten Speicher durch eine weitere GPU der mehreren GPUs.In an alternative embodiment of the present invention, the transfer of data comprises: writing the data to the global shared memory by the one GPU of the plurality of GPUs; and reading data from the global shared memory by another GPU of the plurality of GPUs.
In einer alternativen Ausführungsform der vorliegenden Erfindung umfasst Übertragung von Daten ferner: Lesen der Daten aus einem lokalen Gerätespeicher, der einer GPU der mehreren GPUs zugeordnet ist, durch die eine GPU der mehreren GPUs, bevor die Daten in den globalen gemeinsam benutzten Speicher durch die eine GPU der mehreren GPUs geschrieben werden.In an alternative embodiment of the present invention, transmission of data further comprises: reading the data from a local device memory associated with a GPU of the plurality of GPUs by which a GPU of the plurality of GPUs before the data into the global shared memory through the one GPU of multiple GPUs are written.
In einer alternativen Ausführungsform der vorliegenden Erfindung umfasst Übertragung von Daten ferner: Schreiben der gelesenen Daten in einen lokalen Gerätespeicher, der der weiteren GPU der mehreren GPUs zugeordnet ist, durch die weitere GPU der mehreren GPUs, nachdem die Daten aus dem globalen gemeinsam benutzten Speicher durch die weitere GPU der mehreren GPUs gelesen werden.In an alternative embodiment of the present invention, transmission of data further comprises: writing the read data into a local device memory associated with the further GPU of the plurality of GPUs by the further GPU of the plurality of GPUs after the data from the global shared memory the more GPU of the several GPUs are read.
In einer alternativen Ausführungsform der vorliegenden Erfindung umfasst ferner jede der mehreren GPUs einen Blockpuffer, der ausgebildet ist, Daten zwischenzuspeichern, die von jeder der mehreren GPUs übertragen werden, und wobei ein Volumen bzw. eine Größe des Blockpuffers nicht größer als ein Volumen bzw. eine Größe des globalen gemeinsam benutzten Speichers ist.In an alternative embodiment of the present invention, each of the multiple GPUs further includes a block buffer configured to cache data transmitted from each of the plurality of GPUs, and wherein a size of the block buffer is not greater than one volume Size of global shared memory is.
In einer alternativen Ausführungsform der vorliegenden Erfindung ist die Größe des Blockpuffer so konfigurierbar, dass: die Daten an den globalen gemeinsam benutzten Speicher über den Blockpuffer in Teilen bzw. Gruppen gesendet werden, wenn eine Größe der Daten größer ist als die Größe des globalen gemeinsam benutzten Speichers; und die Daten an den globalen gemeinsam benutzten Speicher über den Blockpuffer alle auf einmal gesendet werden, wenn die Größe der Daten nicht größer als die Größe des globalen gemeinsam benutzten Speichers ist.In an alternative embodiment of the present invention, the size of the block buffer is configurable such that: the data is sent to the global shared memory via the block buffer in groups, if a size of the data is larger than the size of the global shared memory; and the data is sent to the global shared memory via the block buffer all at once, if the size of the data is not larger than the size of the shared global memory.
In einer alternativen Ausführungsform der vorliegenden Erfindung umfasst der globale gemeinsam benutzte Speicher ferner Kanäle, die jeweils mit entsprechenden GPUs verbunden sind, und die Daten werden direkt zwischen dem globalen gemeinsam benutzten Speicher und entsprechenden GPUs über die Kanäle ausgetauscht.In an alternative embodiment of the present invention, the global shared memory further comprises channels each connected to respective GPUs and the data is exchanged directly between the shared global memory and corresponding GPUs over the channels.
In einer alternativen Ausführungsform der vorliegenden Erfindung ist das Verteilungsschaltungsmodul so ausgebildet, dass es in der Lage ist, mit jeweiligen GPUs zu kommunizieren, und die Daten werden zwischen dem globalen gemeinsam benutzten Speicher und entsprechenden GPUs über das Verteilungsschaltungsmodul ausgetauscht.In an alternative embodiment of the present invention, the distribution circuit module is configured to be able to communicate with respective GPUs, and the data is exchanged between the global shared memory and corresponding GPUs via the distribution circuit module.
In einem weiteren Aspekt der Erfindung wird auch eine Grafikkarte bereitgestellt. Die Grafikkarte umfasst ein System zur Datenübertragung, wobei das System zur Datenübertragung umfasst: mehrere GPUs; einen globalen gemeinsam benutzten Speicher zur Speicherung von Daten, die zwischen den mehreren GPUs ausgetauscht werden; ein Verteilungsschaltungsmodul, das mit jeder der mehreren GPUs und dem globalen gemeinsam benutzten Speicher verbunden und ausgebildet ist, eine Zugriffsanforderung für den globalen gemeinsam benutzten Speicher aus entsprechenden GPUs so zu verteilen, dass ein Zugriffskonflikt zwischen den mehreren GPUs vermieden wird.In another aspect of the invention, a graphics card is also provided. The graphics card includes a data transfer system, the data transfer system comprising: multiple GPUs; a shared global memory for storing data exchanged between the multiple GPUs; a distribution circuit module connected to each of the plurality of GPUs and the global shared memory and configured to distribute a global shared memory access request from respective GPUs so as to avoid an access conflict between the multiple GPUs.
Das System und das Verfahren zur Datenübertragung, wie sie von der vorliegenden Erfindung bereitgestellt werden, versetzen die GPUs in dem System in die Lage, Daten über den globalen gemeinsam benutzten Speicher anstatt über eine PCIE-Schnittstelle auszutauschen, so dass eine gemeinsame Nutzung von Bandbreite mit einem CPU-Bus vermieden wird, so dass die Übertragungsgeschwindigkeit höher ist.The system and method of data transmission provided by the present invention enable the GPUs in the system to exchange data over the global shared memory rather than via a PCIE interface, thus sharing bandwidth with a CPU bus is avoided, so that the transmission speed is higher.
KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS
Die begleitenden Zeichnungen sind hier mit eingeschlossen, um ein weitergehendes Verständnis der Erfindung zu bieten, und sind in dieser Beschreibung enthalten und bilden einen Teil davon. Die Zeichnungen stellen Ausführungsformen der Erfindung dar und dienen zusammen mit der Beschreibung dazu, die Prinzipien der Erfindung zu erläutern. In den Zeichnungen zeigenThe accompanying drawings are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. In the drawings show
DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION
Es wird eine Fülle spezieller Details angegeben, um ein gründlicheres Verständnis der vorliegenden Erfindung in der folgenden Beschreibung zu ermöglichen. Jedoch kann die vorliegende Erfindung auch ohne eines oder mehrere dieser Details umgesetzt werden, wie dies für den Fachmann auf dem Gebiet ersichtlich ist. In anderen Beispielen werden einige der technischen Merkmale, die im Stand der Technik bekannt sind, nicht beschrieben, um eine Verdunkelung der vorliegenden Erfindung zu vermeiden.A great deal of specific details are set forth in order to provide a more thorough understanding of the present invention in the following description. However, the present invention may be practiced without one or more of these details, as will be apparent to those skilled in the art. In other examples, some of the technical features known in the art are not described to avoid obscuring the present invention.
Es werden nun detaillierte Strukturen in der folgenden Beschreibung für eine gründlichere Würdigung der Erfindung präsentiert. Es ist ersichtlich, dass die Umsetzung der Erfindung nicht auf spezielle Details beschränkt ist, die für den Fachmann gut bekannt sind. Nachfolgend werden bevorzugte Ausführungsformen beschrieben; jedoch kann die Erfindung auch andere Möglichkeiten der Umsetzung umfassen.Detailed structures will now be presented in the following description for a more thorough appreciation of the invention. It will be understood that the practice of the invention is not limited to specific details that are well known to those skilled in the art. Hereinafter, preferred embodiments will be described; however, the invention may include other means of implementation.
Die vorliegende Erfindung gibt ein System und ein Verfahren zur Datenübertragung an. Durch die Anwendung des Verfahrens kann eine Datenübertragung bzw. ein Datenaustausch zwischen unterschiedlichen GPUs in einem System ohne Verwendung einer PCIE-Schnittstelle realisiert werden. Die Anzahl an GPUs ist nicht beschränkt, es sind jedoch nur eine erste GPU und eine zweite GPU als Beispiel zur Darstellung verwendet, wie Daten zwischen unterschiedlichen GPUs in einem System in Ausführungsformen der vorliegenden Erfindung ausgetauscht bzw. übertragen werden können.The present invention provides a system and method for data transmission. By using the method, data transmission between a variety of GPUs can be realized in a system without using a PCIE interface. The number of GPUs is not limited, but only a first GPU and a second GPU are used as an example to illustrate how data can be exchanged between different GPUs in a system in embodiments of the present invention.
Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung kann das System zur Datenübertragung
Gemäß einer vorteilhaften Ausführungsform der vorliegenden Erfindung kann die erste GPU
Wenn beispielsweise Daten von dem ersten lokalen Gerätespeicher
Der Fachmann auf dem Gebiet weiß, dass Daten von der ersten GPU
Abhängig von der Größe der zu übertragenden Daten und von dem Volumen bzw. der Größe des globalen gemeinsam benutzten Speichers ist die Größe des Blockpuffers so konfigurierbar, dass: die Daten an den globalen gemeinsam benutzten Speicher
Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ist das Verteilungsschaltungsmodul
Der Verteilungsprozess
Gemäß einer alternativen Ausführungsform der vorliegenden Erfindung kann der Zugriff auf den globalen gemeinsam benutzten Speicher
Gemäß einer alternativen Ausführungsform der vorliegenden Erfindung kann der globale gemeinsam benutzte Speicher
Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung kann das Verteilungsschaltungsmodul
Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung kann das Verteilungsschaltungsmodul
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Verfahren zur Datenübertragung bereitgestellt. Das Verfahren umfasst: Übertragen von Daten von einer GPU aus mehreren GPUs zu einer weiteren GPU der mehreren GPUs über einen globalen gemeinsam benutzten Speicher; während der Übertragung, Verteilen einer Zugriffsanforderung für den globalen gemeinsam benutzten Speicher von jeweiligen GPUs aus den mehreren GPUs mittels eines Verteilungsschaltungsmoduls.According to another aspect of the present invention, a method of data transmission is provided. The method includes: transmitting data from a GPU from multiple GPUs to another GPU of the plurality of GPUs via a global shared memory; during transmission, distributing a global shared memory access request from respective GPUs from the plurality of GPUs using a distribution circuit module.
Gemäß einer Ausführungsform der vorliegenden Erfindung kann die Verteilung umfassen: wenn die Zugriffsanforderung an das Verteilungsschaltungsmodul durch eine GPU aus den mehreren GPUs gesendet wird, Zulassen, mittels des Verteilungsschaltungsmoduls, dass die eine GPU aus den mehreren GPUs auf den globalen gemeinsam benutzten Speicher zugreift, wenn der globale gemeinsam benutzte Speicher in einem untätigen Zustand ist; und nicht Zulassen, mittels des Verteilungsschaltungsmoduls, dass die eine GPU der mehreren GPUs auf den globalen gemeinsam benutzten Speicher zugreift, wenn der globale gemeinsam benutzte Speicher in einem beschäftigten Zustand ist.According to an embodiment of the present invention, the distribution may include: when the access request to the distribution circuit module is sent by the GPU from the plurality of GPUs, allowing the distribution circuit module to access the global shared memory from the plurality of GPUs the global shared memory is in an idle state; and not allowing, by the distribution circuit module, the one GPU of the plurality of GPUs to access the global shared memory when the shared global memory is in a busy state.
Gemäß einer Ausführungsform der vorliegenden Erfindung kann die Übertragung von Daten umfassen: Schreiben der Daten in den globalen gemeinsam benutzten Speicher durch die eine GPU der mehreren GPUs; und Lesen der Daten aus dem globalen gemeinsam benutzten Speicher durch die weitere GPU der mehreren GPUs.According to one embodiment of the present invention, the transfer of data may include: writing the data to the global shared memory by the one GPU of the plurality of GPUs; and reading the data from the global shared memory by the further GPU of the plurality of GPUs.
Alternativ kann die Übertragung von Daten auch beinhalten, dass Daten aus einem lokalen Gerätespeicher, der der einen GPU der mehreren GPUs zugeordnet ist, durch die eine GPU der mehreren GPUs gelesen werden, bevor die Daten in den globalen gemeinsam benutzten Speicher durch die eine GPU der mehreren GPUs geschrieben werden.Alternatively, the transmission of data may also include reading data from a local device memory associated with the one GPU of the plurality of GPUs by the one GPU of the plurality of GPUs before the data is transferred to the global shared memory by the one GPU multiple GPUs are written.
Alternativ kann die Übertragung von Daten auch umfassen, dass die gelesenen Daten in einen lokalen Gerätespeicher, der der weiteren GPU der mehreren GPUs zugeordnet ist, durch die weitere GPU der mehreren GPUs geschrieben wird, bevor die Daten aus dem globalen gemeinsam benutzten Speicher durch die weitere GPU der mehreren GPUs gelesen werden.Alternatively, the transmission of data may also include writing the read data into a local device memory associated with the other GPUs of the plurality of GPUs by the further GPU of the plurality of GPUs before transferring the data from the global shared memory through the further one GPU of multiple GPUs are read.
Wie in der entsprechenden Beschreibung der Ausführungsformen des Systems zur Datenübertragung beschrieben ist, muss der lokale Gerätespeicher nicht notwendigerweise an dem obigen Datenübertragungsvorgang beteiligt sein.As described in the corresponding description of the embodiments of the data transmission system, the local device memory does not necessarily have to be involved in the above data transfer operation.
Es sind die GPU, der globale gemeinsam benutzte Speicher und das Verteilungsschaltungsmodul, die in dem oben genannten Verfahren beteiligt sind, in der Beschreibung mittels Ausführungsformen des Systems zur Datenübertragung beschrieben. Der Kürze halber ist eine detaillierte Beschreibung davon weggelassen. Der Fachmann versteht die spezielle Struktur und die Funktionsweise davon jedoch mit Verweis auf
In einem noch weiteren Aspekt der vorliegenden Erfindung ist auch eine Grafikkarte, die das obige System zur Datenübertragung enthält, bereitgestellt. Der Kürze halber ist eine detaillierte Beschreibung davon jedoch weggelassen. Der Fachmann versteht den speziellen Aufbau und die Funktionsweise der Grafikkarte durch Verweis auf
Ein Datenaustausch zwischen unterschiedlichen GPUs kann in der oben genannten Grafikkarte realisiert werden.A data exchange between different GPUs can be realized in the above graphic card.
Das System und das Verfahren zur Datenübertragung, die durch die vorliegende Erfindung bereitgestellt werden, ermöglichen es entsprechenden GPUs in dem System, Daten über den globalen gemeinsam benutzten Speicher anstatt über eine PCIE-Schnittstelle auszutauschen, wodurch eine Nutzung von Bandbreite gemeinsam mit einem CPU-Bus vermieden wird, wodurch somit die Übertragungsgeschwindigkeit größer ist.The data transmission system and method provided by the present invention enable corresponding GPUs in the system to exchange data over the global shared memory rather than via a PCIE interface, thereby sharing bandwidth with a CPU bus is avoided, thus increasing the transmission speed is greater.
Die vorliegende Erfindung ist durch die zuvor genannten Ausführungsformen beschrieben. Zu beachten ist jedoch, dass die zuvor genannten Ausführungsformen dem Zweck der Darstellung und der Beschreibung dienen und nicht zu dem Zwecke gedacht sind, die vorliegende Erfindung auf den Schutzbereich der beschriebenen Ausführungsformen einzuschränken. Der Fachmann erkennt, dass die vorliegende Erfindung nicht auf die zuvor genannten Ausführungsformen beschränkt ist und dass diverse Modifizierungen und Anpassungen entsprechend der Lehre der vorliegenden Erfindung vorgenommen werden können und innerhalb des Schutzbereichs und des Grundgedankens der vorliegenden Erfindung liegen. Der Schutzbereich der vorliegenden Erfindung ist durch die folgenden Patentansprüche und deren Äquivalenzbereich weiter festgelegt.The present invention is described by the aforementioned embodiments. It should be noted, however, that the foregoing embodiments are for the purpose of illustration and description and are not intended to limit the present invention to the scope of the described embodiments. Those skilled in the art will recognize that the present invention is not limited to the aforesaid embodiments and that various modifications and adaptations can be made in accordance with the teachings of the present invention and are within the scope and spirit of the present invention. The scope of the present invention is further defined by the following claims and their equivalents.
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- CN 201210448813 [0001] CN 201210448813 [0001]
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201310018602 DE102013018602A1 (en) | 2012-11-09 | 2013-11-07 | Data transmission system has distribution circuit module which distributes request to access global shared memory from corresponding graphics processing units (GPUs), so that access conflict between multiple GPUs is avoided |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210448813.8 | 2012-11-09 | ||
US13/754,069 US20140132611A1 (en) | 2012-11-09 | 2013-01-30 | System and method for data transmission |
US13/754,069 | 2013-01-30 | ||
DE201310018602 DE102013018602A1 (en) | 2012-11-09 | 2013-11-07 | Data transmission system has distribution circuit module which distributes request to access global shared memory from corresponding graphics processing units (GPUs), so that access conflict between multiple GPUs is avoided |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102013018602A1 true DE102013018602A1 (en) | 2014-05-15 |
Family
ID=50555917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201310018602 Withdrawn DE102013018602A1 (en) | 2012-11-09 | 2013-11-07 | Data transmission system has distribution circuit module which distributes request to access global shared memory from corresponding graphics processing units (GPUs), so that access conflict between multiple GPUs is avoided |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102013018602A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115775199A (en) * | 2022-11-23 | 2023-03-10 | 海光信息技术股份有限公司 | Data processing method and device, electronic equipment and computer readable storage medium |
-
2013
- 2013-11-07 DE DE201310018602 patent/DE102013018602A1/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115775199A (en) * | 2022-11-23 | 2023-03-10 | 海光信息技术股份有限公司 | Data processing method and device, electronic equipment and computer readable storage medium |
CN115775199B (en) * | 2022-11-23 | 2024-04-16 | 海光信息技术股份有限公司 | Data processing method and device, electronic equipment and computer readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60308150T2 (en) | ADDRESS ROOM, BUS SYSTEM, STORAGE CONTROL AND SETUP SYSTEM | |
DE2227882C2 (en) | Virtual storage arrangement | |
DE69722117T2 (en) | Uniform memory architecture with dynamic graphics memory allocation | |
DE102013106154B4 (en) | Memory system and system on chip with linear address remapping logic | |
DE102007050864B4 (en) | Method and apparatus for communicating command and address signals | |
DE69933328T2 (en) | Reusable cache device and method | |
DE102006032832A1 (en) | Network system and method for controlling distributed memory | |
DE102008005865A1 (en) | A semiconductor memory device, method for controlling access to a mailbox in a semiconductor memory device and computer-readable storage medium | |
DE102013018135B4 (en) | Address bit remapping scheme for reducing an access resolution of DRAM accesses | |
DE112013004783T5 (en) | Read and write masks controlled vector move command | |
DE102006043311A1 (en) | storage system | |
DE112008002273T5 (en) | Optimum solution for controlling data channels | |
DE102008008196A1 (en) | Memory card, storage system and method of operating a storage system | |
DE112010005609T5 (en) | Storing data in one of a plurality of buffers in a memory controller | |
DE102021111195A1 (en) | System and method for on-chip memory (OCM) port throttling for machine learning operations | |
DE112004000694T5 (en) | A method and apparatus for improving multi-CPU system performance for memory accesses | |
DE60009817T2 (en) | Shared memory distributing multiprocessor device | |
DE102019132485A1 (en) | Management of access restrictions within a system-on-chip | |
DE602004008712T2 (en) | A memory bandwidth control device | |
WO1996016366A1 (en) | Arrangement with master and slave units | |
DE2558417A1 (en) | DATA PROCESSING SYSTEM | |
DE102013018602A1 (en) | Data transmission system has distribution circuit module which distributes request to access global shared memory from corresponding graphics processing units (GPUs), so that access conflict between multiple GPUs is avoided | |
DE102005040109B4 (en) | Semiconductor memory chip | |
DE102009027567A1 (en) | Cache memory device | |
DE102005046997B4 (en) | Device for storing memory words |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: KRAUS & WEISERT PATENTANWAELTE PARTGMBB, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |