使用GPU编码器,但得到错误:当运行cuda启用程序时产生错误:[700,cudaErrorIllegalAddress]

19次意见(过去30天)
我使用GPU编码器加速N-D插值函数interpn()。
当我的问题规模很小时,即在1-D或2-D维度上进行插值时,一切都很好。但是当我抛出一个更大的5-D插值问题时,MATLAB抛出了以下错误消息:
错误[700,cudaErrorIllegalAddress] an
非法内存访问。生成额外的调试信息
启用“SafeBuild”GPU代码生成选项。
我遵循了上面的错误信息建议,并添加了“SafeBuild”GPU代码生成选项,但却得到了以下错误:
错误在运行cuda时生成
program: [46,cudaErrorDevicesUnavailable] all
CUDA-capable设备忙或者没空
我知道,当我不使用GPU编码器,代码仍然工作,但有点慢。但是现在当GPU编码器被启用时,它不能工作。我有NVIDIA RTX 2080ti, 11G内存。当我使用CPU进行计算时,这个问题花了1个小时,RAM的峰值使用大约是64GB RAM中的40GB。这个错误是因为我把问题设置得太大而耗尽了GPU内存吗?我怎么才能知道是不是这样呢?
OK更新:我重启了我的Windows电脑,再次运行相同的程序,却显示了以下错误:
错误在运行cuda时生成
program: [2,cudaErrorMemoryAllocation] out
内存
我认为这证实了我的问题确实是导致GPU内存不足才开始的问题。现在我知道这个问题了,有什么建议如何拆分这个问题给interpn吗?谢谢!
3评论
第一个
第一个 2021年12月7日
你好,我可以知道解决方案吗?我遇到了cuda内存不足的错误,但这很奇怪。相同的代码可以运行cpu1+gtx980,但当我在cpu2+gtx980上运行时,会出现以上错误,cpu2比cpu1拥有更多的内核和内存。

登录评论。

答案(0)

s manbetx 845


释放

R2021a

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!