TECHNIKEN ZUM AUSGLEICHEN VON ARBEITSLASTEN BEIM PARALLELISIEREN VON MULTIPLIZIER-AKKUMULIER-BERECHNUNGEN
In verschiedenen Ausführungsformen führt eine Dispatch-Anwendung Multiplizier-Akkumulier-(,,MAC")-Berechnungen über Parallelverarbeitungselemente durch. Im Betrieb bestimmt die Dispatch-Anwendung eine erste Menge von Iterationen, die einer gegebenen MAC-Berechnung zugeordnet sind. Die Dispatch-...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Patent |
Sprache: | ger |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | In verschiedenen Ausführungsformen führt eine Dispatch-Anwendung Multiplizier-Akkumulier-(,,MAC")-Berechnungen über Parallelverarbeitungselemente durch. Im Betrieb bestimmt die Dispatch-Anwendung eine erste Menge von Iterationen, die einer gegebenen MAC-Berechnung zugeordnet sind. Die Dispatch-Anwendung bestimmt eine maximale Anzahl von Aufgaben, die gleichlaufend über einen Satz von Parallelverarbeitungselementen ausgeführt werden können. Anschließend veranlasst die Dispatch-Anwendung, dass die maximale Anzahl von Aufgaben gleichlaufend über den Satz von Parallelverarbeitungselementen ausgeführt wird, um die MAC-Berechnung durchzuführen. Während der Ausführung führt jede Aufgabe eine im Wesentlichen der ersten Menge ähnliche Anzahl von Iterationen durch. In Bezug auf herkömmliche kachelbasierte Vorgehensweisen, um MAC-Berechnungen über Parallelverarbeitungselemente durchzuführen, kann die Dispatch-Anwendung Iterationen über die unterschiedlichen Parallelverarbeitungselemente gleichmäßiger verteilen. Demgemäß kann die Dispatch-Anwendung die Menge von untätiger Parallelverarbeitungselementzeit beim Durchführen von MAC-Berechnungen verringern.
In various embodiments, a dispatch application performs multiply-accumulate ("MAC") computations across parallel processing elements. In operation, the dispatch application determines a first quantity of iterations associated with a given MAC computation. The dispatch application determines a maximum number of tasks that can execute concurrently across a set of parallel processing elements. Subsequently, the dispatch application causes the maximum number of tasks to be executed concurrently across the set of parallel processing elements in order to perform the MAC computation. During execution, each task performs a substantially similar number of the first quantity of iterations. Relative to conventional tile-based approaches to performing MAC computations across parallel processing elements, the dispatch application can more evenly distribute iterations across the different parallel processing elements. Accordingly, the dispatch application can reduce the amount of parallel processing element idle time when performing MAC computations. |
---|