PaddlePaddle / Paddle

PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)
http://www.paddlepaddle.org/
Apache License 2.0
22.24k stars 5.58k forks source link

ERROR: avx512fintrin.h(9146): error: identifier "__builtin_ia32_rndscaless_round" is undefined #40606

Closed SpaceView closed 6 months ago

SpaceView commented 2 years ago

本地编译:请提供cmake命令,编译命令 完全根据官网安装 https://paddle-inference.readthedocs.io/en/latest/user_guides/source_compile.html#ubuntu-18-04 第一步,下载配置 git clone https://github.com/PaddlePaddle/Paddle.git cd Paddle git checkout release/2.2 mkdir build_cuda && cd build_cuda cmake .. -DPY_VERSION=3 \ -DWITH_TESTING=OFF \ -DWITH_MKL=ON \ -DWITH_GPU=ON \ -DON_INFER=ON \ .. 第二步 make -j12

/usr/lib/gcc/x86_64-linux-gnu/9/include/avx512fintrin.h(9155): error: identifier "__builtin_ia32_rndscalesd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/9/include/avx512fintrin.h(14797): error: identifier "__builtin_ia32_rndscaless_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/9/include/avx512fintrin.h(14806): error: identifier "__builtin_ia32_rndscalesd_round" is undefined

/usr/lib/gcc/x86_64-linux-gnu/9/include/avx512dqintrin.h(1365): error: identifier "__builtin_ia32_fpclassss" is undefined

/usr/lib/gcc/x86_64-linux-gnu/9/include/avx512dqintrin.h(1372): error: identifier "__builtin_ia32_fpclasssd" is undefined

6 errors detected in the compilation of "/home/mc/ocr/Paddle/paddle/fluid/operators/math/lstm_compute.cu". make[2]: [paddle/fluid/operators/math/CMakeFiles/lstm_compute.dir/build.make:90:paddle/fluid/operators/math/CMakeFiles/lstm_compute.dir/lstm_compute.cu.o] 错误 1 make[1]: [CMakeFiles/Makefile2:77899:paddle/fluid/operators/math/CMakeFiles/lstm_compute.dir/all] 错误 2 make[1]: 正在等待未完成的任务.... [ 11%] Building CUDA object paddle/fluid/operators/math/CMakeFiles/segment_pooling.dir/segment_pooling.cu.o [ 11%] Building CUDA object paddle/fluid/operators/math/CMakeFiles/unpooling.dir/unpooling.cu.o [ 11%] Linking CXX static library libmatrix_bit_code.a [ 11%] Built target matrix_bit_code [ 11%] Linking CXX static library libmatrix_inverse.a [ 11%] Built target matrix_inverse [ 11%] Linking CXX static library libvol2col.a [ 11%] Built target vol2col [ 11%] Linking CXX static library libprelu.a [ 11%] Built target prelu [ 11%] Linking CXX static library libunpooling.a [ 11%] Built target unpooling [ 11%] Linking CXX static library libfc.a [ 11%] Linking CXX static library libbert_encoder_functor.a [ 11%] Built target bert_encoder_functor [ 11%] Built target fc [ 11%] Linking CXX static library libsegment_pooling.a [ 11%] Built target segment_pooling make: [Makefile:136:all] 错误 2

paddle-bot-old[bot] commented 2 years ago

您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网API文档常见问题历史IssueAI社区来寻求解答。祝您生活愉快~

Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the APIFAQGithub Issue and AI community to get the answer.Have a nice day!

SpaceView commented 2 years ago

同样的配置,我试图使用不同的paddle版本,发现没有用;Paddle2.1也出现了类似的报错,主要都在fluid/operators/math下面的cuda算子函数,不清楚是否因为cuda版本问题引起, [ 13%] Built target blas [ 13%] Building CUDA object paddle/fluid/operators/math/CMakeFiles/depthwise_conv.dir/depthwise_conv.cu.o /usr/lib/gcc/x86_64-linux-gnu/9/include/avx512fintrin.h(9146): error: identifier "builtin_ia32_rndscaless_round" is undefined /usr/lib/gcc/x86_64-linux-gnu/9/include/avx512fintrin.h(9155): error: identifier "builtin_ia32_rndscalesd_round" is undefined /usr/lib/gcc/x86_64-linux-gnu/9/include/avx512fintrin.h(14797): error: identifier "builtin_ia32_rndscaless_round" is undefined /usr/lib/gcc/x86_64-linux-gnu/9/include/avx512fintrin.h(14806): error: identifier "builtin_ia32_rndscalesd_round" is undefined /usr/lib/gcc/x86_64-linux-gnu/9/include/avx512dqintrin.h(1365): error: identifier "__builtin_ia32_fpclassss" is undefined /usr/lib/gcc/x86_64-linux-gnu/9/include/avx512dqintrin.h(1372): error: identifier "__builtin_ia32_fpclasssd" is undefined

tianshuo78520a commented 2 years ago

你不加ON_INFER参数呢? 试下

SpaceView commented 2 years ago

我尝试了一下,换成gcc-8编译成功了。 所以,解决办法是: ubuntu20.04+cuda11.4+gcc-8.4.0+python3.8.10 谢谢。

engineer1109 commented 2 years ago

Use GCC 9.4.0 and Cuda 11.7 to Solve I met this problem also on on GCC 9.4.0 and Cuda 11.5. This seems because old cuda lack some defines support for gcc compiler. 好像GCC 9.4.0和Cuda旧版本 有编译器预定义缺少的问题,Cuda 11.7修复。 你可以关闭这个问题了

yflin1 commented 1 year ago

同样的配置,我试图使用不同的paddle版本,发现没有用;Paddle2.1也出现了类似的报错,主要都在fluid/operators/math下面的cuda算子函数,不清楚是否因为cuda版本问题引起, [ 13%] Built target blas [ 13%] Building CUDA object paddle/fluid/operators/math/CMakeFiles/depthwise_conv.dir/depthwise_conv.cu.o /usr/lib/gcc/x86_64-linux-gnu/9/include/avx512fintrin.h(9146): error: identifier "builtin_ia32_rndscaless_round" is undefined /usr/lib/gcc/x86_64-linux-gnu/9/include/avx512fintrin.h(9155): error: identifier "builtin_ia32_rndscalesd_round" is undefined /usr/lib/gcc/x86_64-linux-gnu/9/include/avx512fintrin.h(14797): error: identifier "builtin_ia32_rndscaless_round" is undefined /usr/lib/gcc/x86_64-linux-gnu/9/include/avx512fintrin.h(14806): error: identifier "builtin_ia32_rndscalesd_round" is undefined /usr/lib/gcc/x86_64-linux-gnu/9/include/avx512dqintrin.h(1365): error: identifier "__builtin_ia32_fpclassss" is undefined /usr/lib/gcc/x86_64-linux-gnu/9/include/avx512dqintrin.h(1372): error: identifier "__builtin_ia32_fpclasssd" is undefined

我在 Paddle develop 分支 + ubuntu22.04 + gcc-9.5.0 + cuda 11.7 也出现了一样的问题。

paddle-bot[bot] commented 6 months ago

Since you haven\'t replied for more than a year, we have closed this issue/pr. If the problem is not solved or there is a follow-up one, please reopen it at any time and we will continue to follow up. 由于您超过一年未回复,我们将关闭这个issue/pr。 若问题未解决或有后续问题,请随时重新打开,我们会继续跟进。