在CUDA9.0上安装torch出错:"error: more than one operator "==" matches these operands"

安装torch的时候遇到了一个问题:"error: more than one operator "==" matches these operands"

lib/THC/CMakeFiles/THC.dir/build.make:4243: recipe for target 'lib/THC/CMakeFiles
/THC.dir/THC_generated_THCTensorMathPairwise.cu.o' failed make[2]: *** [lib/THC
/CMakeFiles/THC.dir/THC_generated_THCTensorMathPairwise.cu.o] Error 1 /pkgbuild/torch
/torch/extra/cutorch/lib/THC/generic/THCTensorMath.cu(393): error: more than one
 operator "==" matches these operands: function "operator==(const __half &, const __half
 &)" function "operator==(half, half)" operand types are: half == half /pkgbuild/torch
/torch/extra/cutorch/lib/THC/generic/THCTensorMath.cu(414): error: more than one
 operator "==" matches these operands: function "operator==(const __half &, const __half
 &)" function "operator==(half, half)" operand types are: half == half

原因是cuda和torch的头文件都提供了相同的重载运算符,编译器不知道用哪一个。

输入下面shell命令禁止使用cuda的头文件编译torch即可:
export TORCH_NVCC_FLAGS="-D__CUDA_NO_HALF_OPERATORS__"
重新运行./install.sh重新开始编译就OK了。

编译成功过后,输入命令source ~/.bashrc使torch生效。如果你使用的是zsh那么输入source ~/.zshrc。完了之后再输入命令th,出现如下的画面说明安装成功了:

 

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值