记录一次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空间申请内存,然后重新编译运行:

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

相关推荐
攻城狮Soar1 天前
CUDA编程之Kernal
cuda
xin_yao_xin2 天前
Conda 环境的 CUDA PATH 配置指南
开发语言·python·conda·cuda
basketball61623 天前
AI Infra 硬件体系与编程模型:17. CUDA编程基础:底层驱动 API 调用
人工智能·microsoft·nvidia·cuda
fpcc24 天前
并行编程实战——CUDA编程的pipelines
c++·cuda
basketball6161 个月前
AI Infra 硬件体系与编程模型:14. CUDA编程基础:事件与精确性能测量
人工智能·nvidia·cuda
kyle~1 个月前
推理部署---CUDA 执行模型(SM、Block、Warp 与 SIMT)
人工智能·nvidia·cuda
June`1 个月前
如何组织一个并行程序
开发语言·cuda
basketball6161 个月前
AI Infra 硬件体系与编程模型:15. CUDA编程基础:混合精度计算
人工智能·nvidia·cuda
June`1 个月前
CUDA执行模型深入刨析
c++·人工智能·cuda
June`1 个月前
CUDA程序效率如何计算以及工具如何使用
算法·cuda