记录一次Segmentation fault (core dumped) 段错误(cuda编程)

现象

使用makefile编译成功编译,但是在运行时出现

Segmentation fault (core dumped) 段错误,如下图所示:

尝试办法

1.让copilot找bug:

没有找到具体的问题,只指出了是指针访问越界以及未定义行为。指出了一个大概的方向

2.使用GBD查找问题:

每次都停在compared函数上,

或者我想打印输出的数组时stdio报错,

当我把它注释掉后没有出现问题。推测问题出现在输出的cpu或者gpu数组上。

3.自查代码逻辑,重点看输出的cpu或者gpu数组:

发现将dref的空间错误的申请在了gpu上,那么当cpu想去读取dref时就会出错。因为cpu无法直接去读取gpu内的数据。

修改方法

修改dref在cpu空间申请内存,然后重新编译运行:

成功输出正确的前缀和,问题解决!

相关推荐
starvapour2 天前
CUDA_VISIBLE_DEVICES与nvidia-smi显卡序号不一致的问题
python·ai·cuda
大数据在线3 天前
AI计算新生态:旧地图找不到新大陆
cuda·昇腾·cann·英伟达·deepseek
qq762118225 天前
windows10 升级cuda 版本
cuda
yx868xy7 天前
Cuda加速直线拟合
c++·cuda
lizz318 天前
使用 nsys + gdb 寻找阻塞 API (cuKernelSetAttribute) 并解决
linux·cuda·sglang
ouliten10 天前
cuda编程笔记(41)--异步数据拷贝
笔记·cuda
ouliten11 天前
cuda编程笔记(40)--Pipelines(流水线)
笔记·cuda
liuyunshengsir11 天前
掌握CUDA 编程中四个核心的内建变量threadIdx、blockIdx、blockDim 和 gridDim
cuda
liuyunshengsir11 天前
3 个由浅到深的 CUDA 编程完整示例
cuda
ouliten11 天前
cuda编程笔记(39)--Asynchronous Barriers(异步屏障)
笔记·cuda