cuda10 的 cuda_fp16.hpp(1691) 错误
在使用了CUB后,编译时可能遇见以下错误:
/usr/local/cuda/include/cuda_fp16.hpp(1691): error: more than one instance of overloaded function “isinf” matches the argument list:
function “isinf(float)”
function “std::isinf(float)”
argument types are: (float)
如果遇见这种错误,可别真的去修改CUDA原文件。经过排除,发现CUB会与定义了
using namespace std;
的文件同时出现时报错。
解决方案:
去掉 using namespace std,显示的添加std命名,如:将 string 修改为 std::string