src-d / kmcuda

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

[SOLVED] Build from source on RHEL 7.5 (GCC 4.8.5) and CUDA 9.0 #55

Open Paperone80 opened 5 years ago

Paperone80 commented 5 years ago

Hi,

in case somebody is in a similar situation. Compiling from source I got the error:

Scanning dependencies of target KMCUDA
[ 66%] Building CXX object CMakeFiles/KMCUDA.dir/kmcuda.cc.o
/opt/kmcuda/kmcuda_2018-09-17/src/kmcuda.cc:206:0: error: ignoring #pragma omp simd [-Werror=unknown-pragmas]
       #pragma omp simd
 ^
/opt/kmcuda/kmcuda_2018-09-17/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[1]: *** [CMakeFiles/KMCUDA.dir/all] Error 2
make: *** [all] Error 2

Changing to my manual compiled GCC 5.5.0 it finishes 100%. Here is the cmake3 statement. Adapt your paths to python and GCC.

$ sudo git clone https://github.com/src-d/kmcuda
$ cd kmcuda; sudo mkdir build; cd build
$ sudo cmake3 -DCMAKE_BUILD_TYPE=Release \
-DPYTHON_EXECUTABLE:FILEPATH=/opt/intel/intelpython35/bin/python3.5 \
-DPYTHON_INCLUDE_DIR:PATH=/opt/intel/intelpython35/include/python3.5m \
-DCUDA_NVCC_FLAGS="-ccbin /opt/gcc/GCC-5.5.0/bin/gcc" \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-9.0 \
-DCMAKE_CXX_COMPILER:FILEPATH=/opt/gcc/GCC-5.5.0/bin/c++ \
-DCMAKE_CXX_COMPILER_AR:FILEPATH=/opt/gcc/GCC-5.5.0/bin/gcc-ar \
-DCMAKE_CXX_COMPILER_RANLIB:FILEPATH=/opt/gcc/GCC-5.5.0/bin/gcc-ranlib \
-DCMAKE_C_COMPILER:FILEPATH=/opt/gcc/GCC-5.5.0/bin/gcc \
-DCMAKE_C_COMPILER_AR:FILEPATH=/opt/gcc/GCC-5.5.0/bin/gcc-ar \
-DCMAKE_C_COMPILER_RANLIB:FILEPATH=/opt/gcc/GCC-5.5.0/bin/gcc-ranlib \
-DDISABLE_R=y \
../src/

Import in python worked. 3 examples from the main page worked as well. Haven't run unittests or other examples yet.