为了一尝平民的法拉力, AMD Radeon VII (雷七)的美味(其实还是没钱,上不起2080ti), 自行在ubuntu上编译 pytorch,
大体步骤参照 如下blog处理:
https://blog.csdn.net/duoganniang1006/article/details/103654781
基本上问题不大,在最后的编译步骤中踩坑了:
某个文件编译不了,查找google, 只发现一个仁兄跟我有类似情况,但是没有解决方案。作为cpp程序员,不能在此小问题之前掉价。
在源码的 caffe2/operators/hip/relu_op.hip:55/105 两行有如下代码:
__float2half2_rn(xx.x >0.0f ?xx.x:0.0f , xx.y >0.0f ?xx.y:0.0f)
这样类似的语句,加粗部分因为推断的类型有岐义,所以无法编译。需要作如下修改
__float2half2_rn(xx.x >0.0f ? (float)xx.x:0.0f , xx.y >0.0f ?(float)xx.y:0.0f)
遂自己行修改,强行编译。