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?
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.
Tags und Links cuda bank-conflict