Skip to content

Commit 20a9d2f

Browse files
authored
third-party lib offline compilation support for mkldnn flashattn gtest (#54319)
* third-party lib offline compilation support for mkldnn flashattn and gtest * fix bug * ignore dirty
1 parent 82dd6b1 commit 20a9d2f

File tree

7 files changed

+27
-16
lines changed

7 files changed

+27
-16
lines changed

.gitmodules

+12
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,15 @@
5050
path = third_party/eigen3
5151
url = https://gitlab.com/libeigen/eigen.git
5252
ignore = dirty
53+
[submodule "third_party/mkldnn"]
54+
path = third_party/mkldnn
55+
url = https://github.com/oneapi-src/oneDNN.git
56+
ignore = dirty
57+
[submodule "third_party/flashattn"]
58+
path = third_party/flashattn
59+
url = https://github.com/PaddlePaddle/flash-attention.git
60+
ignore = dirty
61+
[submodule "third_party/gtest"]
62+
path = third_party/gtest
63+
url = https://github.com/google/googletest.git
64+
ignore = dirty

cmake/external/flashattn.cmake

+3-4
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ add_definitions(-DPADDLE_WITH_FLASHATTN)
1919
set(FLASHATTN_PREFIX_DIR ${THIRD_PARTY_PATH}/flashattn)
2020
set(FLASHATTN_SOURCE_SUBDIR csrc/flash_attn)
2121
set(FLASHATTN_INSTALL_DIR ${THIRD_PARTY_PATH}/install/flashattn)
22-
set(FLASHATTN_REPOSITORY ${GIT_URL}/PaddlePaddle/flash-attention.git)
22+
set(SOURCE_DIR ${PADDLE_SOURCE_DIR}/third_party/flashattn)
2323
set(FLASHATTN_TAG 18106c1ba0ccee81b97ca947397c08a141815a47)
2424

2525
set(FLASHATTN_INCLUDE_DIR
@@ -69,9 +69,8 @@ endif()
6969

7070
ExternalProject_Add(
7171
extern_flashattn
72-
${EXTERNAL_PROJECT_LOG_ARGS} ${SHALLOW_CLONE}
73-
GIT_REPOSITORY ${FLASHATTN_REPOSITORY}
74-
GIT_TAG ${FLASHATTN_TAG}
72+
${EXTERNAL_PROJECT_LOG_ARGS}
73+
SOURCE_DIR ${SOURCE_DIR}
7574
PREFIX ${FLASHATTN_PREFIX_DIR}
7675
SOURCE_SUBDIR ${FLASHATTN_SOURCE_SUBDIR}
7776
UPDATE_COMMAND ""

cmake/external/gtest.cmake

+6-8
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ set(GTEST_INSTALL_DIR ${THIRD_PARTY_PATH}/install/gtest)
2626
set(GTEST_INCLUDE_DIR
2727
"${GTEST_INSTALL_DIR}/include"
2828
CACHE PATH "gtest include directory." FORCE)
29-
set(GTEST_REPOSITORY ${GIT_URL}/google/googletest.git)
29+
set(SOURCE_DIR ${PADDLE_SOURCE_DIR}/third_party/gtest)
3030
set(GTEST_TAG release-1.8.1)
3131
set(GTEST_SOURCE_DIR ${THIRD_PARTY_PATH}/gtest/src/extern_gtest)
3232
include_directories(${GTEST_INCLUDE_DIR})
@@ -69,14 +69,13 @@ if(NOT WIN32 AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 12.0)
6969
# See: [Why calling some `git` commands before `patch`?]
7070
set(GTEST_PATCH_COMMAND
7171
git checkout -- . && git checkout ${GTEST_TAG} && patch -Nd
72-
${GTEST_SOURCE_DIR}/googletest/src < ${native_src})
72+
${SOURCE_DIR}/googletest/src < ${native_src})
7373
endif()
7474
if(WIN32)
7575
ExternalProject_Add(
7676
extern_gtest
77-
${EXTERNAL_PROJECT_LOG_ARGS} ${SHALLOW_CLONE}
78-
GIT_REPOSITORY ${GTEST_REPOSITORY}
79-
GIT_TAG ${GTEST_TAG}
77+
${EXTERNAL_PROJECT_LOG_ARGS}
78+
SOURCE_DIR ${SOURCE_DIR}
8079
DEPENDS ${GTEST_DEPENDS}
8180
PREFIX ${GTEST_PREFIX_DIR}
8281
UPDATE_COMMAND ""
@@ -106,9 +105,8 @@ if(WIN32)
106105
else()
107106
ExternalProject_Add(
108107
extern_gtest
109-
${EXTERNAL_PROJECT_LOG_ARGS} ${SHALLOW_CLONE}
110-
GIT_REPOSITORY ${GTEST_REPOSITORY}
111-
GIT_TAG ${GTEST_TAG}
108+
${EXTERNAL_PROJECT_LOG_ARGS}
109+
SOURCE_DIR ${SOURCE_DIR}
112110
DEPENDS ${GTEST_DEPENDS}
113111
PREFIX ${GTEST_PREFIX_DIR}
114112
UPDATE_COMMAND ""

cmake/external/mkldnn.cmake

+3-4
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ set(MKLDNN_INSTALL_DIR ${THIRD_PARTY_PATH}/install/mkldnn)
2020
set(MKLDNN_INC_DIR
2121
"${MKLDNN_INSTALL_DIR}/include"
2222
CACHE PATH "mkldnn include directory." FORCE)
23-
set(MKLDNN_REPOSITORY ${GIT_URL}/oneapi-src/oneDNN.git)
23+
set(SOURCE_DIR ${PADDLE_SOURCE_DIR}/third_party/mkldnn)
2424
set(MKLDNN_TAG 2089770c4818be8933c5e9d1dd3cbaeba1457667)
2525

2626
# Introduce variables:
@@ -69,9 +69,8 @@ endif()
6969

7070
ExternalProject_Add(
7171
${MKLDNN_PROJECT}
72-
${EXTERNAL_PROJECT_LOG_ARGS} ${SHALLOW_CLONE}
73-
GIT_REPOSITORY ${MKLDNN_REPOSITORY}
74-
GIT_TAG ${MKLDNN_TAG}
72+
${EXTERNAL_PROJECT_LOG_ARGS}
73+
SOURCE_DIR ${SOURCE_DIR}
7574
DEPENDS ${MKLDNN_DEPENDS}
7675
PREFIX ${MKLDNN_PREFIX_DIR}
7776
UPDATE_COMMAND ""

third_party/flashattn

Submodule flashattn added at 18106c1

third_party/gtest

Submodule gtest added at 2fe3bd9

third_party/mkldnn

Submodule mkldnn added at 2089770

0 commit comments

Comments
 (0)