Skip to content

Commit

Permalink
[XPU] bump XCCL to 3.0.1.1 (PaddlePaddle#69752)
Browse files Browse the repository at this point in the history
* [XPU] bump XCCL to 3.0.1.1

* fix

* fix

* fix
  • Loading branch information
dynamicheart authored Nov 28, 2024
1 parent d684a95 commit dc1f0eb
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 9 deletions.
22 changes: 13 additions & 9 deletions cmake/external/xpu.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ set(XPU_API_LIB_NAME "libxpuapi.so")
set(XPU_RT_LIB_NAME "libxpurt.so")
set(XPU_CUDA_LIB_NAME "libxpucuda.so")
set(XPU_CUDA_RT_LIB_NAME "libcudart.so")
set(XPU_ML_LIB_NAME "libxpuml.so")
set(XPU_XFT_LIB_NAME "libxft.so")
set(XPU_XPTI_LIB_NAME "libxpti.so")
set(XPU_XBLAS_LIB_NAME "libxpu_blas.so")
Expand All @@ -31,7 +32,7 @@ set(XPU_XPUDNN_LIB_NAME "libxpu_dnn.so")
if(NOT DEFINED XPU_XHPC_BASE_DATE)
set(XPU_XHPC_BASE_DATE "dev/20241127")
endif()
set(XPU_XCCL_BASE_VERSION "3.0.0.5") # For XRE5
set(XPU_XCCL_BASE_VERSION "3.0.1.1") # For XRE5
if(NOT DEFINED XPU_XFT_BASE_VERSION)
set(XPU_XFT_BASE_VERSION "20230602")
endif()
Expand Down Expand Up @@ -146,6 +147,7 @@ set(XPU_XBLAS_LIB "${XPU_LIB_DIR}/${XPU_XBLAS_LIB_NAME}")
set(XPU_RT_LIB "${XPU_LIB_DIR}/${XPU_RT_LIB_NAME}")
set(XPU_CUDA_LIB "${XPU_LIB_DIR}/${XPU_CUDA_LIB_NAME}")
set(XPU_CUDA_RT_LIB "${XPU_LIB_DIR}/${XPU_CUDA_RT_LIB_NAME}")
set(XPU_ML_LIB "${XPU_LIB_DIR}/${XPU_ML_LIB_NAME}")
set(XPU_XFA_LIB "${XPU_LIB_DIR}/${XPU_XFA_LIB_NAME}")
set(XPU_XPUDNN_LIB "${XPU_LIB_DIR}/${XPU_XPUDNN_LIB_NAME}")

Expand Down Expand Up @@ -190,6 +192,7 @@ if(WITH_XPU_XRE5)
BUILD_BYPRODUCTS ${XPU_XFA_LIB}
BUILD_BYPRODUCTS ${XPU_RT_LIB}
BUILD_BYPRODUCTS ${XPU_CUDA_RT_LIB}
BUILD_BYPRODUCTS ${XPU_ML_LIB}
BUILD_BYPRODUCTS ${XPU_BKCL_LIB})
else()
ExternalProject_Add(
Expand Down Expand Up @@ -221,12 +224,6 @@ set_property(TARGET shared_xpuapi PROPERTY IMPORTED_LOCATION "${XPU_API_LIB}")
# for cc_library(xxx SRCS xxx.c DEPS xpulib)
generate_dummy_static_lib(LIB_NAME "xpulib" GENERATOR "xpu.cmake")

if(WITH_XPU_XRE5)
target_link_libraries(xpulib ${XPU_API_LIB} ${XPU_RT_LIB} ${XPU_CUDA_RT_LIB})
else()
target_link_libraries(xpulib ${XPU_API_LIB} ${XPU_RT_LIB})
endif()

if(WITH_XPU_XFT)
message(STATUS "Compile with XPU XFT!")
add_definitions(-DPADDLE_WITH_XPU_XFT)
Expand Down Expand Up @@ -272,13 +269,20 @@ if(WITH_XPU_XRE5)
xpulib
${XPU_RT_LIB}
${XPU_CUDA_RT_LIB}
${XPU_BKCL_LIB}
${XPU_XBLAS_LIB}
${XPU_API_LIB}
${XPU_XFA_LIB}
${XPU_XPUDNN_LIB})
else()
target_link_libraries(xpulib ${XPU_RT_LIB} ${XPU_BKCL_LIB} ${XPU_API_LIB})
target_link_libraries(xpulib ${XPU_RT_LIB} ${XPU_API_LIB})
endif()

