src-d / kmcuda

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

Make error on Anaconda #20

Closed davidz-zzz closed 7 years ago

davidz-zzz commented 7 years ago

Hi awesome work! Got make error as follows. My environment is Anaconda 4.4.0, python 3.6, cuda 8.0. Any idea?

[ 33%] Building CXX object CMakeFiles/KMCUDA.dir/python.cc.o
/home/westwell/repo/kmcuda/src/kmcuda.cc:206:0: error: ignoring #pragma omp simd [-Werror=unknown-pragmas]
       #pragma omp simd
 ^
/home/westwell/repo/kmcuda/src/kmcuda.cc:310:0: error: ignoring #pragma omp simd [-Werror=unknown-pragmas]
           #pragma omp simd reduction(+:dist_sum2)
 ^
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/KMCUDA.dir/kmcuda.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/westwell/repo/kmcuda/src/python.cc: In function ‘PyObject* py_kmeans_cuda(PyObject*, PyObject*, PyObject*)’:
/home/westwell/repo/kmcuda/src/python.cc:358:42: error: ‘init’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
       adflag? &average_distance : nullptr);
                                          ^
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/KMCUDA.dir/python.cc.o] Error 1
make[1]: *** [CMakeFiles/KMCUDA.dir/all] Error 2
make: *** [all] Error 2
(python3) westwell@szhou-westwell:~/repo/kmcuda/src$ make -j20
[ 16%] Building CXX object CMakeFiles/KMCUDA.dir/kmcuda.cc.o
[ 33%] Building CXX object CMakeFiles/KMCUDA.dir/python.cc.o
/home/westwell/repo/kmcuda/src/kmcuda.cc:206:0: error: ignoring #pragma omp simd [-Werror=unknown-pragmas]
       #pragma omp simd
 ^
/home/westwell/repo/kmcuda/src/kmcuda.cc:310:0: error: ignoring #pragma omp simd [-Werror=unknown-pragmas]
           #pragma omp simd reduction(+:dist_sum2)
 ^
/home/westwell/repo/kmcuda/src/python.cc: In function ‘PyObject* py_kmeans_cuda(PyObject*, PyObject*, PyObject*)’:
/home/westwell/repo/kmcuda/src/python.cc:358:42: error: ‘init’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
       adflag? &average_distance : nullptr);
                                          ^
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/KMCUDA.dir/kmcuda.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/KMCUDA.dir/python.cc.o] Error 1
make[1]: *** [CMakeFiles/KMCUDA.dir/all] Error 2
make: *** [all] Error 2
vmarkovtsev commented 7 years ago

Hi! What's your C++ compiler's (I guess GCC) version?

davidz-zzz commented 7 years ago

Hi, my GCC version is 4.8.4. My cmake version is 3.8.2

vmarkovtsev commented 7 years ago

All right. 4.8 does not support OpenMP4 which is a hard requirement. It was released more than 4 years ago and unmaintained for 2 years. The current version is 7.1 and I recommend to update. Closing this as wontfix, sorry.

davidz-zzz commented 7 years ago

I upgraded my GCC to 5.4 and the build has passed. Thanks mate!

yxchng commented 7 years ago

@zlslhp Are you using Python 3.6.1? I can't compile with Anaconda's Python 3.6.1.