src-d / kmcuda

Large scale K-means and K-nn implementation on NVIDIA GPU / CUDA
Other
807 stars 146 forks source link

Building from source with CUDA 9.1 #76

Closed sashakorekov closed 5 years ago

sashakorekov commented 5 years ago

I tried to build kmcuda from source with: cmake -DCMAKE_BUILD_TYPE=Release -D CUDA_ARCH=91 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-9.1 . && make

but I am constantly getting an error:

-- Configuring done
-- Generating done
-- Build files have been written to: /home/nosok/kmeans/kmcuda/src
[ 16%] Building NVCC (Device) object CMakeFiles/KMCUDA.dir/KMCUDA_generated_transpose.cu.o
nvcc fatal   : Value 'sm_91' is not defined for option 'gpu-architecture'
CMake Error at KMCUDA_generated_transpose.cu.o.Release.cmake:219 (message):
  Error generating
  /home/nosok/kmeans/kmcuda/src/CMakeFiles/KMCUDA.dir//./KMCUDA_generated_transpose.cu.o

CMakeFiles/KMCUDA.dir/build.make:857: recipe for target 'CMakeFiles/KMCUDA.dir/KMCUDA_generated_transpose.cu.o' failed
make[2]: *** [CMakeFiles/KMCUDA.dir/KMCUDA_generated_transpose.cu.o] Error 1
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/KMCUDA.dir/all' failed
make[1]: *** [CMakeFiles/KMCUDA.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

nvcc --version output:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

How can I fix it?

vmarkovtsev commented 5 years ago

No-no, CUDA_ARCH is the compute capability of your device. https://en.wikipedia.org/wiki/CUDA#GPUs_supported