From 7e8ba9a8b023ce55397eb05f5b6941075b3dfb1a Mon Sep 17 00:00:00 2001 From: Allen Guo Date: Mon, 11 Jul 2022 12:04:15 +0800 Subject: [PATCH 1/9] support ninja --- cmake/external/dgc.cmake | 2 +- cmake/external/gflags.cmake | 3 +-- cmake/external/mkldnn.cmake | 3 ++- cmake/external/openblas.cmake | 2 +- cmake/external/rocksdb.cmake | 3 ++- cmake/third_party.cmake | 3 +++ 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cmake/external/dgc.cmake b/cmake/external/dgc.cmake index 9c22ee89d48ea1..ef1ee1b0020f0c 100644 --- a/cmake/external/dgc.cmake +++ b/cmake/external/dgc.cmake @@ -33,7 +33,7 @@ ExternalProject_Add( URL_MD5 "94e6fa1bc97169d0e1aad44570fe3251" PREFIX "${DGC_PREFIX_DIR}" CONFIGURE_COMMAND "" - BUILD_COMMAND make -j $(nproc) + BUILD_COMMAND make -j${NPROC} INSTALL_COMMAND mkdir -p ${DGC_INSTALL_DIR}/lib/ ${DGC_INCLUDE_DIR}/dgc && cp ${DGC_SOURCES_DIR}/build/lib/libdgc.a ${DGC_LIBRARIES} && cp diff --git a/cmake/external/gflags.cmake b/cmake/external/gflags.cmake index 68255b4d60057f..4aa47b970529dc 100755 --- a/cmake/external/gflags.cmake +++ b/cmake/external/gflags.cmake @@ -29,8 +29,7 @@ else() set(GFLAGS_LIBRARIES "${GFLAGS_INSTALL_DIR}/lib/libgflags.a" CACHE FILEPATH "GFLAGS_LIBRARIES" FORCE) - set(BUILD_COMMAND $(MAKE) --silent) - set(INSTALL_COMMAND $(MAKE) install) + set(INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install) endif() include_directories(${GFLAGS_INCLUDE_DIR}) diff --git a/cmake/external/mkldnn.cmake b/cmake/external/mkldnn.cmake index 909d223060f527..ee76981c0bb362 100644 --- a/cmake/external/mkldnn.cmake +++ b/cmake/external/mkldnn.cmake @@ -83,7 +83,8 @@ ExternalProject_Add( -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DDNNL_BUILD_TESTS=OFF -DDNNL_BUILD_EXAMPLES=OFF - CMAKE_CACHE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${MKLDNN_INSTALL_DIR}) + CMAKE_CACHE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${MKLDNN_INSTALL_DIR} + BUILD_BYPRODUCTS ${MKLDNN_LIB}) message(STATUS "MKLDNN library: ${MKLDNN_LIB}") add_definitions(-DPADDLE_WITH_MKLDNN) diff --git a/cmake/external/openblas.cmake b/cmake/external/openblas.cmake index a93121e95c4e7b..ceb7e17993a850 100644 --- a/cmake/external/openblas.cmake +++ b/cmake/external/openblas.cmake @@ -53,7 +53,7 @@ if(NOT WIN32) PREFIX ${CBLAS_PREFIX_DIR} INSTALL_DIR ${CBLAS_INSTALL_DIR} BUILD_IN_SOURCE 1 - BUILD_COMMAND make -j$(nproc) ${COMMON_ARGS} ${OPTIONAL_ARGS} + BUILD_COMMAND make -j${NPROC} ${COMMON_ARGS} ${OPTIONAL_ARGS} INSTALL_COMMAND make install NO_SHARED=1 NO_LAPACK=1 PREFIX= UPDATE_COMMAND "" CONFIGURE_COMMAND "" diff --git a/cmake/external/rocksdb.cmake b/cmake/external/rocksdb.cmake index 2e90f50e3cdf2a..41a1916dc33083 100644 --- a/cmake/external/rocksdb.cmake +++ b/cmake/external/rocksdb.cmake @@ -44,7 +44,8 @@ ExternalProject_Add( ${ROCKSDB_PREFIX_DIR}/src/extern_rocksdb/librocksdb.a ${ROCKSDB_LIBRARIES} && cp -r ${ROCKSDB_PREFIX_DIR}/src/extern_rocksdb/include ${ROCKSDB_INSTALL_DIR}/ - BUILD_IN_SOURCE 1) + BUILD_IN_SOURCE 1 + BYPRODUCTS ${ROCKSDB_LIBRARIES}) add_dependencies(extern_rocksdb snappy) diff --git a/cmake/third_party.cmake b/cmake/third_party.cmake index 3cefa0dfa26a2c..3dc09fd407baf9 100755 --- a/cmake/third_party.cmake +++ b/cmake/third_party.cmake @@ -27,6 +27,9 @@ set(THIRD_PARTY_CACHE_PATH set(THIRD_PARTY_BUILD_TYPE Release) set(third_party_deps) +include(ProcessorCount) +ProcessorCount(NPROC) + # cache funciton to avoid repeat download code of third_party. # This function has 4 parameters, URL / REPOSITOR / TAG / DIR: # 1. URL: specify download url of 3rd party From f24ec6e490544b2890346c877be6865270f77e12 Mon Sep 17 00:00:00 2001 From: Allen Guo Date: Mon, 11 Jul 2022 15:48:49 +0800 Subject: [PATCH 2/9] fix mkldnn on windows --- cmake/external/mkldnn.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/external/mkldnn.cmake b/cmake/external/mkldnn.cmake index ee76981c0bb362..75acaa1265cd87 100644 --- a/cmake/external/mkldnn.cmake +++ b/cmake/external/mkldnn.cmake @@ -57,7 +57,7 @@ else() string(REPLACE "/O2 " "" MKLDNN_CFLAG_RELEASE "${CMAKE_C_FLAGS_RELEASE}") string(REPLACE "/O2 " "" MKLDNN_CXXFLAG_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") set(MKLDNN_LIB - "${MKLDNN_INSTALL_DIR}/bin/mkldnn.lib" + "${MKLDNN_INSTALL_DIR}/bin/mkldnn.dll" CACHE FILEPATH "mkldnn library." FORCE) endif() From 644ce589b8d1f53c2a337981227450456bd8f16a Mon Sep 17 00:00:00 2001 From: Allen Guo Date: Mon, 11 Jul 2022 16:37:20 +0800 Subject: [PATCH 3/9] fix mkldnn on windows up1 --- cmake/external/mkldnn.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/external/mkldnn.cmake b/cmake/external/mkldnn.cmake index 75acaa1265cd87..485b27796aef48 100644 --- a/cmake/external/mkldnn.cmake +++ b/cmake/external/mkldnn.cmake @@ -57,7 +57,7 @@ else() string(REPLACE "/O2 " "" MKLDNN_CFLAG_RELEASE "${CMAKE_C_FLAGS_RELEASE}") string(REPLACE "/O2 " "" MKLDNN_CXXFLAG_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") set(MKLDNN_LIB - "${MKLDNN_INSTALL_DIR}/bin/mkldnn.dll" + "${MKLDNN_INSTALL_DIR}/bin/dnnl.dll" CACHE FILEPATH "mkldnn library." FORCE) endif() From f6f206f5aab4da411978bd3627156cc188baa0c8 Mon Sep 17 00:00:00 2001 From: Allen Guo Date: Mon, 11 Jul 2022 20:12:10 +0800 Subject: [PATCH 4/9] up2 --- cmake/external/mkldnn.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/external/mkldnn.cmake b/cmake/external/mkldnn.cmake index 485b27796aef48..e9be793da7ca63 100644 --- a/cmake/external/mkldnn.cmake +++ b/cmake/external/mkldnn.cmake @@ -57,7 +57,7 @@ else() string(REPLACE "/O2 " "" MKLDNN_CFLAG_RELEASE "${CMAKE_C_FLAGS_RELEASE}") string(REPLACE "/O2 " "" MKLDNN_CXXFLAG_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") set(MKLDNN_LIB - "${MKLDNN_INSTALL_DIR}/bin/dnnl.dll" + "${MKLDNN_INSTALL_DIR}/bin/dnnl.lib" CACHE FILEPATH "mkldnn library." FORCE) endif() From 0b3402908313bf5f757266673b190c20a8c3e9fa Mon Sep 17 00:00:00 2001 From: Allen Guo Date: Mon, 11 Jul 2022 21:24:09 +0800 Subject: [PATCH 5/9] up3 --- cmake/external/mkldnn.cmake | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cmake/external/mkldnn.cmake b/cmake/external/mkldnn.cmake index e9be793da7ca63..8c34e52164868d 100644 --- a/cmake/external/mkldnn.cmake +++ b/cmake/external/mkldnn.cmake @@ -57,10 +57,16 @@ else() string(REPLACE "/O2 " "" MKLDNN_CFLAG_RELEASE "${CMAKE_C_FLAGS_RELEASE}") string(REPLACE "/O2 " "" MKLDNN_CXXFLAG_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") set(MKLDNN_LIB - "${MKLDNN_INSTALL_DIR}/bin/dnnl.lib" + "${MKLDNN_INSTALL_DIR}/bin/mkldnn.lib" CACHE FILEPATH "mkldnn library." FORCE) endif() +if(UNIX AND NOT APPLE) + set(BUILD_BYPRODUCTS_OPTION ${MKLDNN_LIB}) +else() + set(BUILD_BYPRODUCTS_OPTION "") +endif() + ExternalProject_Add( ${MKLDNN_PROJECT} ${EXTERNAL_PROJECT_LOG_ARGS} ${SHALLOW_CLONE} @@ -84,7 +90,7 @@ ExternalProject_Add( -DDNNL_BUILD_TESTS=OFF -DDNNL_BUILD_EXAMPLES=OFF CMAKE_CACHE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${MKLDNN_INSTALL_DIR} - BUILD_BYPRODUCTS ${MKLDNN_LIB}) + BUILD_BYPRODUCTS ${BUILD_BYPRODUCTS_OPTION}) message(STATUS "MKLDNN library: ${MKLDNN_LIB}") add_definitions(-DPADDLE_WITH_MKLDNN) From c7dedea7fb8df3b0a51784546a2fa4c097ccaae8 Mon Sep 17 00:00:00 2001 From: Allen Guo Date: Thu, 14 Jul 2022 12:16:50 +0800 Subject: [PATCH 6/9] fix gflags --- cmake/external/gflags.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/external/gflags.cmake b/cmake/external/gflags.cmake index 4aa47b970529dc..d3255735b6a129 100755 --- a/cmake/external/gflags.cmake +++ b/cmake/external/gflags.cmake @@ -29,6 +29,7 @@ else() set(GFLAGS_LIBRARIES "${GFLAGS_INSTALL_DIR}/lib/libgflags.a" CACHE FILEPATH "GFLAGS_LIBRARIES" FORCE) + set(BUILD_COMMAND ${CMAKE_MAKE_PROGRAM}) set(INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install) endif() From d55837e21975b8f39271ab915783e5fa6b0b0af1 Mon Sep 17 00:00:00 2001 From: Allen Guo Date: Thu, 14 Jul 2022 16:04:04 +0800 Subject: [PATCH 7/9] BUILD_BYPRODUCTS_OPTION -> BUILD_BYPRODUCTS_ARGS --- cmake/external/mkldnn.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/external/mkldnn.cmake b/cmake/external/mkldnn.cmake index 8c34e52164868d..fd02e847a1b348 100644 --- a/cmake/external/mkldnn.cmake +++ b/cmake/external/mkldnn.cmake @@ -62,9 +62,9 @@ else() endif() if(UNIX AND NOT APPLE) - set(BUILD_BYPRODUCTS_OPTION ${MKLDNN_LIB}) + set(BUILD_BYPRODUCTS_ARGS ${MKLDNN_LIB}) else() - set(BUILD_BYPRODUCTS_OPTION "") + set(BUILD_BYPRODUCTS_ARGS "") endif() ExternalProject_Add( @@ -90,7 +90,7 @@ ExternalProject_Add( -DDNNL_BUILD_TESTS=OFF -DDNNL_BUILD_EXAMPLES=OFF CMAKE_CACHE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${MKLDNN_INSTALL_DIR} - BUILD_BYPRODUCTS ${BUILD_BYPRODUCTS_OPTION}) + BUILD_BYPRODUCTS ${BUILD_BYPRODUCTS_ARGS}) message(STATUS "MKLDNN library: ${MKLDNN_LIB}") add_definitions(-DPADDLE_WITH_MKLDNN) From d689d1698c08ad29db41130d0edb53bbb0b532bd Mon Sep 17 00:00:00 2001 From: Allen Guo Date: Thu, 14 Jul 2022 16:23:33 +0800 Subject: [PATCH 8/9] use CMAKE_COMMAND --- cmake/external/gflags.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/external/gflags.cmake b/cmake/external/gflags.cmake index d3255735b6a129..7d5bb6caed53fe 100755 --- a/cmake/external/gflags.cmake +++ b/cmake/external/gflags.cmake @@ -29,8 +29,8 @@ else() set(GFLAGS_LIBRARIES "${GFLAGS_INSTALL_DIR}/lib/libgflags.a" CACHE FILEPATH "GFLAGS_LIBRARIES" FORCE) - set(BUILD_COMMAND ${CMAKE_MAKE_PROGRAM}) - set(INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} install) + set(BUILD_COMMAND ${CMAKE_COMMAND} --build .) + set(INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install) endif() include_directories(${GFLAGS_INCLUDE_DIR}) From fa5b56c2f555ec45846363d87718430f0b6dff64 Mon Sep 17 00:00:00 2001 From: Allen Guo Date: Sat, 30 Jul 2022 11:02:46 +0800 Subject: [PATCH 9/9] up x --- cmake/external/mkldnn.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/external/mkldnn.cmake b/cmake/external/mkldnn.cmake index fd02e847a1b348..e4f25bc711d7c7 100644 --- a/cmake/external/mkldnn.cmake +++ b/cmake/external/mkldnn.cmake @@ -61,7 +61,7 @@ else() CACHE FILEPATH "mkldnn library." FORCE) endif() -if(UNIX AND NOT APPLE) +if(LINUX) set(BUILD_BYPRODUCTS_ARGS ${MKLDNN_LIB}) else() set(BUILD_BYPRODUCTS_ARGS "")