diff --git a/cmake/external/lapack.cmake b/cmake/external/lapack.cmake index 2865dabdaccce2..64c71f03b94bc9 100644 --- a/cmake/external/lapack.cmake +++ b/cmake/external/lapack.cmake @@ -23,14 +23,24 @@ set(LAPACK_LIB_DIR ${LAPACK_INSTALL_DIR}/lib) # Note(zhouwei): lapack need fortran compiler which many machines don't have, so use precompiled library. # use lapack tag v3.10.0 on 06/28/2021 https://github.com/Reference-LAPACK/lapack if(LINUX) - set(LAPACK_FILE - "lapack_lnx_v3.10.0.20210628.tar.gz" - CACHE STRING "" FORCE) - set(LAPACK_URL - "https://paddlepaddledeps.bj.bcebos.com/${LAPACK_FILE}" - CACHE STRING "" FORCE) - set(LAPACK_URL_MD5 71f8cc8237a8571692f3e07f9a4f25f6) - set(GNU_RT_LIB_1 "${LAPACK_LIB_DIR}/libquadmath.so.0") + if(WITH_ARM) + set(LAPACK_FILE + "lapack_lnx_arm64_v3.10.0.20260720.tar.gz" + CACHE STRING "" FORCE) + set(LAPACK_URL + "https://paddlepaddledeps.cdn.bcebos.com/${LAPACK_FILE}" + CACHE STRING "" FORCE) + set(LAPACK_URL_MD5 c23e6389dc5309bd29111bf6836f4d55) + else() + set(LAPACK_FILE + "lapack_lnx_v3.10.0.20210628.tar.gz" + CACHE STRING "" FORCE) + set(LAPACK_URL + "https://paddlepaddledeps.bj.bcebos.com/${LAPACK_FILE}" + CACHE STRING "" FORCE) + set(LAPACK_URL_MD5 71f8cc8237a8571692f3e07f9a4f25f6) + set(GNU_RT_LIB_1 "${LAPACK_LIB_DIR}/libquadmath.so.0") + endif() set(GFORTRAN_LIB "${LAPACK_LIB_DIR}/libgfortran.so.3") set(BLAS_LIB "${LAPACK_LIB_DIR}/libblas.so.3") set(LAPACK_LIB "${LAPACK_LIB_DIR}/liblapack.so.3") diff --git a/python/setup.py.in b/python/setup.py.in index f70bfa3441d73d..d1e0e34725082c 100644 --- a/python/setup.py.in +++ b/python/setup.py.in @@ -1232,12 +1232,14 @@ shutil.copy('${WARPRNNT_LIBRARIES}', libs_path) package_data['paddle.libs']+=[ os.path.basename('${LAPACK_LIB}'), os.path.basename('${BLAS_LIB}'), - os.path.basename('${GFORTRAN_LIB}'), - os.path.basename('${GNU_RT_LIB_1}')] + os.path.basename('${GFORTRAN_LIB}')] shutil.copy('${BLAS_LIB}', libs_path) shutil.copy('${LAPACK_LIB}', libs_path) shutil.copy('${GFORTRAN_LIB}', libs_path) -shutil.copy('${GNU_RT_LIB_1}', libs_path) +if len('${GNU_RT_LIB_1}') > 1: + package_data['paddle.libs'] += [ + os.path.basename('${GNU_RT_LIB_1}')] + shutil.copy('${GNU_RT_LIB_1}', libs_path) if('${WITH_MAGMA}' == 'ON'): package_data['paddle.libs']+=[ os.path.basename('${MAGMA_LIB}')] diff --git a/setup.py b/setup.py index 711bbacc6cffeb..698619c4d39416 100644 --- a/setup.py +++ b/setup.py @@ -1589,12 +1589,15 @@ def get_package_data_and_package_dir(): os.path.basename(env_dict.get("LAPACK_LIB")), os.path.basename(env_dict.get("BLAS_LIB")), os.path.basename(env_dict.get("GFORTRAN_LIB")), - os.path.basename(env_dict.get("GNU_RT_LIB_1")), ] shutil.copy(env_dict.get("BLAS_LIB"), libs_path) shutil.copy(env_dict.get("LAPACK_LIB"), libs_path) shutil.copy(env_dict.get("GFORTRAN_LIB"), libs_path) - shutil.copy(env_dict.get("GNU_RT_LIB_1"), libs_path) + if env_dict.get("GNU_RT_LIB_1"): + package_data['paddle.libs'] += [ + os.path.basename(env_dict.get("GNU_RT_LIB_1")) + ] + shutil.copy(env_dict.get("GNU_RT_LIB_1"), libs_path) if env_dict.get("WITH_MAGMA") == 'ON': package_data['paddle.libs'] += [ os.path.basename('MAGMA_LIB'),