include(ExternalProject) cc_library( memory_block SRCS memory_block.cc memory_block_desc.cc meta_cache.cc DEPS place) if(WITH_GPU) nv_library( system_allocator SRCS system_allocator.cc DEPS gflags cpu_info gpu_info place) elseif(WITH_ROCM) hip_library( system_allocator SRCS system_allocator.cc DEPS gflags cpu_info gpu_info place) elseif(${WITH_ASCEND_CL}) cc_library( system_allocator SRCS system_allocator.cc DEPS gflags cpu_info npu_info place) elseif(WITH_MLU) cc_library( system_allocator SRCS system_allocator.cc DEPS gflags cpu_info mlu_info place) else() cc_library( system_allocator SRCS system_allocator.cc DEPS gflags cpu_info place) endif() cc_test( system_allocator_test SRCS system_allocator_test.cc DEPS system_allocator) cc_library( buddy_allocator SRCS buddy_allocator.cc DEPS memory_block system_allocator glog) cc_test( buddy_allocator_test SRCS buddy_allocator_test.cc DEPS buddy_allocator) function(file_download_and_uncompress URL NAME) message(STATUS "Download dependence[${NAME}] from ${URL}") set(${NAME}_INCLUDE_DIR ${THIRD_PARTY_PATH}/${NAME} PARENT_SCOPE) ExternalProject_Add( extern_download_${NAME} ${EXTERNAL_PROJECT_LOG_ARGS} PREFIX ${THIRD_PARTY_PATH}/${NAME} URL ${URL} DOWNLOAD_DIR ${THIRD_PARTY_PATH}/${NAME} SOURCE_DIR ${THIRD_PARTY_PATH}/${NAME} DOWNLOAD_NO_PROGRESS 1 CONFIGURE_COMMAND "" BUILD_COMMAND "" UPDATE_COMMAND "" INSTALL_COMMAND "") set(third_party_deps ${third_party_deps} extern_download_${NAME} PARENT_SCOPE) endfunction() if(WITH_TESTING) if(TEST buddy_allocator_test) set_tests_properties(buddy_allocator_test PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE") endif() set(URL "https://paddle-ci.cdn.bcebos.com/buddy_allocator_test_data.tar") file_download_and_uncompress(URL "buddy_allocator") endif()