LCOV - code coverage report
Current view: top level - legacy/ascend950/common/types - op_type.h (source / functions) Coverage Total Hit
Test: coverage.info Lines: 100.0 % 2 2
Test Date: 2026-08-18 17:47:01 Functions: 91.7 % 12 11

            Line data    Source code
       1              : /**
       2              :  * Copyright (c) 2025 Huawei Technologies Co., Ltd.
       3              :  * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
       4              :  * CANN Open Software License Agreement Version 2.0 (the "License").
       5              :  * Please refer to the License for details. You may not use this file except in compliance with the License.
       6              :  * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
       7              :  * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
       8              :  * See LICENSE in the root of the software repository for the full text of the License.
       9              :  */
      10              : 
      11              : #ifndef HCCLV2_OP_TYPE_H
      12              : #define HCCLV2_OP_TYPE_H
      13              : 
      14              : #include <algorithm>
      15              : #include <map>
      16              : #include <unordered_map>
      17              : #include "../utils/enum_factory_legacy.h"
      18              : #include "log.h"
      19              : 
      20              : namespace Hccl {
      21              : 
      22      1537330 : MAKE_ENUM(
      23              :     OpType, ALLREDUCE, BROADCAST, ALLGATHER, REDUCESCATTER, SEND, RECV, BARRIER, ALLTOALL, REDUCE, GATHER, SCATTER,
      24              :     ALLTOALLV, ALLTOALLVC, HALFALLTOALLV, BATCHSENDRECV, BATCHGET, BATCHPUT, ALLGATHERV, REDUCESCATTERV, DEBUGCASE,
      25              :     HCCLGROUPOP, OPTYPEINVALID)
      26              : 
      27            2 : inline std::string OpTypeToString(OpType type) { return type.Describe(); }
      28              : 
      29              : const std::map<std::string, OpType> HCOM_OP_TYPE_STR_MAP_V2{
      30              :     {"ALLREDUCE", OpType::ALLREDUCE},
      31              :     {"BROADCAST", OpType::BROADCAST},
      32              :     {"ALLGATHER", OpType::ALLGATHER},
      33              :     {"REDUCESCATTER", OpType::REDUCESCATTER},
      34              :     {"SEND", OpType::SEND},
      35              :     {"RECV", OpType::RECV},
      36              :     {"BARRIER", OpType::BARRIER},
      37              :     {"ALLTOALL", OpType::ALLTOALL},
      38              :     {"REDUCE", OpType::REDUCE},
      39              :     {"GATHER", OpType::GATHER},
      40              :     {"SCATTER", OpType::SCATTER},
      41              :     {"ALLTOALLV", OpType::ALLTOALLV},
      42              :     {"ALLTOALLVC", OpType::ALLTOALLVC},
      43              :     {"HALFALLTOALLV", OpType::HALFALLTOALLV},
      44              :     {"BATCHSENDRECV", OpType::BATCHSENDRECV},
      45              :     {"BATCHGET", OpType::BATCHGET},
      46              :     {"BATCHPUT", OpType::BATCHPUT},
      47              :     {"ALLGATHERV", OpType::ALLGATHERV},
      48              :     {"REDUCESCATTERV", OpType::REDUCESCATTERV},
      49              :     {"DEBUGCASE", OpType::DEBUGCASE}};
      50              : 
      51              : const std::map<HcclCMDType, Hccl::OpType> OP_TYPE_MAP = {
      52              :     {HcclCMDType::HCCL_CMD_ALLREDUCE, Hccl::OpType::ALLREDUCE},
      53              :     {HcclCMDType::HCCL_CMD_ALLGATHER, Hccl::OpType::ALLGATHER},
      54              :     {HcclCMDType::HCCL_CMD_REDUCE_SCATTER, Hccl::OpType::REDUCESCATTER},
      55              :     {HcclCMDType::HCCL_CMD_SEND, Hccl::OpType::SEND},
      56              :     {HcclCMDType::HCCL_CMD_RECEIVE, Hccl::OpType::RECV},
      57              :     {HcclCMDType::HCCL_CMD_ALLTOALL, Hccl::OpType::ALLTOALL},
      58              :     {HcclCMDType::HCCL_CMD_ALLTOALLV, Hccl::OpType::ALLTOALLV},
      59              :     {HcclCMDType::HCCL_CMD_BROADCAST, Hccl::OpType::BROADCAST},
      60              :     {HcclCMDType::HCCL_CMD_ALLGATHER_V, Hccl::OpType::ALLGATHERV},
      61              :     {HcclCMDType::HCCL_CMD_REDUCE_SCATTER_V, Hccl::OpType::REDUCESCATTERV},
      62              :     {HcclCMDType::HCCL_CMD_REDUCE, Hccl::OpType::REDUCE},
      63              :     {HcclCMDType::HCCL_CMD_ALLTOALLVC, Hccl::OpType::ALLTOALLVC},
      64              :     {HcclCMDType::HCCL_CMD_SCATTER, Hccl::OpType::SCATTER},
      65              :     {HcclCMDType::HCCL_CMD_BATCH_SEND_RECV, Hccl::OpType::BATCHSENDRECV},
      66              :     {HcclCMDType::HCCL_CMD_HALF_ALLTOALLV, Hccl::OpType::HALFALLTOALLV},
      67              :     {HcclCMDType::HCCL_CMD_BARRIER, Hccl::OpType::BARRIER},
      68              :     {HcclCMDType::HCCL_CMD_GATHER, Hccl::OpType::GATHER},
      69              :     {HcclCMDType::HCCL_CMD_BATCH_GET, Hccl::OpType::BATCHGET},
      70              :     {HcclCMDType::HCCL_CMD_BATCH_PUT, Hccl::OpType::BATCHPUT},
      71              : };
      72              : 
      73              : const std::unordered_map<std::string, Hccl::OpType> OP_TYPE_STR = {
      74              :     {"HcomAllReduce", Hccl::OpType::ALLREDUCE},
      75              :     {"HcomAllGather", Hccl::OpType::ALLGATHER},
      76              :     {"HcomReduceScatter", Hccl::OpType::REDUCESCATTER},
      77              :     {"HcomSend", Hccl::OpType::SEND},
      78              :     {"HcomReceive", Hccl::OpType::RECV},
      79              :     {"HcomAllToAll", Hccl::OpType::ALLTOALL},
      80              :     {"HcomAllToAllV", Hccl::OpType::ALLTOALLV},
      81              :     {"HcomBroadcast", Hccl::OpType::BROADCAST},
      82              :     {"HcomAllGatherV", Hccl::OpType::ALLGATHERV},
      83              :     {"HcomReduceScatterV", Hccl::OpType::REDUCESCATTERV},
      84              :     {"HcomReduce", Hccl::OpType::REDUCE},
      85              :     {"HcomAllToAllVC", Hccl::OpType::ALLTOALLVC},
      86              : };
      87              : } // namespace Hccl
      88              : #endif
        

Generated by: LCOV version 2.0-1