First-chance exception at 0x7c812afb in *.exe

snipekevin 2012-03-27 11:45:17
不知道各位高手是否遇到以下情况?
环境:windows XP professional 32 位系统,cuda 4.1, VC 2008 MFC工程
执行如下代码,情况如见注释:

// 分配内存空间
int nMemorySize = sizeof(Complex) * nSizeX * nSizeY; // 传入的参数是512*512,但是跟踪发现是很大的数字或者0
Complex* pDeviceData;
Complex* pDeviceDataCopy;
cutilSafeCall(cudaMalloc((void**)&pDeviceData, nMemorySize)); // 该行被跳过执行
cutilSafeCall(cudaMalloc((void**)&pDeviceDataCopy, nMemorySize)); // ##
cutilSafeCall(cudaMemcpy(pDeviceData, pData, nMemorySize, cudaMemcpyHostToDevice));
cutilSafeCall(cudaMemcpy(pDeviceDataCopy, pDeviceData, nMemorySize, cudaMemcpyDeviceToDevice));

/* 对原始数据执行 FFT 变换 */
cufftHandle plan;
cufftSafeCall(cufftPlan2d(&plan, nSizeX, nSizeY, CUFFT_C2C));
cufftSafeCall(cufftSetCompatibilityMode(plan, CUFFT_COMPATIBILITY_NATIVE));
cufftSafeCall(cufftExecC2C(plan, (cufftComplex*)pDeviceData, (cufftComplex*)pDeviceData, CUFFT_FORWARD));

/* 滤波 */
float* pDeviceHanning;
cutilSafeCall(cudaMalloc((void**)&pDeviceHanning, sizeof(float)*nSizeX*nSizeY));
cutilSafeCall(cudaMemcpy(pDeviceHanning, pHanning, nMemorySize, cudaMemcpyHostToDevice)); // 执行该行后又回到 ## 处,此前 Output 一切正常,回到 ## 处后输出异常。
LPFilter<<<nSizeX, nSizeY>>>(pDeviceData, pDeviceHanning, nSizeX, nSizeY);


输出的异常为:First-chance exception at 0x7c812afb in CerebralVeinExtract.exe: Microsoft C++ exception: cudaError_enum at memory location 0x0013ed0c..
之后程序就进入 Exit 之类的函数,退出了,退出代码为-1。
...全文
1632 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cesar-Wu 2014-01-02
  • 打赏
  • 举报
回复
楼主解决了么?
s495973831x 2013-04-28
  • 打赏
  • 举报
回复
遇到类似问题,暂未解决,求解!

231

社区成员

发帖
与我相关
我的任务
社区描述
CUDA on Windows XP
社区管理员
  • CUDA on Windows XP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