C++ 简单的CUDA应用程序,cudaMalloc以错误结束:未指定的驱动程序错误
我是CUDA的新手,所以请对我耐心点。我有一个简单的VS2012项目,其中有一个main.cpp文件,源代码如下:C++ 简单的CUDA应用程序,cudaMalloc以错误结束:未指定的驱动程序错误,c++,cuda,C++,Cuda,我是CUDA的新手,所以请对我耐心点。我有一个简单的VS2012项目,其中有一个main.cpp文件,源代码如下: #include <stdio.h> /*CUDA*/ #include <cuda_runtime.h> #include <cuda_runtime_api.h> #include <cuda.h> int main(int argc, char **argv){ /*Device Variables*/ u
#include <stdio.h>
/*CUDA*/
#include <cuda_runtime.h>
#include <cuda_runtime_api.h>
#include <cuda.h>
int main(int argc, char **argv){
/*Device Variables*/
uchar3 *Image_dev;
cudaMalloc((void**)&Image_dev,64*48*sizeof(uchar3));
printf("Error:\t%s\n", cudaGetErrorString(cudaGetLastError()));
return(0);
}
#包括
/*库达*/
#包括
#包括
#包括
int main(int argc,字符**argv){
/*设备变量*/
uchar3*图像开发;
Cudamaloc((void**)和Image_dev,64*48*sizeof(uchar3));
printf(“错误:\t%s\n”,cudaGetErrorString(cudaGetLastError());
返回(0);
}
它运行时没有任何致命错误,但是cudaGetLastError()写出了一个错误“未指定的驱动程序错误”,我不知道为什么。我做错了什么
我已经安装了GeForce GT 740m和最新的驱动程序。我已经安装了CUDA 6.0。
我配置了所有的包含和链接。我将cudart.lib添加到链接器->输入->其他依赖项
我还设置了以下内容:
项目配置->VC++目录->可执行目录$(CUDA\u BIN\u路径)
项目配置->VC++目录->包含$(CUDA_INC_路径)目录
项目配置->VC++目录->库目录$(CUDA_LIB_路径)
项目配置->链接器->常规->附加库目录->$(CUDA\u LIB\u路径)
我还设置了compute_30和sm_30
我做错了什么
问候,
罗伯特我已经解决了我的问题,但我并不真正理解解决方案,这可能是因为罗伯特·克罗维拉所说的一些配置不匹配。我也安装了CUDA 5.5和CUDA 6.0,但我已经设置了6.0工具包。所以我不知道到底是什么问题 但我的解决办法是: 我刚刚创建了一个全新的CUDA项目,一切正常,所以我进行了配置,并像CUDA项目那样设置了我的项目,当我添加到Linker->Input->Additional Dependencies这些库时,它开始工作 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 我不明白的是,所有这些库都已经在继承的值中了。
但它开始起作用了。如果有人知道,为什么需要手动添加这些库,请发布。您是否尝试运行cuda memcheck以查看是否存在错误的指针问题?不,我没有。但我不知道如何运行它?请提供任何提示或链接。我尝试使用memcheck运行Cuda调试,但失败,并显示以下消息:Cuda上下文是使用API版本3010创建的。调试需要API版本3020。更新附加的进程以使用更新版本的CUDA API。您的计算机配置或项目配置可能不匹配。您是否安装了CUDA 6.0之前的CUDA工具包?您是否能够运行
deviceQuery
CUDA示例代码?