CUDA Runtime API : an illegal memory accesswas encountered.的原因?

代码部分

g_calculate_Fe << <(M->size_element + hfths - 1) / hfths, dim3(4, hfths, 1), 0, custr[1] >> > (Md);

g_calculate_Fb << <(M->size_frac + ths - 1) / ths, ths, 0, custr[2] >> > (Md);

src = cudaDeviceSynchronize();
        if (src != cudaSuccess)
        {
            cout << M->step << " 计算错误 " << cudaGetErrorString(src) << endl;
            break;
        }

程序运行输出:
0 计算错误 an illegal memory access was encountered

之前查阅博客,线程分配时存在错误,但是对于这块不太理解,仅供参考

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。

这个不是很懂,看提示,应该是内存访问越界了,可以看下提示信息,debug下,看下哪行代码出错了。
debug工具给你推荐一个:
https://blog.csdn.net/u010212101/article/details/88669873 (C++程序/项目内存泄漏检查(valgrind)

代码不完整,检查一下变量定义