@stijnh , I complied your code on ubuntu 16.04 with CUDA 8.0 and GCC 5.4. There is no problem when I make main and convert. But it shows many ambiguous parameters when I compile the GPU version by using the commend ‘make main-cuda’.
The detailed errors are shown as follows, would you please let me know how did you make it successful?
'nvcc -c -o framework-cuda.o framework-cuda.cu -Xcompiler "-Wall -Wextra -Werror-implicit-function-declaration -Wno-unused-parameter -Wno-unused-local-typedefs -ffast-math -Winline -fopenmp -lm -O3 -ffast-math -fomit-frame-pointer -march=native -UDEBUG -DNDEBUG" -lcurand -I/vpublic01/community/moderngpu-1.1/include -I/vpublic01/community/cub -O3 -std=c++11 -Xcompiler "-ffast-math -fomit-frame-pointer -march=native" -UDEBUG -DNDEBUG -gencode arch=compute_35,code=sm_35 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50
/vpublic01/community/moderngpu-1.1/include/kernels/../device/../device/../device/devicetypes.cuh(204): error: more than one operator "+" matches these operands:
function "operator+(int2, int2)"
function "mgpu::operator+(int2, int2)"
operand types are: int2 + int2
framework-cuda.cu(338): error: "tuple" is ambiguous
framework-cuda.cu(339): error: "tuple" is ambiguous
framework-cuda.cu(409): error: "tuple" is ambiguous
framework-cuda.cu(410): error: "tuple" is ambiguous
framework-cuda.cu(434): error: more than one instance of overloaded function "isnan" matches the argument list:
function "isnan(float)"
function "std::isnan(float)"
argument types are: (float)
framework-cuda.cu(456): error: more than one instance of overloaded function "isnan" matches the argument list:
function "isnan(float)"
function "std::isnan(float)"
argument types are: (float)
framework-cuda.cu(685): error: "tuple" is ambiguous
framework-cuda.cu(686): error: "tuple" is ambiguous
9 errors detected in the compilation of "/tmp/tmpxft_00006c1c_00000000-9_framework-cuda.compute_50.cpp1.ii".
Makefile:44: recipe for target 'framework-cuda.o' failed
make: *** [framework-cuda.o] Error 2'
@stijnh , I complied your code on ubuntu 16.04 with CUDA 8.0 and GCC 5.4. There is no problem when I make main and convert. But it shows many ambiguous parameters when I compile the GPU version by using the commend ‘make main-cuda’.
The detailed errors are shown as follows, would you please let me know how did you make it successful?
'nvcc -c -o framework-cuda.o framework-cuda.cu -Xcompiler "-Wall -Wextra -Werror-implicit-function-declaration -Wno-unused-parameter -Wno-unused-local-typedefs -ffast-math -Winline -fopenmp -lm -O3 -ffast-math -fomit-frame-pointer -march=native -UDEBUG -DNDEBUG" -lcurand -I/vpublic01/community/moderngpu-1.1/include -I/vpublic01/community/cub -O3 -std=c++11 -Xcompiler "-ffast-math -fomit-frame-pointer -march=native" -UDEBUG -DNDEBUG -gencode arch=compute_35,code=sm_35 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=sm_50
/vpublic01/community/moderngpu-1.1/include/kernels/../device/../device/../device/devicetypes.cuh(204): error: more than one operator "+" matches these operands:
function "operator+(int2, int2)"
function "mgpu::operator+(int2, int2)"
operand types are: int2 + int2
framework-cuda.cu(338): error: "tuple" is ambiguous
framework-cuda.cu(339): error: "tuple" is ambiguous
framework-cuda.cu(409): error: "tuple" is ambiguous
framework-cuda.cu(410): error: "tuple" is ambiguous
framework-cuda.cu(434): error: more than one instance of overloaded function "isnan" matches the argument list:
function "isnan(float)"
function "std::isnan(float)"
argument types are: (float)
framework-cuda.cu(456): error: more than one instance of overloaded function "isnan" matches the argument list:
function "isnan(float)"
function "std::isnan(float)"
argument types are: (float)
framework-cuda.cu(685): error: "tuple" is ambiguous
framework-cuda.cu(686): error: "tuple" is ambiguous
9 errors detected in the compilation of "/tmp/tmpxft_00006c1c_00000000-9_framework-cuda.compute_50.cpp1.ii".
Makefile:44: recipe for target 'framework-cuda.o' failed
make: *** [framework-cuda.o] Error 2'