Skip to content

Commit acb0ff7

Browse files
[SDAA]update sdaa codes for 3.0.0-rc (#1604)
1 parent a07fccd commit acb0ff7

File tree

259 files changed

+21815
-2776
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

259 files changed

+21815
-2776
lines changed

backends/sdaa/CMakeLists.txt

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
cmake_minimum_required(VERSION 3.10)
22

33
project(paddle-sdaa CXX C)
4-
add_definitions(-std=c++14)
4+
add_definitions(-std=c++17)
55
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
66

77
option(WITH_TESTING "compile with unit testing" ON)
88
option(NATIVE_SDAA "use native sdaa lib" ON)
99
option(WITH_MKLDNN "compile with MKLDNN support" ON)
1010
option(WITH_SW "compile with sw arch support" OFF)
11+
option(WITH_LOONGARCH "compile with loong arch support" OFF)
1112
option(WITH_GIT_COMMIT "compile with git commit print" ON)
1213
option(WITH_PADDLE_INFO "compile with paddle commit/version print" ON)
14+
option(WITH_TECO_PADDLE_VERSION "compile with plugin version print" ON)
1315

1416
set(PLUGIN_NAME "paddle-sdaa")
1517
if(DEFINED ENV{PLUGIN_VERSION})
@@ -21,7 +23,6 @@ endif()
2123
include(paddle)
2224
include(generic)
2325
include(teco)
24-
include(third_party)
2526

2627
include_directories(
2728
${PADDLE_INC_DIR}
@@ -30,7 +31,8 @@ include_directories(
3031
${EXTEND_OP_INC}
3132
${SDPTI_INC}
3233
${TBLAS_INC}
33-
${TECODNN_CUSTOM_INC}
34+
${TECOCUSTOM_EXT_INC}
35+
${TECOCUSTOM_INC}
3436
${TCCL_INC}
3537
${CLANG_INC})
3638

@@ -46,6 +48,10 @@ if(WITH_SW)
4648
add_definitions(-DPADDLE_WITH_SW)
4749
endif()
4850

51+
if(WITH_LOONGARCH)
52+
add_definitions(-DPADDLE_WITH_LOONGARCH)
53+
endif()
54+
4955
if(WITH_GIT_COMMIT)
5056
execute_process(
5157
COMMAND git rev-parse --short HEAD
@@ -54,6 +60,10 @@ if(WITH_GIT_COMMIT)
5460
add_definitions(-DGIT_COMMIT_ID=\"${GIT_COMMIT_ID}\")
5561
endif()
5662

63+
if(WITH_TECO_PADDLE_VERSION)
64+
add_definitions(-DTECO_PADDLE_VERSION=\"${PLUGIN_VERSION}\")
65+
endif()
66+
5767
if(WITH_PADDLE_INFO)
5868
get_paddle_info(PADDLE_COMMIT_ID PADDLE_FULL_VERSION PADDLE_BUILD_ENV_PATH)
5969
add_definitions(-DPADDLE_COMMIT_ID=\"${PADDLE_COMMIT_ID}\")
@@ -95,7 +105,8 @@ target_link_libraries(${VERSION_DUMP_TARGET} PRIVATE ${TCCL_LIB})
95105
target_link_libraries(${VERSION_DUMP_TARGET} PRIVATE ${SDAA_LIB})
96106
target_link_libraries(${VERSION_DUMP_TARGET} PRIVATE ${TECODNN_LIB})
97107
target_link_libraries(${VERSION_DUMP_TARGET} PRIVATE ${TBLAS_LIB})
98-
target_link_libraries(${VERSION_DUMP_TARGET} PRIVATE ${TECODNN_CUSTOM_LIB})
108+
target_link_libraries(${VERSION_DUMP_TARGET} PRIVATE ${TECOCUSTOM_EXT_LIB})
109+
target_link_libraries(${VERSION_DUMP_TARGET} PRIVATE ${TECOCUSTOM_LIB})
99110

100111
add_custom_command(
101112
TARGET ${VERSION_DUMP_TARGET}
@@ -114,6 +125,8 @@ set_target_properties(
114125
target_include_directories(${PLUGIN_NAME} PRIVATE ${PADDLE_SDAA_TOOLS_DIR})
115126

116127
# link third_party
128+
include(third_party)
129+
add_dependencies(${VERSION_DUMP_TARGET} third_party)
117130
add_dependencies(${PLUGIN_NAME} third_party)
118131
target_link_libraries(${PLUGIN_NAME} PRIVATE gflags glog)
119132

@@ -127,7 +140,8 @@ target_link_libraries(${PLUGIN_NAME} PRIVATE ${PADDLE_CORE_LIB})
127140
target_link_libraries(${PLUGIN_NAME} PRIVATE ${TBLAS_LIB})
128141
target_link_libraries(${PLUGIN_NAME} PRIVATE stdc++fs)
129142
target_link_libraries(${PLUGIN_NAME} PRIVATE ${TCCL_LIB})
130-
target_link_libraries(${PLUGIN_NAME} PRIVATE ${TECODNN_CUSTOM_LIB})
143+
target_link_libraries(${PLUGIN_NAME} PRIVATE ${TECOCUSTOM_EXT_LIB})
144+
target_link_libraries(${PLUGIN_NAME} PRIVATE ${TECOCUSTOM_LIB})
131145

132146
# testing
133147
if(WITH_TESTING)

backends/sdaa/README.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,28 @@ Please refer to the following steps to compile, install and verify the custom de
88

99
| Module | Version |
1010
| --------- | -------- |
11-
| TecoDriver | 1.1.0 |
12-
| TecoToolkit | 1.1.0 |
11+
| TecoDriver | 2.0.2 |
12+
| TecoToolkit | 2.0.2 |
1313

1414
## Prepare environment and source code
1515
```bash
1616
# 1. pull PaddlePaddle Tecorigin SDAA development docker image
17-
wget http://mirrors.tecorigin.com/repository/teco-docker-tar-repo/release/ubuntu22.04/x86_64/1.1.0/paddle-1.1.0-paddle_sdaa1.1.0.tar
18-
docker load < paddle-1.1.0-paddle_sdaa1.1.0.tar
17+
wget http://mirrors.tecorigin.com/repository/teco-docker-tar-repo/release/ubuntu22.04/x86_64/2.0.2/paddle-2.0.2-paddle_sdaa2.0.2.tar
18+
docker load < paddle-2.0.2-paddle_sdaa2.0.2.tar
1919

2020
# 2. refer to the following commands to start docker container and activate conda environment (PaddlePaddle framwork has been installed in the conda environment)
2121
docker run -it --name="paddle_sdaa_dev" --net=host -v $(pwd):/work \
2222
--device=/dev/tcaicard0 --device=/dev/tcaicard1 \
2323
--device=/dev/tcaicard2 --device=/dev/tcaicard3 \
2424
--cap-add SYS_PTRACE --cap-add SYS_ADMIN --shm-size 64g \
25-
jfrog.tecorigin.net/tecotp-docker/release/ubuntu22.04/x86_64/paddle:1.1.0-paddle_sdaa1.1.0 /bin/bash
25+
jfrog.tecorigin.net/tecotp-docker/release/ubuntu22.04/x86_64/paddle:2.0.2-paddle_sdaa2.0.2 /bin/bash
2626

27-
conda activate paddle_env
27+
conda activate paddle_env_py310
2828

29-
# 3. clone the source code
29+
# 3. install paddlepaddle main framework
30+
python -m pip install --pre paddlepaddle -i https://www.paddlepaddle.org.cn/packages/nightly/cpu/ --force-reinstall
31+
32+
# 4. clone the source code
3033
git clone https://github.com/PaddlePaddle/PaddleCustomDevice
3134
cd PaddleCustomDevice
3235
```

backends/sdaa/README_cn.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,28 @@
88

99
| 组件 | 版本 |
1010
| --------- | -------- |
11-
| TecoDriver | 1.1.0 |
12-
| TecoToolkit | 1.1.0 |
11+
| TecoDriver | 2.0.2 |
12+
| TecoToolkit | 2.0.2 |
1313

1414
## 环境准备与源码同步
1515
```bash
1616
# 1. 拉取开发镜像
17-
wget http://mirrors.tecorigin.com/repository/teco-docker-tar-repo/release/ubuntu22.04/x86_64/1.1.0/paddle-1.1.0-paddle_sdaa1.1.0.tar
18-
docker load < paddle-1.1.0-paddle_sdaa1.1.0.tar
17+
wget http://mirrors.tecorigin.com/repository/teco-docker-tar-repo/release/ubuntu22.04/x86_64/2.0.2/paddle-2.0.2-paddle_sdaa2.0.2.tar
18+
docker load < paddle-2.0.2-paddle_sdaa2.0.2.tar
1919

2020
# 2. 参考如下命令启动容器并激活 conda 环境(conda 环境中已安装 PaddlePaddle 主框架)
2121
docker run -it --name="paddle_sdaa_dev" --net=host -v $(pwd):/work \
2222
--device=/dev/tcaicard0 --device=/dev/tcaicard1 \
2323
--device=/dev/tcaicard2 --device=/dev/tcaicard3 \
2424
--cap-add SYS_PTRACE --cap-add SYS_ADMIN --shm-size 64g \
25-
jfrog.tecorigin.net/tecotp-docker/release/ubuntu22.04/x86_64/paddle:1.1.0-paddle_sdaa1.1.0 /bin/bash
25+
jfrog.tecorigin.net/tecotp-docker/release/ubuntu22.04/x86_64/paddle:2.0.2-paddle_sdaa2.0.2 /bin/bash
2626

27-
conda activate paddle_env
27+
conda activate paddle_env_py310
2828

29-
# 3. 克隆 PaddleCustomDevice 源码
29+
# 3. 安装 paddlepaddle 主框架
30+
python -m pip install --pre paddlepaddle -i https://www.paddlepaddle.org.cn/packages/nightly/cpu/ --force-reinstall
31+
32+
# 4. 克隆 PaddleCustomDevice 源码
3033
git clone https://github.com/PaddlePaddle/PaddleCustomDevice
3134
cd PaddleCustomDevice
3235
```

backends/sdaa/cmake/external/mkldnn.cmake

Lines changed: 0 additions & 142 deletions
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../cmake/external/onednn.cmake

backends/sdaa/cmake/teco.cmake

Lines changed: 44 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -70,36 +70,65 @@ endif()
7070

7171
include_directories(${TBLAS_INC})
7272

73-
if(NOT DEFINED ENV{TECODNN_CUSTOM_ROOT})
73+
if(NOT DEFINED ENV{TECOCUSTOM_EXT_ROOT})
7474
message(
7575
FATAL
76-
"Cannot find tecodnn-custom Library, please set TECODNN_CUSTOM_ROOT correctly."
76+
"Cannot find tecocustom-ext Library, please set TECOCUSTOM_EXT_ROOT correctly."
7777
)
7878
endif()
79-
set(TECODNN_CUSTOM_PATH $ENV{TECODNN_CUSTOM_ROOT})
79+
set(TECOCUSTOM_EXT_PATH $ENV{TECOCUSTOM_EXT_ROOT})
8080

8181
find_path(
82-
TECODNN_CUSTOM_INC
82+
TECOCUSTOM_EXT_INC
8383
NAMES "tecodnn_custom.h"
84-
PATHS ${TECODNN_CUSTOM_PATH}/include
84+
PATHS ${TECOCUSTOM_EXT_PATH}/include
8585
NO_DEFAULT_PATH)
8686
find_library(
87-
TECODNN_CUSTOM_LIB
87+
TECOCUSTOM_EXT_LIB
8888
NAMES "tecodnn_ext"
89-
PATHS ${TECODNN_CUSTOM_PATH}/lib64
89+
PATHS ${TECOCUSTOM_EXT_PATH}/lib64
9090
NO_DEFAULT_PATH)
9191

92-
if(TECODNN_CUSTOM_INC AND TECODNN_CUSTOM_LIB)
93-
message(STATUS "Found TECODNN_CUSTOM_INC: ${TECODNN_CUSTOM_INC}")
94-
message(STATUS "Found TECODNN_CUSTOM_LIB: ${TECODNN_CUSTOM_LIB}")
95-
elseif(NOT TECODNN_CUSTOM_INC)
92+
if(TECOCUSTOM_EXT_INC AND TECOCUSTOM_EXT_LIB)
93+
message(STATUS "Found TECOCUSTOM_EXT_INC: ${TECOCUSTOM_EXT_INC}")
94+
message(STATUS "Found TECOCUSTOM_EXT_LIB: ${TECOCUSTOM_EXT_LIB}")
95+
elseif(NOT TECOCUSTOM_EXT_INC)
9696
message(FATAL
97-
"Cannot find tecodnn_custom.h in ${TECODNN_CUSTOM_PATH}/include")
98-
elseif(NOT TECODNN_CUSTOM_LIB)
99-
message(FATAL "Cannot find libtecodnn_ext in ${TECODNN_CUSTOM_PATH}/lib")
97+
"Cannot find tecodnn_custom.h in ${TECOCUSTOM_EXT_PATH}/include")
98+
elseif(NOT TECOCUSTOM_EXT_LIB)
99+
message(FATAL "Cannot find libtecodnn_ext in ${TECOCUSTOM_EXT_PATH}/lib")
100100
endif()
101101

102-
include_directories(${TECODNN_CUSTOM_INC})
102+
include_directories(${TECOCUSTOM_EXT_INC})
103+
104+
if(NOT DEFINED ENV{TECOCUSTOM_ROOT})
105+
message(
106+
FATAL
107+
"Cannot find tecocustom Library, please set TECOCUSTOM_ROOT correctly.")
108+
endif()
109+
set(TECOCUSTOM_PATH $ENV{TECOCUSTOM_ROOT})
110+
111+
find_path(
112+
TECOCUSTOM_INC
113+
NAMES "tecocustom.h"
114+
PATHS ${TECOCUSTOM_PATH}/include
115+
NO_DEFAULT_PATH)
116+
find_library(
117+
TECOCUSTOM_LIB
118+
NAMES "tecocustom"
119+
PATHS ${TECOCUSTOM_PATH}/lib64
120+
NO_DEFAULT_PATH)
121+
122+
if(TECOCUSTOM_INC AND TECOCUSTOM_LIB)
123+
message(STATUS "Found TECOCUSTOM_INC: ${TECOCUSTOM_INC}")
124+
message(STATUS "Found TECOCUSTOM_LIB: ${TECOCUSTOM_LIB}")
125+
elseif(NOT TECOCUSTOM_INC)
126+
message(FATAL "Cannot find tecocustom.h in ${TECOCUSTOM_PATH}/include")
127+
elseif(NOT TECOCUSTOM_LIB)
128+
message(FATAL "Cannot find libtecocustom in ${TECOCUSTOM_PATH}/lib")
129+
endif()
130+
131+
include_directories(${TECOCUSTOM_INC})
103132

104133
if(NOT DEFINED ENV{SDPTI_ROOT})
105134
message(FATAL "Cannot find SDPTI_ROOT, please set SDPTI_ROOT correctly.")

backends/sdaa/cmake/third_party.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ if(WITH_TESTING)
5555
endif()
5656

5757
if(WITH_MKLDNN AND NOT WITH_ARM)
58-
check_update_submodule(mkldnn)
59-
include(external/mkldnn) # mkldnn
60-
list(APPEND third_party_deps extern_mkldnn)
58+
check_update_submodule(onednn)
59+
include(external/onednn) # mkldnn
60+
list(APPEND third_party_deps extern_onednn)
6161
endif()
6262

6363
include(external/tabulate) # tabulate

0 commit comments

Comments
 (0)