ICPCUDA
ICPCUDA copied to clipboard
Complie ERROR
when compiling project with Ubuntu 16.04, CUDA 9.0 and NVIDIA drivers 396.54, I encounter problems:
/home/SENSETIME/duanyongli/Software/ICPCUDA/third-party/Eigen/Eigen/src/Core/MathFunctions.h(1328): warning: calling a host function from a host device function is not allowed
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(75): error: identifier "sum" is undefined
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(76): error: identifier "out" is undefined
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(77): error: type name is not allowed
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(77): error: identifier "matrixA_host" is undefined
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(77): error: type name is not allowed
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(77): error: identifier "vectorB_host" is undefined
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(77): error: too many arguments for class template "Eigen::Matrix"
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(78): error: expected a ">"
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(78): error: expected a ">"
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(78): error: expected a ">"
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(75): error: identifier "sum" is undefined
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(76): error: identifier "out" is undefined
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(77): error: type name is not allowed
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(77): error: identifier "matrixA_host" is undefined
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(77): error: type name is not allowed
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(77): error: identifier "vectorB_host" is undefined
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(77): error: too many arguments for class template "Eigen::Matrix"
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(78): error: expected a ">"
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(78): error: expected a ">"
/home/SENSETIME/duanyongli/Software/ICPCUDA/Cuda/internal.h(78): error: expected a ">"
thanks a lot.
having the same issue. Initially thought it was a conflict between Eigen and cuda version. Tried with Eigen 3.2 and 3.3 with Cuda8, still did not work.
Any idea?
Use the version of Eigen included in the third-party folder.
thanks mate @mp3guy. I actually did tried with the Eigen included in the third party folder (seems to be v3.3.90) checked out by git submodule update --init But it reported same errors.
I am using ubuntu 16.04, CUDA 8.0, btw. Any further thoughts?
Only Ubuntu 18.04 with CUDA 10 is supported since ac9220f.
@threedlife Were you able to get it running with Cuda 8 and 16.04?
I also met this before, so I tried to reimplement to make it easy to compile and use.
Here is the codes. Hope it helps.
@duanyongli @threedlife @aditya2592 It is a simple error caused by the low version of c++ during compiling. Please add -std=c++11 at CmakeList.txt. Change set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-Xcompiler;-fPIC;--expt-relaxed-constexpr") to set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-Xcompiler;-fPIC;--expt-relaxed-constexpr;-std=c++11")
Hope it helps.