[每日一氵] CUDA C编程 :an illegal memory access was encountered

在CUDA编程中,尽管我们知道有统一内存管理:

分配 UM 时,它最初可能并未驻留在 CPU 或 GPU 上
当某些工作首次请求内存时,将会发生分页错误
分页错误将触发所请求的内存发生迁移
只要在系统中并未驻留内存的位置请求内存,此过程便会重复

但是依旧遇到了这个问题,大前提是,你得用这个 cudaMalloc 去申请内存/显存,然后用cudaFree去释放内存/显存,如果你用了malloc/calloc操作申请的内存,然后丢到kernel函数里跑,大概率会报这个错,同样,cudaMalloc申请的内存/显存,用free释放,应该会报段错误的错(具体老铁们可以试试)

另外,顺便看看kernel函数里边有没有数组越界的问题? 不过大概率不是,因为CUDA的编程范式,基本是固定的:
在这里插入图片描述
记住那个大红框,改一下4个小红框,就OK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值