Skip to content

Commit dc1f0eb

Browse files
authored
[XPU] bump XCCL to 3.0.1.1 (PaddlePaddle#69752)
* [XPU] bump XCCL to 3.0.1.1 * fix * fix * fix
1 parent d684a95 commit dc1f0eb

File tree

5 files changed

+28
-9
lines changed

5 files changed

+28
-9
lines changed

cmake/external/xpu.cmake

+13-9
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ set(XPU_API_LIB_NAME "libxpuapi.so")
2222
set(XPU_RT_LIB_NAME "libxpurt.so")
2323
set(XPU_CUDA_LIB_NAME "libxpucuda.so")
2424
set(XPU_CUDA_RT_LIB_NAME "libcudart.so")
25+
set(XPU_ML_LIB_NAME "libxpuml.so")
2526
set(XPU_XFT_LIB_NAME "libxft.so")
2627
set(XPU_XPTI_LIB_NAME "libxpti.so")
2728
set(XPU_XBLAS_LIB_NAME "libxpu_blas.so")
@@ -31,7 +32,7 @@ set(XPU_XPUDNN_LIB_NAME "libxpu_dnn.so")
3132
if(NOT DEFINED XPU_XHPC_BASE_DATE)
3233
set(XPU_XHPC_BASE_DATE "dev/20241127")
3334
endif()
34-
set(XPU_XCCL_BASE_VERSION "3.0.0.5") # For XRE5
35+
set(XPU_XCCL_BASE_VERSION "3.0.1.1") # For XRE5
3536
if(NOT DEFINED XPU_XFT_BASE_VERSION)
3637
set(XPU_XFT_BASE_VERSION "20230602")
3738
endif()
@@ -146,6 +147,7 @@ set(XPU_XBLAS_LIB "${XPU_LIB_DIR}/${XPU_XBLAS_LIB_NAME}")
146147
set(XPU_RT_LIB "${XPU_LIB_DIR}/${XPU_RT_LIB_NAME}")
147148
set(XPU_CUDA_LIB "${XPU_LIB_DIR}/${XPU_CUDA_LIB_NAME}")
148149
set(XPU_CUDA_RT_LIB "${XPU_LIB_DIR}/${XPU_CUDA_RT_LIB_NAME}")
150+
set(XPU_ML_LIB "${XPU_LIB_DIR}/${XPU_ML_LIB_NAME}")
149151
set(XPU_XFA_LIB "${XPU_LIB_DIR}/${XPU_XFA_LIB_NAME}")
150152
set(XPU_XPUDNN_LIB "${XPU_LIB_DIR}/${XPU_XPUDNN_LIB_NAME}")
151153

@@ -190,6 +192,7 @@ if(WITH_XPU_XRE5)
190192
BUILD_BYPRODUCTS ${XPU_XFA_LIB}
191193
BUILD_BYPRODUCTS ${XPU_RT_LIB}
192194
BUILD_BYPRODUCTS ${XPU_CUDA_RT_LIB}
195+
BUILD_BYPRODUCTS ${XPU_ML_LIB}
193196
BUILD_BYPRODUCTS ${XPU_BKCL_LIB})
194197
else()
195198
ExternalProject_Add(
@@ -221,12 +224,6 @@ set_property(TARGET shared_xpuapi PROPERTY IMPORTED_LOCATION "${XPU_API_LIB}")
221224
# for cc_library(xxx SRCS xxx.c DEPS xpulib)
222225
generate_dummy_static_lib(LIB_NAME "xpulib" GENERATOR "xpu.cmake")
223226

224-
if(WITH_XPU_XRE5)
225-
target_link_libraries(xpulib ${XPU_API_LIB} ${XPU_RT_LIB} ${XPU_CUDA_RT_LIB})
226-
else()
227-
target_link_libraries(xpulib ${XPU_API_LIB} ${XPU_RT_LIB})
228-
endif()
229-
230227
if(WITH_XPU_XFT)
231228
message(STATUS "Compile with XPU XFT!")
232229
add_definitions(-DPADDLE_WITH_XPU_XFT)
@@ -272,13 +269,20 @@ if(WITH_XPU_XRE5)
272269
xpulib
273270
${XPU_RT_LIB}
274271
${XPU_CUDA_RT_LIB}
275-
${XPU_BKCL_LIB}
276272
${XPU_XBLAS_LIB}
277273
${XPU_API_LIB}
278274
${XPU_XFA_LIB}
279275
${XPU_XPUDNN_LIB})
280276
else()
281-
target_link_libraries(xpulib ${XPU_RT_LIB} ${XPU_BKCL_LIB} ${XPU_API_LIB})
277+
target_link_libraries(xpulib ${XPU_RT_LIB} ${XPU_API_LIB})
278+
endif()
279+
280+
if(WITH_XPU_BKCL)
281+
if(WITH_XPU_XRE5)
282+
target_link_libraries(xpulib ${XPU_ML_LIB} ${XPU_BKCL_LIB})
283+
else()
284+
target_link_libraries(xpulib ${XPU_BKCL_LIB})
285+
endif()
282286
endif()
283287

