2024/04/11 使用CUDA过程中的一些心得

在上周的工程试验过程中,由于工程项目环境发生变化,在笔记本上所使用的CUDA和实际使用生产的CUDA环境发生了变化,导致工程跑到一半就会卡死,遂记录排查过程。

1.通过cudaerror_t获取cuda报错原因,在使用cudamemcpy过程中返回700报错,遂排查是否是显存空间在分配或是使用时,索引到了未知的内存空间。

结果:排查结果未发现是上述原因导致的错误。

2.通过对内存泄露故障排查,由于我在之前的工程已经做过内存泄露的修正,所以在这方面上并未过多操心,从而导致浪费了很多时间(打脸...)。

结果:在主机内存上并未发现内存泄漏,在显存空间上发现了未知的泄露,定位到泄露位置,发现只是一个cufftplan的定义,由于在笔记本使用过程中该地方并未出现错误,所以我暂时忽略。后经过一步步排查发现cufftplan并未被destroy,导致每次泄露都是32764字节。

3. 在对显存空间泄露的过程中,发现compute-sanitizer的使用,通过对cmd命令行的使用,在编译好的exe目录下使用compute-sanitizer --tool memcheck 名称.exe 可以发现空间字节泄露。通过定位,发现在核函数内部index位置偏移过多导致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值