cmake_minimum_required(VERSION 3.16.0)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(HCOMM_ALG_TC_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/testcase)
set(HCOMM_ALG_UTILS_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/utils)
set(HCOMM_CODE_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
set(HCOMM_CODE_COMMON ${HCOMM_CODE_ROOT}/src/legacy/ascend910/common)
set(HCOMM_CODE_PLATFORM ${HCOMM_CODE_ROOT}/src/legacy/ascend910/platform)
set(HCOMM_CODE_ALGORITHM ${HCOMM_CODE_ROOT}/src/legacy/ascend910/algorithm)
set(HCOMM_CODE_FRAMEWORK ${HCOMM_CODE_ROOT}/src/legacy/ascend910/framework)
set(HCOMM_CODE_LEGACY ${HCOMM_CODE_ROOT}/src/legacy/ascend950)
set(PROTOC_PROGRAM ${HOST_PROTOC_PATH}/protoc)
set(ASCEND_CANN_INCLUDE_LIST
${ASCEND_CANN_PACKAGE_PATH}/pkg_inc
${ASCEND_CANN_PACKAGE_PATH}/pkg_inc/base
${ASCEND_CANN_PACKAGE_PATH}/pkg_inc/hccl
${ASCEND_CANN_PACKAGE_PATH}/pkg_inc/trace
${ASCEND_CANN_PACKAGE_PATH}/pkg_inc/runtime
${ASCEND_CANN_PACKAGE_PATH}/pkg_inc/profiling
${ASCEND_CANN_PACKAGE_PATH}/include
${ASCEND_CANN_PACKAGE_PATH}/include/driver
${ASCEND_CANN_PACKAGE_PATH}/include/mmpa
${ASCEND_CANN_PACKAGE_PATH}/include/toolchain
${ASCEND_CANN_PACKAGE_PATH}/include/experiment/metadef
${ASCEND_CANN_PACKAGE_PATH}/asc/include
${ASCEND_CANN_PACKAGE_PATH}/asc/include/basic_api
${ASCEND_CANN_PACKAGE_PATH}/asc/impl/basic_api
)
set(UTILS_PUBLIC_INCLUDE_LIST
${HCOMM_ALG_UTILS_ROOT}/inc
${HCOMM_ALG_UTILS_ROOT}/pub_inc
${HCOMM_ALG_UTILS_ROOT}/pub_inc/inc
${HCOMM_ALG_UTILS_ROOT}/pub_inc/checker
${HCOMM_ALG_UTILS_ROOT}/pub_inc/adapter_v1/aiv
${HCOMM_ALG_UTILS_ROOT}/pub_inc/adapter_v1/notify
${HCOMM_ALG_UTILS_ROOT}/pub_inc/adapter_v1/stream
${HCOMM_ALG_UTILS_ROOT}/pub_inc/adapter_v1/transport
)
set(HCOMM_PUBLIC_INCLUDE_LIST
${HCOMM_CODE_ROOT}
${HCOMM_CODE_ROOT}/include
${HCOMM_CODE_ROOT}/include/hccl
${HCOMM_CODE_ROOT}/src/legacy/ascend910/pub_inc
${HCOMM_CODE_ROOT}/src/legacy/ascend910/pub_inc/new
${HCOMM_CODE_ROOT}/src/legacy/ascend910/pub_inc/inner
${HCOMM_CODE_ROOT}/pub_inc
${HCOMM_CODE_ROOT}/pub_inc/hccl
${HCOMM_CODE_ROOT}/pkg_inc
${HCOMM_CODE_ROOT}/pkg_inc/hccl
${HCOMM_DIR}/src/legacy/ascend910/common/error_manager
)
set(HCOMM_PLATFORM_INCLUDE_LIST
${HCOMM_CODE_PLATFORM}
${HCOMM_CODE_PLATFORM}/inc
${HCOMM_CODE_PLATFORM}/inc/adapter
${HCOMM_CODE_PLATFORM}/inc/adapter/host
${HCOMM_CODE_PLATFORM}/common
${HCOMM_CODE_PLATFORM}/task/
${HCOMM_CODE_ROOT}/src/base_comm/resources/hccp/external_depends/inc/log
${HCOMM_CODE_ROOT}/src/base_comm/resources/hccp/inc/network/
)
set(HCOMM_COMMON_INCLUDE_LIST
${HCOMM_CODE_COMMON}/stream
${HCOMM_CODE_COMMON}/health
${HCOMM_CODE_COMMON}/launch_device
${HCOMM_CODE_COMMON}/debug/profiling
${HCOMM_CODE_COMMON}/debug/profiling/inc
${HCOMM_CODE_COMMON}/debug/profiling/inc/host
${HCOMM_CODE_COMMON}/debug/config
${HCOMM_CODE_COMMON}/debug/launch_device
)
set(HCOMM_ALGORITHM_INCLUDE_LIST
${HCOMM_CODE_ALGORITHM}/pub_inc
${HCOMM_CODE_ALGORITHM}/base
${HCOMM_CODE_ALGORITHM}/base/inc
${HCOMM_CODE_ALGORITHM}/base/communicator
${HCOMM_CODE_ALGORITHM}/base/communicator/legacy
${HCOMM_CODE_ALGORITHM}/base/alg_template
${HCOMM_CODE_ALGORITHM}/base/alg_template/component
${HCOMM_CODE_ALGORITHM}/base/alg_template/temp_all_gather
${HCOMM_CODE_ALGORITHM}/base/alg_template/temp_all_reduce
${HCOMM_CODE_ALGORITHM}/base/alg_template/temp_alltoall
${HCOMM_CODE_ALGORITHM}/base/alg_template/temp_alltoallv
${HCOMM_CODE_ALGORITHM}/base/alg_template/temp_reduce_scatter
${HCOMM_CODE_ALGORITHM}/base/alg_template/temp_reduce
${HCOMM_CODE_ALGORITHM}/base/alg_template/temp_scatter
${HCOMM_CODE_ALGORITHM}/base/alg_template/temp_broadcast
${HCOMM_CODE_ALGORITHM}/utils/inc
${HCOMM_CODE_ALGORITHM}/impl
${HCOMM_CODE_ALGORITHM}/impl/inc
${HCOMM_CODE_ALGORITHM}/impl/task
${HCOMM_CODE_ALGORITHM}/impl/legacy
${HCOMM_CODE_ALGORITHM}/impl/operator
${HCOMM_CODE_ALGORITHM}/impl/operator/registry
${HCOMM_CODE_ALGORITHM}/impl/coll_executor
${HCOMM_CODE_ALGORITHM}/impl/coll_executor/registry
${HCOMM_CODE_ALGORITHM}/impl/coll_executor/coll_all_gather
${HCOMM_CODE_ALGORITHM}/impl/coll_executor/coll_all_gather_v
${HCOMM_CODE_ALGORITHM}/impl/coll_executor/coll_all_reduce
${HCOMM_CODE_ALGORITHM}/impl/coll_executor/coll_all_to_all
${HCOMM_CODE_ALGORITHM}/impl/coll_executor/coll_broadcast
${HCOMM_CODE_ALGORITHM}/impl/coll_executor/coll_reduce
${HCOMM_CODE_ALGORITHM}/impl/coll_executor/coll_reduce_scatter
${HCOMM_CODE_ALGORITHM}/impl/coll_executor/coll_reduce_scatter_v
${HCOMM_CODE_ALGORITHM}/impl/coll_executor/coll_scatter
${HCOMM_CODE_ALGORITHM}/impl/coll_executor/coll_send_receive
${HCOMM_CODE_ALGORITHM}/impl/resource_manager
)
set(HCOMM_FRAMEWORK_INCLUDE_LIST
${HCOMM_CODE_FRAMEWORK}
${HCOMM_CODE_FRAMEWORK}/inc
${HCOMM_CODE_FRAMEWORK}/inc/host
${HCOMM_CODE_FRAMEWORK}/common/src
${HCOMM_CODE_FRAMEWORK}/common/src/mgr
${HCOMM_CODE_FRAMEWORK}/common/src/task
${HCOMM_CODE_FRAMEWORK}/common/src/topo
${HCOMM_CODE_FRAMEWORK}/common/src/config
${HCOMM_CODE_FRAMEWORK}/communicator/impl
${HCOMM_CODE_FRAMEWORK}/communicator/impl/resource_manager
${HCOMM_CODE_FRAMEWORK}/communicator/impl/independent_op
${HCOMM_CODE_FRAMEWORK}/communicator/impl/independent_op/channel
${HCOMM_CODE_FRAMEWORK}/communicator/impl/independent_op/resource/engine
${HCOMM_CODE_ROOT}/src/base_comm/resources/
${HCOMM_CODE_ROOT}/src/base_comm/resources/comm_engine_res/threads
${HCOMM_CODE_ROOT}/src/base_comm/resources/comm_engine_res/threads/device/
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/communicator
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/communicator/device
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/resource_mgr/local/my_rank
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/resource_mgr/remote/rank_pairs
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/dfx
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/dfx/profiling
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/dfx/profiling/aicpu
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/dfx/profiling/host
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/dfx/taskException
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/dfx/taskException/aicpu
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/dfx/taskException/host
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/rank_graphs
${HCOMM_CODE_FRAMEWORK}/device/framework
${HCOMM_CODE_ROOT}/src/base_comm/resources/endpoint_pairs/channels/slaves
${HCOMM_CODE_ROOT}/src/base_comm/resources/endpoint_pairs
${HCOMM_CODE_ROOT}/src/base_comm/resources/endpoint_pairs/channels
${HCOMM_CODE_ROOT}/src/base_comm/resources/endpoint_pairs/channels/aicpu/
${HCOMM_CODE_ROOT}/src/base_comm/resources/endpoint_pairs/sockets/
${HCOMM_CODE_ROOT}/src/base_comm/resources/endpoints/
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/resource_mgr/local/my_rank/endpoints
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/resource_mgr/local/my_rank/comm_mems
${HCOMM_CODE_ROOT}/src/coll_communicator_mgr/resource_mgr/local/my_rank/comm_engine_reses/engine_ctxs
${HCOMM_CODE_ROOT}/src/base_comm/resources/endpoints/dfx
${HCOMM_CODE_ROOT}/src/base_comm/resources/reged_mems/
${HCOMM_CODE_ROOT}/src/base_comm/resources/endpoint_pairs/
${HCOMM_CODE_ROOT}/src/base_comm/primitives/api_c_adpt/
${HCOMM_CODE_ROOT}/src/base_comm/common/
${HCOMM_CODE_ROOT}/src/base_comm/common/device
${HCOMM_CODE_ROOT}/src/legacy/ascend910/common/stream
${HCOMM_CODE_ROOT}/src/base_comm/resources/hccp/inc
${HCOMM_CODE_ROOT}/src/base_comm/resources/hccp/inc/network
${HCOMM_CODE_ROOT}/pkg_inc/hcomm/ccu/
${HCOMM_CODE_ROOT}/include/ccu
${HCOMM_CODE_ROOT}/src/base_comm/resources/ccu/southbound_adpt/
${HCOMM_CODE_ROOT}/src/base_comm/common/
${HCOMM_CODE_ROOT}/src/base_comm/resources/ccu/pub_inc/
${HCOMM_CODE_ROOT}/src/base_comm/resources/ccu/ccu_device/
${HCOMM_CODE_ROOT}/src/base_comm/resources/ccu/ccu_device/ccu_comp/
${HCOMM_CODE_ROOT}/src/base_comm/resources/ccu/ccu_device/ccu_comp/ccu_channel/
${HCOMM_CODE_ROOT}/src/base_comm/resources/ccu/ccu_device/ccu_comp/ccu_channel/ccu_pfe/
${HCOMM_CODE_ROOT}/src/base_comm/resources/ccu/ccu_device/ccu_comp/ccu_channel/ccu_channel_ctx_v1/
${HCOMM_CODE_ROOT}/src/base_comm/resources/ccu/ccu_transport/
${HCOMM_CODE_ROOT}/src/base_comm/resources/ccu/ccu_kernel/
${HCOMM_CODE_ROOT}/src/base_comm/resources/ccu/ccu_instance/
${HCOMM_DIR}/src/legacy/ascend910/common
)
set(HCOMM_LEGACY_INCLUDE_LIST
${HCOMM_CODE_LEGACY}
${HCOMM_CODE_LEGACY}/interface
${HCOMM_CODE_LEGACY}/common
${HCOMM_CODE_LEGACY}/common/utils
${HCOMM_CODE_LEGACY}/common/types
${HCOMM_CODE_LEGACY}/common/exception
${HCOMM_CODE_LEGACY}/framework/env_config
${HCOMM_CODE_LEGACY}/framework/misc/json_parser
${HCOMM_CODE_LEGACY}/framework/communicator
${HCOMM_CODE_LEGACY}/framework/communicator/aicpu
${HCOMM_CODE_LEGACY}/framework/resource_manager/socket
${HCOMM_CODE_LEGACY}/framework/topo
${HCOMM_CODE_LEGACY}/framework/topo/new_topo_builder/common
${HCOMM_CODE_LEGACY}/framework/topo/new_topo_builder/rank_graph
${HCOMM_CODE_LEGACY}/framework/topo/new_topo_builder/rank_table_info
${HCOMM_CODE_LEGACY}/framework/topo/new_topo_builder/rank_graph_builder
${HCOMM_CODE_LEGACY}/framework/topo/new_topo_builder/phy_topo
${HCOMM_CODE_LEGACY}/framework/topo/new_topo_builder/topo_info
${HCOMM_CODE_LEGACY}/service/collective
${HCOMM_CODE_LEGACY}/service/collective/primitive
${HCOMM_CODE_LEGACY}/unified_platform
${HCOMM_CODE_LEGACY}/unified_platform/external_system
${HCOMM_CODE_LEGACY}/unified_platform/common
${HCOMM_CODE_LEGACY}/unified_platform/ccu/
${HCOMM_CODE_LEGACY}/unified_platform/ccu/ccu_device/
${HCOMM_CODE_LEGACY}/unified_platform/ccu/ccu_device/ccu_component/
${HCOMM_CODE_LEGACY}/unified_platform/ccu/ccu_device/ccu_component/ccu_channel/
${HCOMM_CODE_LEGACY}/unified_platform/ccu/ccu_context/
${HCOMM_CODE_LEGACY}/unified_platform/pub_inc
${HCOMM_CODE_LEGACY}/unified_platform/pub_inc/ccu/
${HCOMM_CODE_LEGACY}/unified_platform/resource
${HCOMM_CODE_LEGACY}/unified_platform/resource/transport
${HCOMM_CODE_LEGACY}/unified_platform/resource/transport/aicpu
${HCOMM_CODE_LEGACY}/unified_platform/resource/stream/aicpu
${HCOMM_CODE_LEGACY}/unified_platform/resource/notify/aicpu
${HCOMM_CODE_LEGACY}/unified_platform/resource/socket
${HCOMM_CODE_LEGACY}/unified_platform/resource/stream/aicpu
${HCOMM_CODE_LEGACY}/unified_platform/resource/connection/aicpu
${HCOMM_CODE_LEGACY}/unified_platform/resource/buffer/aicpu
${HCOMM_CODE_LEGACY}/unified_platform/resource/mem
${HCOMM_CODE_LEGACY}/unified_platform/resource/connection
${HCOMM_CODE_LEGACY}/unified_platform/resource/task
${HCOMM_CODE_LEGACY}/unified_platform/resource/notify
${HCOMM_CODE_LEGACY}/unified_platform/resource/stream
${HCOMM_CODE_LEGACY}/unified_platform/resource/buffer
${HCOMM_CODE_LEGACY}/unified_platform/resource/channel/dpu_notify
${HCOMM_CODE_LEGACY}/unified_platform/resource/channel
${HCOMM_CODE_LEGACY}/framework/dfx/aicpu/task_exception
${HCOMM_CODE_LEGACY}/framework/dfx/aicpu/profiling
${HCOMM_CODE_LEGACY}/framework/dfx/aicpu/common
${HCOMM_CODE_LEGACY}/framework/dfx/aicpu
${HCOMM_CODE_LEGACY}/framework/dfx/task_exception
${HCOMM_CODE_LEGACY}/framework/dfx/profiling
${HCOMM_CODE_LEGACY}/framework/dfx/common
${HCOMM_CODE_LEGACY}/framework/dfx
${HCOMM_CODE_LEGACY}/framework/resource_manager/stream
${HCCL_CODE_ROOT}/src/common
)
add_subdirectory(testcase)
add_subdirectory(utils)