CUDA编程:Segmentation fault (core dumped)

在进行CUDAGPU编程的时候,出现了Segmentation fault (core dumped)
可以根据以下的不走一次查出错误的位置
1可以看一下,此时的内存是如何了

free -m

在这里插入图片描述
2 如果内存很多,就要释放内存

echo 3>/proc/sys/vm/drop_caches

3设置系统限制
看一下系统的限制

ulimit -a

CUDA编程:Segmentation fault (core dumped)_第1张图片
解除控制

1 ulimit -c unlimited 设置core大小为无限  
2 ulimit  unlimited 设置文件大小为无限    
3 nvcc exec.cu -o exec,会产生一个core 文件
4 gdb [exec] [core file] 会产生gdb下的命令发生core dump之后,用gdb进行查看core文件的内容, 以定位文件中引发core dump的行:
5.bt可以看到错误的地方,
6 另外需要注意的是,如果你的机器上跑很多的应用,你生成的core又不知道是哪个应用产生的,你可以通过下列命令进行查看:file core
所以我总结的是很多方面的原因,但是我的程序主要是
1,内存访问越界了,自己定义的范围,越过了自己申请的空间
2,就是外面core的限制,可以按照1 2 命令进行修改


 

Segment fault及LINUX core dump详解 - 莫水千流 - 博客园 https://www.cnblogs.com/zhoug2020/p/6038071.html
希望对你有帮助

你可能感兴趣的:(软件,代码)