Enable coverage build 使用WITH_COVERAGE=ON选项编译出错
Created by: liangan1
This is Liangang, from Intel, working with @hshen14 on INT8 Conv coverage improvement.
版本、环境信息: 1)PaddlePaddle版本:CommitID:25ec6a2c 2)CPU:Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz 3)系统环境:Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 (closed) SMP Tue Aug 22 21:09:27 UTC 2017
- 问题描述:在enable int8 coverage rate 过程中,想通过gcov分析代码覆盖率情况尝试步骤如下: 1)参考 Link http://ce.paddlepaddle.org:8080/viewLog.html?buildId=21110&buildTypeId=PaddlePaddleFramework_TestCoverage_TestCoverage&tab=buildLog&_focus=63#_state=63 的编译选项, 编译出错, 链接中的编译选项如下:
cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_DSO=ON -DWITH_DOC=OFF -DWITH_GPU=ON -DWITH_AMD_GPU=OFF -DWITH_DISTRIBUTE=ON -DWITH_MKL=ON -DWITH_NGRAPH=ON -DWITH_AVX=ON -DWITH_GOLANG=OFF -DCUDA_ARCH_NAME=All -DWITH_PYTHON=ON -DCUDNN_ROOT=/usr/ -DWITH_TESTING=ON -DCMAKE_MODULE_PATH=/opt/rocm/hip/cmake -DWITH_FLUID_ONLY=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DWITH_CONTRIB=ON -DWITH_INFERENCE_API_TEST=ON -DINFERENCE_DEMO_INSTALL_DIR=/root/.cache/inference_demo -DWITH_ANAKIN=OFF -DWITH_COVERAGE=ON -DANAKIN_BUILD_FAT_BIN= -DANAKIN_BUILD_CROSS_PLANTFORM= -DPY_VERSION=2.7 -DCMAKE_INSTALL_PREFIX=/paddle/build -DWITH_JEMALLOC=OFF -DWITH_GRPC=ON ,
2)尝试 做了一些修改(不使用GPU, DWITH_DISTRIBUTE=OFF )后采用如下命令编译正常,此时WITH_COVERAGE=OFF 编译选项如下:
cmake3 .. -DCMAKE_BUILD_TYPE=Release -DWITH_DSO=ON -DWITH_DOC=OFF -DWITH_GPU=OFF -DWITH_AMD_GPU=OFF -DWITH_DISTRIBUTE=OFF -DWITH_MKL=ON -DWITH_NGRAPH=ON -DWITH_AVX=ON -DWITH_GOLANG=OFF -DCUDA_ARCH_NAME=All -DWITH_PYTHON=ON -DWITH_TESTING=ON -DWITH_FLUID_ONLY=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DWITH_CONTRIB=ON -DWITH_INFERENCE_API_TEST=ON -DWITH_ANAKIN=OFF -DWITH_COVERAGE=OFF -DANAKIN_BUILD_FAT_BIN= -DANAKIN_BUILD_CROSS_PLANTFORM= -DPY_VERSION=2.7 -DCMAKE_INSTALL_PREFIX=./tmp -DWITH_JEMALLOC=OFF -DWITH_GRPC=ON
3)与 步骤 2)的cmake命令相比,只打开WITH_COVERAGE=ON选项之后,产生编译错误,编译选项如下:
cmake3 .. -DCMAKE_BUILD_TYPE=Release -DWITH_DSO=ON -DWITH_DOC=OFF -DWITH_GPU=OFF -DWITH_AMD_GPU=OFF -DWITH_DISTRIBUTE=OFF -DWITH_MKL=ON -DWITH_NGRAPH=ON -DWITH_AVX=ON -DWITH_GOLANG=OFF -DCUDA_ARCH_NAME=All -DWITH_PYTHON=ON -DWITH_TESTING=ON -DWITH_FLUID_ONLY=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DWITH_CONTRIB=ON -DWITH_INFERENCE_API_TEST=ON -DWITH_ANAKIN=OFF -DWITH_COVERAGE=ON -DANAKIN_BUILD_FAT_BIN= -DANAKIN_BUILD_CROSS_PLANTFORM= -DPY_VERSION=2.7 -DCMAKE_INSTALL_PREFIX=./tmp -DWITH_JEMALLOC=OFF -DWITH_GRPC=ON
报错信息如下:
libdata_layout_transform.a(data_layout_transform.cc.o): In function `paddle::framework::ToMKLDNNDataType(paddle::framework::proto::VarType_Type)':
Paddle/paddle/fluid/framework/data_layout_transform.h:59: undefined reference to `paddle::framework::DataTypeTrait<float>::DataType'