I was working on GeForce GTX 1080 Ti, Ubuntu 18.04
when i try to malloc two shared memory vector(share_size=527) to handle with bank conflict, i got a
<b>RuntimeError: CUDA error: an illegal memory access was encountered</b>
but no error report in cuda-memcheck
when share_size is just 512, is all fine, and Titan V is ok too !
Is Anyone can help me ?
__global__ void func(const int share_size, ...)
{
extern __shared__ int array[];
int *dists_idx = (int *)array;
float *dists = (float *)&dists_idx[share_size];
...
}
int main(){
int share_sz = 527;
auto share_mm = share_sz * sizeof(int) + share_sz * sizeof(float);
func<<<blocks, threads_per_block, share_mm, stream>>>(share_sz, ...);
}