1set(onednn_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2") 2set(onednn_CFLAGS "-D_FORTIFY_SOURCE=2 -O2") 3set(onednn_LDFLAGS "-s") 4 5if(NOT MINDSPORE_PROJECT_DIR) 6set(MINDSPORE_PROJECT_DIR ${CMAKE_SOURCE_DIR}) 7endif() 8 9if(USE_MS_THREADPOOL_FOR_DNNL) 10 set(USE_MS_THREADPOOL "-DDNNL_CPU_RUNTIME=THREADPOOL") 11else() 12 set(USE_MS_THREADPOOL "") 13endif() 14if(ENABLE_GITEE_EULER) 15 set(GIT_REPOSITORY "git@gitee.com:src-openeuler/onednn.git") 16 set(GIT_TAG "0d726f1") 17 set(SHA256 "4d655c0751ee6439584ef5e3d465953fe0c2f4ee2700bc02699bdc1d1572af0d") 18 __download_pkg_with_git(ONEDNN ${GIT_REPOSITORY} ${GIT_TAG} ${SHA256}) 19 set(ONE_DNN_SRC "${CMAKE_BINARY_DIR}/_deps/onednn-src") 20 execute_process(COMMAND tar -xf ${ONE_DNN_SRC}/v2.2.tar.gz --strip-components 1 -C ${ONE_DNN_SRC}) 21endif() 22 23if(ENABLE_GITEE) 24 set(REQ_URL "https://gitee.com/mirrors/MKL-DNN/repository/archive/v2.2.tar.gz") 25 set(SHA256 "2e809b11727af9d10784a5481b445a14387297161b5cc7f9c969c57fe40752bc") 26else() 27 set(REQ_URL "https://github.com/oneapi-src/oneDNN/archive/v2.2.tar.gz") 28 set(SHA256 "4d655c0751ee6439584ef5e3d465953fe0c2f4ee2700bc02699bdc1d1572af0d") 29endif() 30mindspore_add_pkg(onednn 31 VER 2.2 32 LIBS dnnl mkldnn 33 URL ${REQ_URL} 34 SHA256 ${SHA256} 35 PATCHES ${MINDSPORE_PROJECT_DIR}/third_party/patch/onednn/0001-fix-user-threadpool-bug.patch 36 PATCHES ${MINDSPORE_PROJECT_DIR}/third_party/patch/onednn/0002-fix-pool-nthr-bug.patch 37 PATCHES ${MINDSPORE_PROJECT_DIR}/third_party/patch/onednn/0003-fix-zero-threads-identified-on-AMD.patch 38 PATCHES ${MINDSPORE_PROJECT_DIR}/third_party/patch/onednn/0004-fix-dnnl-limits.patch 39 CMAKE_OPTION -DDNNL_ARCH_OPT_FLAGS='' -DDNNL_BUILD_EXAMPLES=OFF -DDNNL_BUILD_TESTS=OFF 40 ${USE_MS_THREADPOOL} -DDNNL_ENABLE_CONCURRENT_EXEC=ON) 41 42include_directories(${onednn_INC}) 43add_library(mindspore::dnnl ALIAS onednn::dnnl) 44add_library(mindspore::mkldnn ALIAS onednn::mkldnn) 45