284288
add_dependencies(xpulib ${XPU_PROJECT})

python/env_dict.py.in

+2
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ env_dict={
6565
'WITH_XPU_XRE5':'@WITH_XPU_XRE5@',
6666
'XPU_CUDA_RT_LIB':'@XPU_CUDA_RT_LIB@',
6767
'XPU_CUDA_RT_LIB_NAME':'@XPU_CUDA_RT_LIB_NAME@',
68+
'XPU_ML_LIB':'@XPU_ML_LIB@',
69+
'XPU_ML_LIB_NAME':'@XPU_ML_LIB_NAME@',
6870
'WITH_XPU_BKCL':'@WITH_XPU_BKCL@',
6971
'XPU_BKCL_LIB':'@XPU_BKCL_LIB@',
7072
'XPU_BKCL_LIB_NAME':'@XPU_BKCL_LIB_NAME@',

python/setup.py.in

+4
Original file line numberDiff line numberDiff line change
@@ -1027,6 +1027,10 @@ if '${WITH_XPU}' == 'ON':
10271027
for xpu_cuda_rt_lib_file in xpu_cuda_rt_lib_list:
10281028
shutil.copy(xpu_cuda_rt_lib_file, libs_path)
10291029
package_data['paddle.libs'] += [os.path.basename(xpu_cuda_rt_lib_file)]
1030+
xpu_ml_lib_list = glob.glob('${XPU_ML_LIB}*')
1031+
for xpu_ml_lib_file in xpu_ml_lib_list:
1032+
shutil.copy(xpu_ml_lib_file, libs_path)
1033+
package_data['paddle.libs'] += [os.path.basename(xpu_ml_lib_file)]
10301034
shutil.copy('${XPU_XBLAS_LIB}', libs_path)
10311035
package_data['paddle.libs'] += ['${XPU_XBLAS_LIB_NAME}']
10321036
shutil.copy('${XPU_XFA_LIB}', libs_path)

setup.py

+6
Original file line numberDiff line numberDiff line change
@@ -1482,6 +1482,12 @@ def get_package_data_and_package_dir():
14821482
package_data['paddle.libs'] += [
14831483
os.path.basename(xpu_cuda_rt_lib_file)
14841484
]
1485+
xpu_ml_lib_list = glob.glob(env_dict.get("XPU_ML_LIB") + '*')
1486+
for xpu_ml_lib_file in xpu_ml_lib_list:
1487+
shutil.copy(xpu_ml_lib_file, libs_path)
1488+
package_data['paddle.libs'] += [
1489+
os.path.basename(xpu_ml_lib_file)
1490+
]
14851491
shutil.copy(env_dict.get("XPU_XBLAS_LIB"), libs_path)
14861492
package_data['paddle.libs'] += [env_dict.get("XPU_XBLAS_LIB_NAME")]
14871493
shutil.copy(env_dict.get("XPU_XFA_LIB"), libs_path)

tools/xpu/pack_paddle_dependence.sh

+3
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ function xre_prepare() {
6464
check_files ${XRE_DIR_NAME}/include/xpu/runtime.h ${XRE_DIR_NAME}/so/libxpurt.so
6565
if [ "$WITH_XPU_XRE5" -eq 1 ]; then
6666
check_files ${XRE_DIR_NAME}/so/libcudart.so
67+
check_files ${XRE_DIR_NAME}/so/libxpuml.so
6768
fi
6869
cp -r ${XRE_DIR_NAME}/include/xpu/* xpu/include/xpu/
6970
cp -r ${XRE_DIR_NAME}/so/* xpu/lib/
@@ -94,6 +95,8 @@ function xccl_prepare() {
9495
check_files ${XCCL_DIR_NAME}/include/bkcl.h ${XCCL_DIR_NAME}/so/libbkcl.so
9596
cp -r ${XCCL_DIR_NAME}/include/* xpu/include/xpu/
9697
cp -r ${XCCL_DIR_NAME}/so/* xpu/lib/
98+
# FIXME(yangjianbang): 待bkcl增加RPATH后, 删除以下代码
99+
patchelf --set-rpath '$ORIGIN/' xpu/lib/libbkcl.so
97100
}
98101

99102
function local_prepare() {

0 commit comments

Comments
 (0)