bank-conflict

___ tag123cuda ___ CUDA ist eine parallele Rechenplattform und ein Programmiermodell für Nvidia GPUs (Graphics Processing Units). CUDA bietet eine Schnittstelle zu Nvidia-GPUs über eine Vielzahl von Programmiersprachen, Bibliotheken und APIs. ___ tag123bankkonflikt ___ ein Latenzproblem aufgrund von Multithread-Zugriff auf ein Shared-Memory-System. Gegenwärtig ist dieses Latenzproblem am häufigsten bei nVidia- und ATI-Grafikkarten vorhanden. ___ qstnhdr ___ Kann die Verwendung von Kernel-Parametern zu Bankkonflikten führen? [geschlossen] ___ answer12844029 ___

Nein, weil die Zugriffe immer einheitlich sind: Alle Threads der (bei Compute-Fähigkeit 1.x Halb-) Warp lesen denselben Parameter zur gleichen Zeit, der an alle Threads in einer einzigen Übertragung gesendet wird.

Der Vollständigkeit halber erwähne ich, dass nur Compute-fähige 1.x-Geräte Parameter im Shared Memory speichern. Geräte mit höherer Rechenleistung speichern sie in konstantem Speicher, wobei die gleiche Einheitlichkeitsüberlegung gilt.

    
___ qstntxt ___

Die Kernel-Parameter werden im gemeinsamen Shared Memory gespeichert. Shared Memory kann Bankkonflikte haben, wenn Threads versuchen, auf dieselbe Bank zuzugreifen. Meine Frage ist also : Bedeutet das, dass die Verwendung von Kernel-Parameter-Threads Bankkonflikte verursacht?

    
___
1
Antwort

Kann die Verwendung von Kernel-Parametern zu Bankkonflikten führen? [geschlossen]

Die Kernel-Parameter werden im gemeinsamen Shared Memory gespeichert. Shared Memory kann Bankkonflikte haben, wenn Threads versuchen, auf dieselbe Bank zuzugreifen. Meine Frage ist also : Bedeutet das, dass die Verwendung von Kernel-Parameter-T...
11.10.2012, 12:31