Tensorflow与GPU cuda8编译错误“__shfl_up”

时间:2017-07-23 15:07:34

标签: tensorflow-gpu

tensorflow 1.2.1 CUDA 8.0.61.2

当用bazel编译tensorflow时,我收到一个错误:

./ tensorflow / core / util / cuda_kernel_helper.h(620):错误:标识符“__shfl”未定义

./ tensorflow / core / util / cuda_kernel_helper.h(640):错误:标识符“__shfl_up”未定义

./ tensorflow / core / util / cuda_kernel_helper.h(660):错误:标识符“__shfl_down”未定义

./ tensorflow / core / util / cuda_kernel_helper.h(680):错误:标识符“__shfl_xor”未定义

编译“/tmp/tmpxft_000010d3_00000000-7_depthtospace_op_gpu.cu.cpp1.ii”时检测到4个错误。

如何解决这个问题?

gcc版本6.2.1 20160916(Red Hat 6.2.1-3)(GCC) 使用compute 2.0

2 个答案:

答案 0 :(得分:0)

这是由于选择了不支持的计算能力(数量太少)。支持的最低版本为3.0。我在Github上提交了一个错误。现在应该在配置脚本中fixed,因此无法选择低于3.0的Cuda计算能力。

答案 1 :(得分:0)

尝试从cuda 10.1移至cuda 9.1 sudo apt install nvidia-cuda-toolkit,然后从gcc-7移至gcc-5。在尝试了所有可用的解决方案之后,它对我有用。