Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 简单的CUDA应用程序,cudaMalloc以错误结束:未指定的驱动程序错误_C++_Cuda - Fatal编程技术网

C++ 简单的CUDA应用程序,cudaMalloc以错误结束:未指定的驱动程序错误

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

我是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*/
    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示例代码?