oneapi-src / oneDNN

oneAPI Deep Neural Network Library (oneDNN)
https://uxlfoundation.org
Apache License 2.0
3.6k stars 991 forks source link

Build of 3.5.3 fails when both ACL and graph are enabled #2137

Open ggardet opened 1 week ago

ggardet commented 1 week ago

Summary

Build of 3.5.3 fails when both ACL and graph are enabled, due to usage of internal ACL headers. List of exported headers: https://github.com/ARM-software/ComputeLibrary/blob/main/SConstruct#L646 Error log:

[  240s] [  7%] Building CXX object src/graph/backend/dnnl/CMakeFiles/dnnl_graph_backend_dnnl.dir/platform.cpp.o
[  240s] cd /home/abuild/rpmbuild/BUILD/oneDNN-3.5.3/build/src/graph/backend/dnnl && /usr/bin/c++ -DDNNL_AARCH64=1 -DDNNL_AARCH64_USE_ACL -DDNNL_DLL -DDNNL_DLL_EXPORTS -DDNNL_ENABLE_CPU_ISA_HINTS -DDNNL_ENABLE_ITT_TASKS -DDNNL_ENABLE_MAX_CPU_ISA -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I/home/abuild/rpmbuild/BUILD/oneDNN-3.5.3/build/include -I/home/abuild/rpmbuild/BUILD/oneDNN-3.5.3/include -I/home/abuild/rpmbuild/BUILD/oneDNN-3.5.3/src -mbranch-protection=standard -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -fopenmp -fvisibility-inlines-hidden  -Wall -Wno-unknown-pragmas -fvisibility=internal -O3 -mcpu=generic  -fPIC -Wformat -Wformat-security -fstack-protector-strong  -Wmissing-field-initializers  -Wno-strict-overflow -Wno-maybe-uninitialized  -O2 -g -DNDEBUG -std=c++14 -MD -MT src/graph/backend/dnnl/CMakeFiles/dnnl_graph_backend_dnnl.dir/platform.cpp.o -MF CMakeFiles/dnnl_graph_backend_dnnl.dir/platform.cpp.o.d -o CMakeFiles/dnnl_graph_backend_dnnl.dir/platform.cpp.o -c /home/abuild/rpmbuild/BUILD/oneDNN-3.5.3/src/graph/backend/dnnl/platform.cpp
[  240s] /home/abuild/rpmbuild/BUILD/oneDNN-3.5.3/src/graph/backend/dnnl/platform.cpp:27:10: fatal error: src/common/cpuinfo/CpuInfo.h: No such file or directory
[  240s]    27 | #include "src/common/cpuinfo/CpuInfo.h"
[  240s]       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[  240s] compilation terminated.
[  240s] make[2]: *** [src/graph/backend/dnnl/CMakeFiles/dnnl_graph_backend_dnnl.dir/build.make:177: src/graph/backend/dnnl/CMakeFiles/dnnl_graph_backend_dnnl.dir/platform.cpp.o] Error 1
[  240s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/oneDNN-3.5.3/build'
[  240s] make[2]: *** Waiting for unfinished jobs....

Version

oneDNN 3.5.3 + patch #2128

Environment

Steps to reproduce

Enable ACL + graph on openSUSE Tumbleweed aarch64

Observed behavior

Build fails.

Expected behavior

Build should succeed by using only exported headers from ACL.

mgouicem commented 1 week ago

THanks for the report. @Radu2k @theComputeKid could you take a look?

theComputeKid commented 1 week ago

We don't test for building with graph. But I think we should at least ensure a valid build. We are already looking into this internally. Thanks!