Created by: zhangting2020
eigen升级问题记录
Paddle的版本是18年3月的,升级到2020年3月19日的commit id 4da2c6b1974827b1999bab652a3d4703e1992d26
,遇到的问题:
-
【已解决】eigen使用const expressions引起的编译错误:从c++14后编译器才完全支持 const expressions,eigen中用到的一些const expression在c++11还未支持。解决方式:添加编译选项
-DEIGEN_MAX_CPP_VER=11
-
【已解决】gcc版本不同引起的编译错误:
- gcc4.8编译错误:根据eigen源码中的注释设置
-fabi-version=4
可解决,但gcc8会出现double free corruption的错误。gcc5.4无任何问题。因此此方式无法解决不同gcc版本的编译问题。 - 满足不同gcc版本只能通过打patch的方式,将Geometry_SSE.h引起编译错误的地方改回旧版本。
- gcc4.8编译错误:根据eigen源码中的注释设置
-
【不做升级】windows升级VS版本过低引起编译错误:通过打patch的方式会引起编译hang住。编译需要VS2019支持,因此windows下暂时不做升级。
-
【已解决】softmax op 的fp16单测运行中出core:发现是该Op中使用了
.eval()
引起的,将所有的.eval()删除后,fp16的case全部通过。但是fp64的4个case计算结果存在diff,需要修改代码。 #23845 -
【其他问题】引用第三方库建议采用https://gitlab.com/xxx/xxx.git的方式,来加速下载 如果使用https://gitlab.com/xxx/xxx的方式,即后面没有.git,在某些机器上会出现error: RPC failed; result=22, HTTP code = 404 的方式。