With simple stand alone cmake 3.9 project using
cmake_minimum_required(VERSION 3.9)
project(cmake_testing CXX CUDA)
I can get a simple app to compile. It however fails to run with:
GPU Device 0: "GeForce GTX 960M" with compute capability 5.0
Current device is [0]
Current device is [0]
CUDA error at
C:\projects\cmake\cmaketesting\v3.9\cuda_basic\src\cuda_basic_test.cpp:67
code=46(cudaErrorDevicesUnavailable) "cudaMalloc((void **)&d_volume, size)"
When trying to call cudaMalloc. When trying to actually use the device.
checkCudaErrors(cudaMalloc((void **)&d_volume, size));
So I am right back I started in the new simple project.
I am able to complle and run SDK examples say nbody.
it can only be two things right??? compile args and runtime environment
(dll paths). right? err well or gremlins.
NBody compile important bits:
1> C:\ProgramData\NVIDIA Corporation\CUDA
Samples\v8.0\5_Simulations\nbody>"C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v8.0\bin\nvcc.exe"
-gencode=arch=compute_20,code=\"sm_20,compute_20\"
-gencode=arch=compute_30,code=\"sm_30,compute_30\"
-gencode=arch=compute_35,code=\"sm_35,compute_35\"
-gencode=arch=compute_37,code=\"sm_37,compute_37\"
-gencode=arch=compute_50,code=\"sm_50,compute_50\"
-gencode=arch=compute_52,code=\"sm_52,compute_52\"
-gencode=arch=compute_60,code=\"sm_60,compute_60\" --use-local-env
--cl-version 2013 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio
12.0\VC\bin\x86_amd64" -I./ -I../../common/inc -I./ -I"C:\Program
Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\/include"
-I../../common/inc -I"C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v8.0\include" -G --keep-dir x64\Debug -maxrregcount=0
--machine 64 --compile -cudart static -Xcompiler "/wd 4819" -g -DWIN32
-DWIN32 -D_MBCS -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /FS /Zi /RTC1
/MTd " -o x64/Debug/bodysystemcuda.cu.obj "C:\ProgramData\NVIDIA
Corporation\CUDA Samples\v8.0\5_Simulations\nbody\bodysystemcuda.cu"
My simple test app compile bits:
2> C:\projects\cmake\cmaketesting\v3.9\build\cuda_basic\src>"C:\Program
Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe" -ccbin
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64"
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"
-I"C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\common\inc"
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"
-I"C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\common\inc"
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include"
-G --keep-dir x64\Debug -maxrregcount=0 --machine 64 --compile
-Xcompiler="/EHsc -Zi -Ob0" -g -D_WINDOWS -D"CMAKE_INTDIR=\"Debug\""
-DWIN32 -D_WINDOWS -D"CMAKE_INTDIR=\"Debug\"" -D_MBCS -Xcompiler "/EHsc
/W3 /nologo /Od /FS /Zi /RTC1 /MDd /GR" -o
cuda_basic_test.dir\Debug\cuda_basic_test.cu.obj
"C:\projects\cmake\cmaketesting\v3.9\cuda_basic\src\cuda_basic_test.cu"
-clean
2>CUDACOMPILE : nvcc warning : The 'compute_20', 'sm_20', and 'sm_21'
architectures are deprecated, and may be removed in a future release
(Use -Wno-deprecated-gpu-targets to suppress warning).
2> cuda_basic_test.cu
2> Building Custom Rule
C:/projects/cmake/cmaketesting/v3.9/cuda_basic/src/CMakeLists.txt
2> CMake does not need to re-run because
C:/projects/cmake/cmaketesting/v3.9/build/cuda_basic/src/CMakeFiles/generate.stamp
is up-to-date.
2> Compiling CUDA source file ..\..\..\cuda_basic\src\cuda_basic_test.cu...
2>
2> C:\projects\cmake\cmaketesting\v3.9\build\cuda_basic\src>"C:\Program
Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe"
-gencode=arch=compute_20,code=\"sm_20,compute_20\" --use-local-env
--cl-version 2013 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio
12.0\VC\bin\x86_amd64" -I"C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v8.0\include" -I"C:\ProgramData\NVIDIA Corporation\CUDA
Samples\v8.0\common\inc" -I"C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v8.0\include" -I"C:\ProgramData\NVIDIA Corporation\CUDA
Samples\v8.0\common\inc" -I"C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v8.0\include" -I"C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v8.0\include" -G --keep-dir x64\Debug -maxrregcount=0
--machine 64 --compile -cudart static -Xcompiler="/EHsc -Zi -Ob0" -g
-D_WINDOWS -D"CMAKE_INTDIR=\"Debug\"" -DWIN32 -D_WINDOWS
-D"CMAKE_INTDIR=\"Debug\"" -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /FS
/Zi /RTC1 /MDd /GR" -o cuda_basic_test.dir\Debug\cuda_basic_test.cu.obj
"C:\projects\cmake\cmaketesting\v3.9\cuda_basic\src\cuda_basic_test.cu"
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake