🧵

oneDNN を OpenMP off でビルドするメモ

2023/02/08に公開

https://github.com/oneapi-src/oneDNN

oneDNN, OpenMP 使えると強制的に有効にしてた... 別れたい...
(ほかのプログラムとリンクするときにめんどいんじゃ!)

しかし漢にはそれでも oneDNN を使わねばならなぬときがある.

oneDNN を OpenMP off でビルドを極めます.

-DDNNL_CPU_RUNTIME="SEQ" としても, OpenMP が見つかると強制的に OpenMP 有効になってしまします.

https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html

で disable してもダメ.

https://github.com/oneapi-src/oneDNN/blob/66cb565b626f0a0d7eb60207ab825edc7150d0cc/cmake/OpenMP.cmake#L20

-DOpenMP_cmake_included=1 -DDNNL_CPU_RUNTIME="SEQ" でとりまいけました.

CMakeLists.txt いじってもいいのであれば, OpenMP.cmake を include している行をコメントアウトするのでもいいでしょう.

TODO: threadpool

https://github.com/oneapi-src/oneDNN/blob/master/doc/build/build_options.md#threadpool

Threadpool + Standalone で C++11 thread だけ(たぶん)でのビルドもためす.

Discussion