bgawrych commented on pull request #18801:
URL: https://github.com/apache/incubator-mxnet/pull/18801#issuecomment-669840222


   @TaoLv @leezu 
   I've built GCC from sources:
   GCC 7.3.0 shows following error in multiple files:
   ```
   [55/782] Building CXX object 
3rdparty/mkldnn/src/cpu/CMakeFiles/dnnl_cpu.dir/cpu_reorder.cpp.o
   FAILED: 3rdparty/mkldnn/src/cpu/CMakeFiles/dnnl_cpu.dir/cpu_reorder.cpp.o 
   /home/wihajster/Desktop/install_gcc/bin/g++  -DDMLC_LOG_STACK_TRACE_SIZE=0 
-DDMLC_MODERN_THREAD_LOCAL=0 -DDMLC_STRICT_CXX11 -DDMLC_USE_CXX11 
-DDMLC_USE_CXX14 -DDNNL_ENABLE_CONCURRENT_EXEC -DDNNL_ENABLE_MAX_CPU_ISA 
-DDNNL_X64=1 -DMSHADOW_IN_CXX11 -D_GLIBCXX_USE_CXX11_ABI=1 
-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I../3rdparty/mkldnn/include 
-I3rdparty/mkldnn/include -I../3rdparty/mkldnn/src -D_GLIBCXX_ASSERTIONS  -Wall 
-Wno-sign-compare -O0 -g -std=c++11 -fopenmp -fvisibility-inlines-hidden  -Wall 
-Wno-unknown-pragmas -fvisibility=internal  -fPIC -Wformat -Wformat-security 
-fstack-protector-strong  -Wmissing-field-initializers  -Wno-strict-overflow  
-g -fPIC   -std=gnu++1z -MD -MT 
3rdparty/mkldnn/src/cpu/CMakeFiles/dnnl_cpu.dir/cpu_reorder.cpp.o -MF 
3rdparty/mkldnn/src/cpu/CMakeFiles/dnnl_cpu.dir/cpu_reorder.cpp.o.d -o 
3rdparty/mkldnn/src/cpu/CMakeFiles/dnnl_cpu.dir/cpu_reorder.cpp.o -c 
../3rdparty/mkldnn/src/cpu/cpu_reorder.cpp
   In file included from ../3rdparty/mkldnn/src/cpu/cpu_reorder.cpp:27:0:
   ../3rdparty/mkldnn/src/cpu/rnn/rnn_reorders.hpp: In lambda function:
   ../3rdparty/mkldnn/src/cpu/rnn/rnn_reorders.hpp:124:9: sorry, unimplemented: 
unexpected AST of kind omp_simd
            });
            ^
   ```
   
   GCC 7.4.0 and **7.5.0 (from sources)** shows:
   
   ```
   [229/782] Building CXX object 
3rdparty/mkldnn/src/cpu/x64/CMakeFiles/dnnl_cpu_x64.dir/jit_avx512_core_amx_1x1_convolution.cpp.o
   FAILED: 
3rdparty/mkldnn/src/cpu/x64/CMakeFiles/dnnl_cpu_x64.dir/jit_avx512_core_amx_1x1_convolution.cpp.o
 
   /home/wihajster/Desktop/install_gcc/bin/g++  -DDMLC_LOG_STACK_TRACE_SIZE=0 
-DDMLC_MODERN_THREAD_LOCAL=0 -DDMLC_STRICT_CXX11 -DDMLC_USE_CXX11 
-DDMLC_USE_CXX14 -DDNNL_ENABLE_CONCURRENT_EXEC -DDNNL_ENABLE_JIT_PROFILING=0 
-DDNNL_ENABLE_MAX_CPU_ISA -DDNNL_X64=1 -DMSHADOW_IN_CXX11 
-D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS 
-I../3rdparty/mkldnn/include -I3rdparty/mkldnn/include -I../3rdparty/mkldnn/src 
-D_GLIBCXX_ASSERTIONS  -Wall -Wno-sign-compare -O0 -g -std=c++11 -fopenmp 
-fvisibility-inlines-hidden  -Wall -Wno-unknown-pragmas -fvisibility=internal  
-fPIC -Wformat -Wformat-security -fstack-protector-strong  
-Wmissing-field-initializers  -Wno-strict-overflow  -g -fPIC   -std=gnu++1z -MD 
-MT 
3rdparty/mkldnn/src/cpu/x64/CMakeFiles/dnnl_cpu_x64.dir/jit_avx512_core_amx_1x1_convolution.cpp.o
 -MF 
3rdparty/mkldnn/src/cpu/x64/CMakeFiles/dnnl_cpu_x64.dir/jit_avx512_core_amx_1x1_convolution.cpp.o.d
 -o 3rdparty/mkldnn/src/cpu/x64/CMakeFiles/dnnl_cpu_x64.dir/jit_avx5
 12_core_amx_1x1_convolution.cpp.o -c 
../3rdparty/mkldnn/src/cpu/x64/jit_avx512_core_amx_1x1_convolution.cpp
   ../3rdparty/mkldnn/src/cpu/x64/jit_avx512_core_amx_1x1_convolution.cpp: In 
instantiation of 
'dnnl::impl::cpu::x64::jit_avx512_core_amx_1x1_convolution_fwd_t<src_type, 
wei_type, dst_type>::execute_forward(const dnnl::impl::exec_ctx_t&) 
const::<lambda(int, int)> [with dnnl_data_type_t src_type = 
(dnnl_data_type_t)5; dnnl_data_type_t wei_type = (dnnl_data_type_t)5; 
dnnl_data_type_t dst_type = (dnnl_data_type_t)6]':
   
../3rdparty/mkldnn/src/cpu/x64/jit_avx512_core_amx_1x1_convolution.cpp:159:29:  
 required from 'struct 
dnnl::impl::cpu::x64::jit_avx512_core_amx_1x1_convolution_fwd_t<src_type, 
wei_type, dst_type>::execute_forward(const dnnl::impl::exec_ctx_t&) const [with 
dnnl_data_type_t src_type = (dnnl_data_type_t)5; dnnl_data_type_t wei_type = 
(dnnl_data_type_t)5; dnnl_data_type_t dst_type = 
(dnnl_data_type_t)6]::<lambda(int, int)>'
   
../3rdparty/mkldnn/src/cpu/x64/jit_avx512_core_amx_1x1_convolution.cpp:111:13:  
 required from 'void 
dnnl::impl::cpu::x64::jit_avx512_core_amx_1x1_convolution_fwd_t<src_type, 
wei_type, dst_type>::execute_forward(const dnnl::impl::exec_ctx_t&) const [with 
dnnl_data_type_t src_type = (dnnl_data_type_t)5; dnnl_data_type_t wei_type = 
(dnnl_data_type_t)5; dnnl_data_type_t dst_type = (dnnl_data_type_t)6]'
   
../3rdparty/mkldnn/src/cpu/x64/jit_avx512_core_amx_1x1_convolution.cpp:192:17:  
 required from here
   
../3rdparty/mkldnn/src/cpu/x64/jit_avx512_core_amx_1x1_convolution.cpp:151:28: 
internal compiler error: in maybe_undo_parenthesized_ref, at cp/semantics.c:1739
                        size_t dst_offset = (is_1d) ? dst_d.blk_off(mb, oc, ow)
                               ^~~~~~~~~~
   ```
   
   But as I've mentioned earlier - GCC 7.5.0 provided by ubuntu doesn't trigger 
this error.
   GCC 8.1.0 built from sources also compile sucessfully.
   
   I've checked also if standalone oneDNN is compiling with GCC 7.4.0 and it is.
   This compiler error is probably triggered when mkldnn is compiled with c++14 
standard. With c++11 everything works fine


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to