bank conflict question

quote a great explanatory drawing from an old post:

bank 0	bank 1	bank 2	bank 3   ....   bank 15

A[0][0]   A[0][1]   A[0][2]   A[0][3]  ....   A[0][15]

A[1][0]   A[1][1]   A[1][2]   A[1][3]  ....   A[1][15]

A[2][0]   A[2][1]   A[2][2]   A[2][3]  ....   A[2][15]

...

A[15][0]  A[15][1]  A[15][2]  A[15][3]  ....  A[15][15]

if 16 threads in half a warp each reads one element of the first column of A, say thread 0 reads A[0][0], threads 1 reads A[1][0], and so on.

Since A[0][0]…A[15][0] are in the same bank, is there any bank conflict in this reading? Looks like not, but just want to confirm this.

Thanks.

this is the worst case, 16-way bank-conflict.

thanks. so looks like a ‘bank’ is really a one way lane no matter how many data is in it, except the broadcast case.

OH yaa… sorry my bad :unsure: … I was confused on how you were accessing the memory… as correctly pointed its worst 16 way bank conflicts. I thought you had threads reading row wise… not column wise…