if(WITH_XPU_BKCL)
if(WITH_XPU_XRE5)
target_link_libraries(xpulib ${XPU_ML_LIB} ${XPU_BKCL_LIB})
else()
target_link_libraries(xpulib ${XPU_BKCL_LIB})
endif()
endif()

add_dependencies(xpulib ${XPU_PROJECT})
Expand Down
2 changes: 2 additions & 0 deletions python/env_dict.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ env_dict={
'WITH_XPU_XRE5':'@WITH_XPU_XRE5@',
'XPU_CUDA_RT_LIB':'@XPU_CUDA_RT_LIB@',
'XPU_CUDA_RT_LIB_NAME':'@XPU_CUDA_RT_LIB_NAME@',
'XPU_ML_LIB':'@XPU_ML_LIB@',
'XPU_ML_LIB_NAME':'@XPU_ML_LIB_NAME@',
'WITH_XPU_BKCL':'@WITH_XPU_BKCL@',
'XPU_BKCL_LIB':'@XPU_BKCL_LIB@',
'XPU_BKCL_LIB_NAME':'@XPU_BKCL_LIB_NAME@',
Expand Down
4 changes: 4 additions & 0 deletions python/setup.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -1027,6 +1027,10 @@ if '${WITH_XPU}' == 'ON':
for xpu_cuda_rt_lib_file in xpu_cuda_rt_lib_list:
shutil.copy(xpu_cuda_rt_lib_file, libs_path)
package_data['paddle.libs'] += [os.path.basename(xpu_cuda_rt_lib_file)]
xpu_ml_lib_list = glob.glob('${XPU_ML_LIB}*')
for xpu_ml_lib_file in xpu_ml_lib_list:
shutil.copy(xpu_ml_lib_file, libs_path)
package_data['paddle.libs'] += [os.path.basename(xpu_ml_lib_file)]
shutil.copy('${XPU_XBLAS_LIB}', libs_path)
package_data['paddle.libs'] += ['${XPU_XBLAS_LIB_NAME}']
shutil.copy('${XPU_XFA_LIB}', libs_path)
Expand Down
6 changes: 6 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -1482,6 +1482,12 @@ def get_package_data_and_package_dir():
package_data['paddle.libs'] += [
os.path.basename(xpu_cuda_rt_lib_file)
]
xpu_ml_lib_list = glob.glob(env_dict.get("XPU_ML_LIB") + '*')
for xpu_ml_lib_file in xpu_ml_lib_list:
shutil.copy(xpu_ml_lib_file, libs_path)
package_data['paddle.libs'] += [
os.path.basename(xpu_ml_lib_file)
]
shutil.copy(env_dict.get("XPU_XBLAS_LIB"), libs_path)
package_data['paddle.libs'] += [env_dict.get("XPU_XBLAS_LIB_NAME")]
shutil.copy(env_dict.get("XPU_XFA_LIB"), libs_path)
Expand Down
3 changes: 3 additions & 0 deletions tools/xpu/pack_paddle_dependence.sh
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ function xre_prepare() {
check_files ${XRE_DIR_NAME}/include/xpu/runtime.h ${XRE_DIR_NAME}/so/libxpurt.so
if [ "$WITH_XPU_XRE5" -eq 1 ]; then
check_files ${XRE_DIR_NAME}/so/libcudart.so
check_files ${XRE_DIR_NAME}/so/libxpuml.so
fi
cp -r ${XRE_DIR_NAME}/include/xpu/* xpu/include/xpu/
cp -r ${XRE_DIR_NAME}/so/* xpu/lib/
Expand Down Expand Up @@ -94,6 +95,8 @@ function xccl_prepare() {
check_files ${XCCL_DIR_NAME}/include/bkcl.h ${XCCL_DIR_NAME}/so/libbkcl.so
cp -r ${XCCL_DIR_NAME}/include/* xpu/include/xpu/
cp -r ${XCCL_DIR_NAME}/so/* xpu/lib/
# FIXME(yangjianbang): 待bkcl增加RPATH后, 删除以下代码
patchelf --set-rpath '$ORIGIN/' xpu/lib/libbkcl.so
}

function local_prepare() {
Expand Down

0 comments on commit dc1f0eb

Please sign in to comment.