CUDA vs2010配置


周末早上一大早來實驗室本來說准備看論文的,結果似乎是感冒了,完全沒精神看。

=================分割線1===========================

CUDA之前不知在哪兒看了什么(已經不記得了),一直想搞搞,只是自己電腦一直木有Nvidia的顯卡。

實驗室來用的電腦室HP的workstation正好有個gtx 285,所以就試試啦。

=================分割線2===========================

吐槽下,昨天用vs2010編譯opencv with cuda用了3個小時。

 

===================正文===========================

先裝好一切要裝的!

 

1、把各種path加到路徑里面

2、在項目上面點右鍵 選擇 “生成自定義” ,然后就看到有CUDAxxxx的,選上就是了。

3、建立一個.cu文件,然后在上面右鍵,屬性。項類型選擇 CUDA C/C++

4、連接庫里面加上cudart.lib

5、連接器|常規|附加庫目錄   加上 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\lib\Win32 (根據自己的安裝位置來)

6、設置文本編輯器.cu的高亮方案用c++的

 

一切ok,還不會cuda,網上找了個代碼來編譯一下

#include <stdio.h>
#include <cuda_runtime.h>

bool initCUDA()
{
    int count;

    cudaGetDeviceCount(&count);

    if (count == 0){
        fprintf(stderr,"There is no device.\n");
        return false;
    }

    int i;
    for(i = 0 ; i < count ; i++){
        cudaDeviceProp prop;
        if (cudaGetDeviceProperties(&prop , i) == cudaSuccess){
            if(prop.major >= 1) break;
        }
    }

    if(count == i){
        fprintf(stderr ,"There is no device supporting CUDA 1.x\n");
        return false;
    }

    cudaSetDevice(i);

    return  true;
}

int main()
{
    if(!initCUDA()){
        printf("T_T");
        return 0;
    }

    printf("CUDA initalized.\n");

    getchar();
    return 0;
}

然后編譯成功!

1>------ 已啟動全部重新生成: 項目: cuda_test, 配置: Debug Win32 ------
1>生成啟動時間為 2012/9/15 11:15:481>_PrepareForClean:
1>  正在刪除文件“Debug\cuda_test.lastbuildstate”。
1>CudaClean:
1>  
1>  d:\1957\workspace\cuda_test\cuda_test>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe" -ccbin "d:\1957\Microsoft Visual Studio 10.0\VC\bin"  -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\include"  -G  --keep-dir "Debug" -maxrregcount=0  --machine 32 --compile  -g    -Xcompiler "/EHsc /nologo /Od /Zi  /MDd  " -o "Debug\cuda.cu.obj" "d:\1957\workspace\cuda_test\cuda_test\cuda.cu" -clean 
1>  正在刪除文件“Debug\cuda.cu.deps”。
1>InitializeBuildStatus:
1>  正在創建“Debug\cuda_test.unsuccessfulbuild”,因為已指定“AlwaysCreate”。
1>AddCudaCompilePropsDeps:
1>  已找到“CudaToolkitCustomDir”。
1>  已找到“AdditionalDeps”。
1>  已找到“CompileOut”。
1>  已找到“Include”。
1>  已找到“Keep”。
1>  已找到“KeepDir”。
1>  已找到“NvccCompilation”。
1>  已找到“NvccPath”。
1>  已找到“RequiredIncludes”。
1>  已找到“TargetMachinePlatform”。
1>  已找到“CInterleavedPTX”。
1>  已找到“CodeGeneration”。
1>  已找到“GPUDebugInfo”。
1>  已找到“MaxRegCount”。
1>  已找到“PtxAsOptionV”。
1>  已找到“AdditionalCompilerOptions”。
1>  已找到“Defines”。
1>  已找到“Emulation”。
1>  已找到“HostDebugInfo”。
1>  已找到“FastMath”。
1>  已找到“Optimization”。
1>  已找到“Runtime”。
1>  已找到“RuntimeChecks”。
1>  已找到“TypeInfo”。
1>  已找到“Warning”。
1>  已找到“AdditionalOptions”。
1>  已找到“CommandLineTemplate”。
1>CudaBuild:
1>  Compiling CUDA source file cuda.cu...
1>  
1>  d:\1957\workspace\cuda_test\cuda_test>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env --cl-version 2010 -ccbin "d:\1957\Microsoft Visual Studio 10.0\VC\bin"  -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\include"  -G  --keep-dir "Debug" -maxrregcount=0  --machine 32 --compile  -g    -Xcompiler "/EHsc /nologo /Od /Zi  /MDd  " -o "Debug\cuda.cu.obj" "d:\1957\workspace\cuda_test\cuda_test\cuda.cu" 
1>  cuda.cu
1>  tmpxft_00000ab0_00000000-0_cuda.cudafe1.gpu
1>  tmpxft_00000ab0_00000000-5_cuda.cudafe2.gpu
1>  cuda.cu
1>  tmpxft_00000ab0_00000000-0_cuda.cudafe1.cpp
1>  tmpxft_00000ab0_00000000-11_cuda.ii
1>  正在刪除文件“tmpxft_00000ab0_00000000-6_cuda.cpp3.o”。
1>ClCompile:
1>  stdafx.cpp
1>Manifest:
1>  正在刪除文件“Debug\cuda_test.exe.embed.manifest”。
1>LinkEmbedManifest:
1>  cuda_test.vcxproj -> d:\1957\workspace\cuda_test\Debug\cuda_test.exe
1>FinalizeBuildStatus:
1>  正在刪除文件“Debug\cuda_test.unsuccessfulbuild”。
1>  正在對“Debug\cuda_test.lastbuildstate”執行 Touch 任務。
1>
1>生成成功。
1>
1>已用時間 00:00:05.70
========== 全部重新生成: 成功 1 個,失敗 0 個,跳過 0 個 ==========

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM