cuda内存拷贝失败

qingbeiwang qingbeiwang 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

前段时间因为工作需要写了一个png图片处理的功能,由于需要逐像素的处理,所有上了cuda。之前运行一直都是正常的,处理过的最大图像最大差不多是8k。今天突然接到反馈说图像处理失败了,排查了一下午,结果发现问题本身非常奇怪。
总体而言就是只对特定数据量的图片有问题,目前出问题的图片像素大小都是1536*2048的整数倍,除了原始的这个尺寸外,3072*1024,3072*4096都会出问题,而其他的比如1500*2000,1535*2048,1536*2000等尺寸都不会有问题。

 

这里是写的测试函数,21.png是一张3072*1024的图片 

 

这个是调用的核函数
检查发现出错的地方是result2那里,cudaMemcpy拷贝失败,这里返回错误码是700,对应的错误是
/**
* The device encountered a load or store instruction on an invalid memory address.
* This leaves the process in an inconsistent state and any further CUDA work
* will return the same error. To continue using CUDA, the process must be terminated
* and relaunched.
*/
cudaErrorIllegalAddress = 700。
检查核函数,只要访问dataIn里的内容,就会出现上述错误,即使不对内容做任何操作(比如给t1赋值就无法正常拷贝,去掉这句就正常)。而且这个错误只发生在上述所说的对应尺寸图片上。
另外还有个诡异的地方在于,当我想用Nsight调试时,启动next-gen调试模式吧,这个问题就不会出现,图片就能正常被处理。
哪位大佬能给出个解释,这情况实在有点摸不着头脑。

...全文

相关推荐

Qt+cuda9.2

一个将CUDA代码放到QT平台的简单案例,CUDA为9.2版本,Qt的配置文件中CUDA的信息可以根据自己的系统信息调整。演示了两个大向量相加,可以正常输出。

你用心听

CUDA-By-Example里的Julia修复包(patched)

CUDA-By-Example

weixin_42426198

NVIDIA安装失败解决[项目源码]

本文详细介绍了NVIDIA CUDA安装失败的原因及解决方法。主要问题通常出在Visual Studio Integration组件无法安装上。文章提供了基础篇和进阶篇两种解决方案:基础篇通过手动拷贝CUDAVisualStudioIntegration文件夹中的文件到指定路径,解决VS编译时的报错问题;进阶篇则进一步实现VS中直接新建CUDA解决方案的功能。此外,还建议安装NVIDIA Nsight Visual Studio Edition调试插件。文中强调路径需根据实际情况调整,并提醒用户注意文件夹中其他未明确用途的文件。

pp12345

tersonflow必要dll文件.rar

tensorflow运行提示 Could not load dynamic library cudnn64_7.dll等保缺失

kola_zou

llama.cpp本地大模型推理[项目源码]

llama.cpp最新版已成为一个强大的跨平台本地大模型推理引擎,支持多种硬件平台(NVIDIA、AMD、Intel)和多种量化格式(如Q4_K_M、Q5_K_M等),显著提升了本地推理速度。其核心优势包括GPU卸载、GGUF量化、Flash Attention加速、批处理优化等。此外,llama-server提供了OpenAI兼容接口,支持多用户并发和连续批处理,适用于个人开发者和企业团队。文章详细介绍了硬件后端选择、量化格式推荐、性能调优参数以及常见问题排查方法,展示了llama.cpp作为轻量级本地LLM Serving框架的潜力。

奶包子
评论
收藏 已收藏
分享
返回顶部
qingbeiwang
CUDA 591 成员 2,925 内容