I parametri del kernel sono memorizzati nella memoria condivisa on-chip. La memoria condivisa può avere conflitti bancari se i thread tentano di accedere allo stesso banco. Quindi la mia domanda è: vuol dire che l'utilizzo dei thread dei parametri del kernel causerà conflitti bancari?L'utilizzo dei parametri del kernel può causare conflitti bancari?
8
A
risposta
7
No, perché gli accessi saranno sempre uniformi: tutti i thread della (su capacità di calcolo 1.x half-) warp leggeranno lo stesso parametro allo stesso tempo, che viene trasmesso a tutti i thread in una singola trasmissione.
Per completezza, menzionerò che solo i dispositivi di capacità 1.x di elaborazione memorizzano i parametri nella memoria condivisa. I dispositivi con capacità di calcolo più elevate li memorizzano nella memoria costante, dove si applica lo stesso ragionamento sull'uniformità.
Devo correggermi un po 'qui: Poiché solo la capacità di calcolo 1.x memorizza i parametri nella memoria condivisa, e l'accesso alla capacità di calcolo 1.x è a semitensione, occorreranno due trasmissioni per un curvatura per leggere un parametro . È ancora corretto però che questo è il numero minimo possibile. – tera