Can using kernel parameters cause bank conflicts? [closed]
Asked Answered
H

1

8

The kernel parameters are stored in on-chip shared memory. Shared memory can have bank conflicts if threads try to access the same bank. So my question is: does that mean that using kernel parameters threads will cause bank conflicts?

Hurless answered 11/10, 2012 at 12:31 Comment(0)
M
7

No, because accesses will always be uniform: All threads of the (on compute capability 1.x half-) warp will read the same parameter at the same time, which is broadcast to all threads in a single transmission.

For completeness, I'll mention that only compute capability 1.x devices store parameters in shared memory. Higher compute capability devices store them in constant memory, where the same uniformity reasoning applies.

Musca answered 11/10, 2012 at 16:13 Comment(1)
I have to correct myself slightly here: Since only compute capability 1.x stores parameters in shared memory, and access on compute capability 1.x is per half-warp, it will take two transmissions for a warp to read a parameter. It is still correct though that this is the minimum number possible.Musca

© 2022 - 2024 — McMap. All rights reserved.