摘要:
本文主要介绍笔者在参加CUDA ON ARM Platform夏令营第二天课程中遇到问题以及其解决方法,本文同时还会以图文的方式介绍一点linux平台下CUDA编程时的错误调试方法。
遇到的问题:Segmenation fault (core dumped)
图1 报错内容
错误原因:使用“cudaMalloc”函数申请的数组访问越界
调试主要过程:
nvcc -g -G -o mul XXX.cu
cuda-gdb ./mul
run
接下来我会以图文的形式分享我调试的具体过程,遇到的问题以及解决办法。
遇到的问题及调试过程
我们今天的任务是使用gpu计算矩阵乘法,同时把gpu计算得到的矩阵结果与cpu计算的到的矩阵结果进行对比,如果gpu和cpu的运算结果相同,则输出“pass!!!”以证明我们的程序没有问题。
我写完程序,编译之后就遇到 图1 所示的问题:Segmenation fault (core dumped)
百度这个错误之后有人说是除零的问题,但是我这是乘法,显然不存在这个问题。
由于程序量相对多,并且我在linux的命令行