parent
42d217fb8c
commit
704a9eb441
@ -1,101 +1,101 @@
|
|||||||
/**
|
/**
|
||||||
* Copyright 2019-2020 Huawei Technologies Co., Ltd
|
* Copyright 2019-2020 Huawei Technologies Co., Ltd
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
* You may obtain a copy of the License at
|
* You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file hccl_types.h
|
* @file hccl_types.h
|
||||||
* @brief HCCL data type definition
|
* @brief HCCL data type definition
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef HCCL_TYPES_H_
|
#ifndef HCCL_TYPES_H_
|
||||||
#define HCCL_TYPES_H_
|
#define HCCL_TYPES_H_
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif // __cplusplus
|
#endif // __cplusplus
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief HCCL functions return value definition
|
* @brief HCCL functions return value definition
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
HCCL_SUCCESS = 0, /**< success */
|
HCCL_SUCCESS = 0, /**< success */
|
||||||
HCCL_E_PARA = 1, /**< parameter error */
|
HCCL_E_PARA = 1, /**< parameter error */
|
||||||
HCCL_E_PTR = 2, /**< empty pointer */
|
HCCL_E_PTR = 2, /**< empty pointer */
|
||||||
HCCL_E_MEMORY = 3, /**< memory error */
|
HCCL_E_MEMORY = 3, /**< memory error */
|
||||||
HCCL_E_INTERNAL = 4, /**< internal error */
|
HCCL_E_INTERNAL = 4, /**< internal error */
|
||||||
HCCL_E_NOT_SUPPORT = 5, /**< not support feature */
|
HCCL_E_NOT_SUPPORT = 5, /**< not support feature */
|
||||||
HCCL_E_NOT_FOUND = 6, /**< not found specific resource */
|
HCCL_E_NOT_FOUND = 6, /**< not found specific resource */
|
||||||
HCCL_E_UNAVAIL = 7, /**< resource unavailable */
|
HCCL_E_UNAVAIL = 7, /**< resource unavailable */
|
||||||
HCCL_E_SYSCALL = 8, /**< call system interface error */
|
HCCL_E_SYSCALL = 8, /**< call system interface error */
|
||||||
HCCL_E_TIMEOUT = 9, /**< timeout */
|
HCCL_E_TIMEOUT = 9, /**< timeout */
|
||||||
HCCL_E_OPEN_FILE_FAILURE = 10, /**< open file fail */
|
HCCL_E_OPEN_FILE_FAILURE = 10, /**< open file fail */
|
||||||
HCCL_E_TCP_CONNECT = 11, /**< tcp connect fail */
|
HCCL_E_TCP_CONNECT = 11, /**< tcp connect fail */
|
||||||
HCCL_E_ROCE_CONNECT = 12, /**< roce connect fail */
|
HCCL_E_ROCE_CONNECT = 12, /**< roce connect fail */
|
||||||
HCCL_E_TCP_TRANSFER = 13, /**< tcp transfer fail */
|
HCCL_E_TCP_TRANSFER = 13, /**< tcp transfer fail */
|
||||||
HCCL_E_ROCE_TRANSFER = 14, /**< roce transfer fail */
|
HCCL_E_ROCE_TRANSFER = 14, /**< roce transfer fail */
|
||||||
HCCL_E_RUNTIME = 15, /**< call runtime api fail */
|
HCCL_E_RUNTIME = 15, /**< call runtime api fail */
|
||||||
HCCL_E_DRV = 16, /**< call driver api fail */
|
HCCL_E_DRV = 16, /**< call driver api fail */
|
||||||
HCCL_E_PROFILING = 17, /**< call profiling api fail */
|
HCCL_E_PROFILING = 17, /**< call profiling api fail */
|
||||||
HCCL_E_CCE = 18, /**< call cce api fail */
|
HCCL_E_CCE = 18, /**< call cce api fail */
|
||||||
HCCL_E_NETWORK = 19, /**< call network api fail */
|
HCCL_E_NETWORK = 19, /**< call network api fail */
|
||||||
HCCL_E_RESERVED /**< reserved */
|
HCCL_E_RESERVED /**< reserved */
|
||||||
} HcclResult;
|
} HcclResult;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief handle to HCCL communicator
|
* @brief handle to HCCL communicator
|
||||||
*/
|
*/
|
||||||
typedef void *HcclComm;
|
typedef void *HcclComm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief HCCL Reduction opperation
|
* @brief HCCL Reduction opperation
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
HCCL_REDUCE_SUM = 0, /**< sum */
|
HCCL_REDUCE_SUM = 0, /**< sum */
|
||||||
HCCL_REDUCE_PROD = 1, /**< prod */
|
HCCL_REDUCE_PROD = 1, /**< prod */
|
||||||
HCCL_REDUCE_MAX = 2, /**< max */
|
HCCL_REDUCE_MAX = 2, /**< max */
|
||||||
HCCL_REDUCE_MIN = 3, /**< min */
|
HCCL_REDUCE_MIN = 3, /**< min */
|
||||||
HCCL_REDUCE_RESERVED /**< reserved */
|
HCCL_REDUCE_RESERVED /**< reserved */
|
||||||
} HcclReduceOp;
|
} HcclReduceOp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief HCCL data type
|
* @brief HCCL data type
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
HCCL_DATA_TYPE_INT8 = 0, /**< int8 */
|
HCCL_DATA_TYPE_INT8 = 0, /**< int8 */
|
||||||
HCCL_DATA_TYPE_INT16 = 1, /**< int16 */
|
HCCL_DATA_TYPE_INT16 = 1, /**< int16 */
|
||||||
HCCL_DATA_TYPE_INT32 = 2, /**< int32 */
|
HCCL_DATA_TYPE_INT32 = 2, /**< int32 */
|
||||||
HCCL_DATA_TYPE_FP16 = 3, /**< fp16 */
|
HCCL_DATA_TYPE_FP16 = 3, /**< fp16 */
|
||||||
HCCL_DATA_TYPE_FP32 = 4, /**< fp32 */
|
HCCL_DATA_TYPE_FP32 = 4, /**< fp32 */
|
||||||
HCCL_DATA_TYPE_INT64 = 5, /**< int64 */
|
HCCL_DATA_TYPE_INT64 = 5, /**< int64 */
|
||||||
HCCL_DATA_TYPE_UINT64 = 6, /**< uint64 */
|
HCCL_DATA_TYPE_UINT64 = 6, /**< uint64 */
|
||||||
HCCL_DATA_TYPE_RESERVED /**< reserved */
|
HCCL_DATA_TYPE_RESERVED /**< reserved */
|
||||||
} HcclDataType;
|
} HcclDataType;
|
||||||
|
|
||||||
const uint32_t HCCL_ROOT_INFO_BYTES = 4108; // 4108: root info length
|
const uint32_t HCCL_ROOT_INFO_BYTES = 4108; // 4108: root info length
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief HCCL root info
|
* @brief HCCL root info
|
||||||
*/
|
*/
|
||||||
typedef struct HcclRootInfoDef {
|
typedef struct HcclRootInfoDef {
|
||||||
char internal[HCCL_ROOT_INFO_BYTES];
|
char internal[HCCL_ROOT_INFO_BYTES];
|
||||||
} HcclRootInfo;
|
} HcclRootInfo;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif // __cplusplus
|
#endif // __cplusplus
|
||||||
#endif // HCCL_TYPES_H_
|
#endif // HCCL_TYPES_H_
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue