SIMD-Realisierung von Schablonencodes
Realisieren eines 1-D-Schablonencodes über SIMD-Anweisungen auf einem Computer mit Vektorregistern, die N Verarbeitungselemente (Processing Elements, PEs) aufweisen, darunter eine Gruppe von Koeffizientenvektorregistern, eine Gruppe von höchstens N Datenvektorregistern und eine Gruppe von Ergebnisve...
Saved in:
Main Authors | , |
---|---|
Format | Patent |
Language | German |
Published |
29.09.2016
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | Realisieren eines 1-D-Schablonencodes über SIMD-Anweisungen auf einem Computer mit Vektorregistern, die N Verarbeitungselemente (Processing Elements, PEs) aufweisen, darunter eine Gruppe von Koeffizientenvektorregistern, eine Gruppe von höchstens N Datenvektorregistern und eine Gruppe von Ergebnisvektorregistern. Die M Schablonenkoeffizienten werden in einem bestimmten Muster in M + N - 1 Koeffizientenvektorregister geladen. Nachfolgende Gruppen von N aufeinanderfolgenden Datenwerten werden empfangen, und jeder Datenwert einer Gruppe wird in alle PEs eines Datenvektorregisters der Gruppe von Datenvektorregistern geladen. Die Ergebnisvektorregister kumulieren Summen von Produkten aus aufeinanderfolgenden Koeffizientenvektorregistern mit entsprechenden Datenvektorregistern. Der Inhalt beliebiger Ergebnisvektorregister, die eine Summe aller Koeffizientenvektorregister-Datenvektorregister-Produkte enthalten, wird ausgegeben, und das Ergebnisregister wird erneut zum Kumulieren verwendet.
Implementing a 1D stencil code via SIMD instructions on a computer with vector registers having N processing elements (PEs), among them a set of coefficient vector registers, a set of at most N data vector registers, and a set of result vector registers. The M stencil coefficients are loaded in a particular pattern into M+N−1 coefficient vector registers. Successive sets of N consecutive data values are received, and each data value of a set is loaded into all PEs of a data vector register of the set of data vector registers. The result vector registers accumulate sums of products of consecutive coefficient vector registers with corresponding data vector registers. The contents of any result vector register containing a sum of all coefficient vector register-data vector register products is output, and the result vector register is reused for accumulating. |
---|---|
Bibliography: | Application Number: DE201610205020 |