Я пытаюсь скомпилировать библиотеку, которая использует CUDA, в системе Ubuntu, используя CUDA 8.0 и clang 3.8.Библиотека включает в себя Eigen
заголовки в нескольких *.cu
файлах, которые, по-видимому, включают заголовок cmath
, что вызывает неоднозначность в заголовках CUDA.
/usr/local/cuda-8.0/include/cuda_fp16.h(3068): error: more than one instance of overloaded function "isinf" matches the argument list:
function "std::isinf(float)"
function "isinf(float)"
argument types are: (float)
CUDA определяет свои собственные __device__ __RETURN_TYPE isinf ( float a )
, и яожидал бы, что std::isinf
придется вызывать явно, а не создавать конфликт.
Любые выводы по этому вопросу будут высоко оценены.