bank conflict的疑惑
如果有以下的声明:
__shared__ int a[12];
__shared__ int b[4];
__shared__ int c[17];
1 那么数据和banks的对应关系是怎样的,是这样的吗:a[0]是bank0, a[1]是bank1, a[2]是bank2, ... a[11]是bank11, b[0]是bank12, b[1]是bank13, b[2]是bank14, b[3]是bank15, c[0]是bank0, c[1]是bank1, ... , c[15]是bank15, c[16]是bank0 ?
2 如果两个线程thread0和thread1同时存取a[0], 则会产生bank conflict; 如果一个线程thread0同时存取a[0]和c[0]或者c[0]和c[16](如果对应同样的bank)(而其他线程都不存取这些地址)会不会产生bank conflict, 会不会产生延迟?