@@ -38,6 +38,7 @@ static const int32_t ACL_ERROR_RT_STREAM_NO_CB_REG = 107015; // callba | |||
static const int32_t ACL_ERROR_RT_INVALID_MEMORY_TYPE = 107016; // invalid memory type | |||
static const int32_t ACL_ERROR_RT_INVALID_HANDLE = 107017; // invalid handle | |||
static const int32_t ACL_ERROR_RT_INVALID_MALLOC_TYPE = 107018; // invalid malloc type | |||
static const int32_t ACL_ERROR_RT_WAIT_TIMEOUT = 107019; // wait timeout | |||
static const int32_t ACL_ERROR_RT_FEATURE_NOT_SUPPORT = 207000; // feature not support | |||
static const int32_t ACL_ERROR_RT_MEMORY_ALLOCATION = 207001; // memory allocation error | |||
@@ -50,6 +51,7 @@ static const int32_t ACL_ERROR_RT_NO_EVENT_RESOURCE = 207007; // no eve | |||
static const int32_t ACL_ERROR_RT_NO_STREAM_RESOURCE = 207008; // no stream resource | |||
static const int32_t ACL_ERROR_RT_NO_NOTIFY_RESOURCE = 207009; // no notify resource | |||
static const int32_t ACL_ERROR_RT_NO_MODEL_RESOURCE = 207010; // no model resource | |||
static const int32_t ACL_ERROR_RT_NO_CDQ_RESOURCE = 207011; // no cdq resource | |||
static const int32_t ACL_ERROR_RT_INTERNAL_ERROR = 507000; // runtime internal error | |||
static const int32_t ACL_ERROR_RT_TS_ERROR = 507001; // ts internel error | |||
@@ -85,9 +87,14 @@ static const int32_t ACL_ERROR_RT_DEBUG_UNREGISTER_FAIL = 507030; // debug | |||
static const int32_t ACL_ERROR_RT_LABEL_CONTEXT = 507031; // label not in current context | |||
static const int32_t ACL_ERROR_RT_PROGRAM_USE_OUT = 507032; // program register num use out | |||
static const int32_t ACL_ERROR_RT_DEV_SETUP_ERROR = 507033; // device setup error | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_TIMEOUT = 507034; // vector core timeout | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_EXCEPTION = 507035; // vector core exception | |||
static const int32_t ACL_ERROR_RT_VECTOR_CORE_TRAP_EXCEPTION = 507036; // vector core trap exception | |||
static const int32_t ACL_ERROR_RT_CDQ_BATCH_ABNORMAL = 507037; // cdq alloc batch abnormal | |||
static const int32_t ACL_ERROR_RT_DRV_INTERNAL_ERROR = 507899; // drv internal error | |||
static const int32_t ACL_ERROR_RT_AICPU_INTERNAL_ERROR = 507900; // aicpu internal error | |||
static const int32_t ACL_ERROR_RT_SOCKET_CLOSE = 507901; // hdc disconnect | |||
#ifdef __cplusplus | |||
} | |||
@@ -156,7 +156,7 @@ RTS_API rtError_t rtProfilerTrace(uint64_t id, bool notify, uint32_t flags, rtSt | |||
/** | |||
* @ingroup profiling_base | |||
* @brief ts send keypoint for step info. | |||
* @brief ts send keypoint profiler log. | |||
*/ | |||
RTS_API rtError_t rtProfilerTraceEx(uint64_t id, uint64_t modelId, uint16_t tagId, rtStream_t stream); | |||
@@ -206,7 +206,7 @@ RTS_API rtError_t rtRegDeviceStateCallback(const char *regName, rtDeviceStateCal | |||
/** | |||
* @ingroup dvrt_base | |||
* @brief register callback for fail task | |||
* @brief register callback for fail task | |||
* @param [in] uniName unique register name, can't be null | |||
* @param [in] callback fail task callback function | |||
* @param [out] NA | |||
@@ -345,11 +345,11 @@ RTS_API rtError_t rtLabelCreateEx(rtLabel_t *label, rtStream_t stream); | |||
* @return RT_ERROR_NONE for ok | |||
* @return RT_ERROR_INVALID_VALUE for error input | |||
*/ | |||
rtError_t rtLabelCreateExV2(rtLabel_t *label, rtModel_t model, rtStream_t stream); | |||
RTS_API rtError_t rtLabelCreateExV2(rtLabel_t *label, rtModel_t model, rtStream_t stream); | |||
/** | |||
* @ingroup dvrt_base | |||
* @brief get current thread last stream id and task id | |||
* @brief get current thread last stream id and task id | |||
* @param [out] stream id and task id | |||
* @param [in] null | |||
* @return RT_ERROR_NONE for ok | |||
@@ -46,6 +46,12 @@ typedef enum tagRtChipType { | |||
CHIP_END, | |||
} rtChipType_t; | |||
typedef enum tagRtAicpuScheType { | |||
SCHEDULE_SOFTWARE = 0, /* Software Schedule */ | |||
SCHEDULE_SOFTWARE_OPT, | |||
SCHEDULE_HARDWARE, /* HWTS Schedule */ | |||
} rtAicpuScheType; | |||
typedef enum tagRtVersion { | |||
VER_BEGIN = 0, | |||
VER_NA = VER_BEGIN, | |||
@@ -65,6 +71,7 @@ typedef enum tagRtPlatformType { | |||
PLATFORM_LHISI_CS, | |||
PLATFORM_DC, | |||
PLATFORM_CLOUD_V2, | |||
PLATFORM_LHISI_SD3403, | |||
PLATFORM_END, | |||
} rtPlatformType_t; | |||
@@ -126,6 +133,11 @@ typedef struct tagRtPlatformConfig { | |||
uint32_t platformConfig; | |||
} rtPlatformConfig_t; | |||
typedef enum tagRTTaskTimeoutType { | |||
RT_TIMEOUT_TYPE_OP_WAIT = 0, | |||
RT_TIMEOUT_TYPE_OP_EXECUTE, | |||
} rtTaskTimeoutType_t; | |||
/** | |||
* @ingroup | |||
* @brief get AI core count | |||
@@ -184,6 +196,37 @@ RTS_API rtError_t rtMemGetL2Info(rtStream_t stream, void **ptr, uint32_t *size); | |||
*/ | |||
RTS_API rtError_t rtGetRuntimeVersion(uint32_t *runtimeVersion); | |||
/** | |||
* @ingroup | |||
* @brief get device feature ability by device id, such as task schedule ability. | |||
* @param [in] deviceId | |||
* @param [in] moduleType | |||
* @param [in] featureType | |||
* @param [out] value | |||
* @return RT_ERROR_NONE for ok | |||
* @return RT_ERROR_INVALID_VALUE for error input | |||
*/ | |||
RTS_API rtError_t rtGetDeviceCapability(int32_t deviceId, int32_t moduleType, int32_t featureType, int32_t *value); | |||
/** | |||
* @ingroup | |||
* @brief set event wait task timeout time. | |||
* @param [in] timeout | |||
* @return RT_ERROR_NONE for ok | |||
* @return RT_ERROR_INVALID_VALUE for error input | |||
*/ | |||
RTS_API rtError_t rtSetOpWaitTimeOut(uint32_t timeout); | |||
/** | |||
* @ingroup | |||
* @brief set op execute task timeout time. | |||
* @param [in] timeout | |||
* @return RT_ERROR_NONE for ok | |||
* @return RT_ERROR_INVALID_VALUE for error input | |||
*/ | |||
RTS_API rtError_t rtSetOpExecuteTimeOut(uint32_t timeout); | |||
#if defined(__cplusplus) && !defined(COMPILE_OMG_PACKAGE) | |||
} | |||
#endif | |||
@@ -63,6 +63,11 @@ typedef enum tagRtFeatureType { | |||
FEATURE_TYPE_RSV | |||
} rtFeatureType_t; | |||
typedef enum tagRtDeviceFeatureType { | |||
FEATURE_TYPE_SCHE, | |||
FEATURE_TYPE_END, | |||
} rtDeviceFeatureType_t; | |||
typedef enum tagMemcpyInfo { | |||
MEMCPY_INFO_SUPPORT_ZEROCOPY = 0, | |||
MEMCPY_INFO_RSV | |||
@@ -23,12 +23,23 @@ | |||
extern "C" { | |||
#endif | |||
typedef enum rtEventWaitStatus { | |||
EVENT_STATUS_COMPLETE = 0, | |||
EVENT_STATUS_NOT_READY = 1, | |||
EVENT_STATUS_MAX = 2, | |||
} rtEventWaitStatus_t; | |||
/** | |||
* @ingroup event_flags | |||
* @brief event op bit flags | |||
*/ | |||
#define RT_EVENT_DEFAULT (0x00) | |||
#define RT_EVENT_WITH_FLAG (0x01) | |||
#define RT_EVENT_DEFAULT (0x0E) | |||
#define RT_EVENT_WITH_FLAG (0x0B) | |||
#define RT_EVENT_DDSYNC_NS 0x01U | |||
#define RT_EVENT_STREAM_MARK 0x02U | |||
#define RT_EVENT_DDSYNC 0x04U | |||
#define RT_EVENT_TIME_LINE 0x08U | |||
/** | |||
* @ingroup dvrt_event | |||
@@ -104,6 +115,16 @@ RTS_API rtError_t rtEventSynchronize(rtEvent_t event); | |||
*/ | |||
RTS_API rtError_t rtEventQuery(rtEvent_t event); | |||
/** | |||
* @ingroup dvrt_event | |||
* @brief Queries an event's wait status | |||
* @param [in] event event to query | |||
* @param [in out] EVENT_WAIT_STATUS status | |||
* @return EVENT_STATUS_COMPLETE for complete | |||
* @return EVENT_STATUS_NOT_READY for not complete | |||
*/ | |||
RTS_API rtError_t rtEventQueryWaitStatus(rtEvent_t event, rtEventWaitStatus_t *status); | |||
/** | |||
* @ingroup dvrt_event | |||
* @brief computes the elapsed time between events. | |||
@@ -176,6 +197,18 @@ RTS_API rtError_t rtNotifyRecord(rtNotify_t notify, rtStream_t stream); | |||
*/ | |||
RTS_API rtError_t rtNotifyWait(rtNotify_t notify, rtStream_t stream); | |||
/** | |||
* @ingroup dvrt_event | |||
* @brief Wait for a notify with time out | |||
* @param [in] notify_ notify to be wait | |||
* @param [in] stream_ input stream | |||
* @param [in] timeOut input timeOut | |||
* @return RT_ERROR_NONE for ok | |||
* @return RT_ERROR_INVALID_VALUE for error input | |||
* @return RT_ERROR_STREAM_CONTEXT for stream is not in current ctx | |||
*/ | |||
RTS_API rtError_t rtNotifyWaitWithTimeOut(rtNotify_t notify_, rtStream_t stream_, uint32_t timeOut); | |||
/** | |||
* @ingroup dvrt_event | |||
* @brief Name a notify | |||
@@ -111,6 +111,16 @@ typedef struct rtKernelInfo { | |||
uint32_t module_size; | |||
} *rtKernelInfo_t; | |||
/** | |||
* @ingroup rt_kernel | |||
* @brief op name | |||
*/ | |||
typedef struct rtKernelLaunchNames { | |||
const char *soName; // defined for so name | |||
const char *kernelName; // defined for kernel type name | |||
const char *opName; // defined for operator name | |||
} rtKernelLaunchNames_t; | |||
/** | |||
* @ingroup rt_KernelConfigDump | |||
* @brief device dump type | |||
@@ -173,13 +183,7 @@ typedef void (*rtCallback_t)(void *fnData); | |||
* @ingroup rt_kernel | |||
* @brief magic number of elf binary for aicube | |||
*/ | |||
#define RT_DEV_BINARY_MAGIC_ELF_AICUBE 0x41415247 | |||
/** | |||
* @ingroup rt_kernel | |||
* @brief magic number of elf binary for aivector | |||
*/ | |||
#define RT_DEV_BINARY_MAGIC_ELF_AIVECTOR 0x41415248 | |||
#define RT_DEV_BINARY_MAGIC_ELF_AICUBE 0x41494343 | |||
/** | |||
* @ingroup rt_kernel_flags | |||
@@ -192,14 +196,14 @@ typedef void (*rtCallback_t)(void *fnData); | |||
#define RT_KERNEL_CUSTOM_AICPU (0x08) | |||
// STARS topic scheduler sqe : topic_type | |||
#define RT_KERNEL_DEVICE_FIRST (0X10) | |||
#define RT_KERNEL_HOST_ONLY (0X20) | |||
#define RT_KERNEL_HOST_FIRST (0X30) | |||
#define RT_KERNEL_DEVICE_FIRST (0x10) | |||
#define RT_KERNEL_HOST_ONLY (0x20) | |||
#define RT_KERNEL_HOST_FIRST (0x40) | |||
/** | |||
* @ingroup rt_kernel | |||
* @brief kernel mode | |||
*/ | |||
**/ | |||
#define RT_DEFAULT_KERNEL_MODE (0x00) | |||
#define RT_NORMAL_KERNEL_MODE (0x01) | |||
#define RT_ALL_KERNEL_MODE (0x02) | |||
@@ -222,7 +226,7 @@ RTS_API rtError_t rtDevBinaryRegister(const rtDevBinary_t *bin, void **handle); | |||
/** | |||
* @ingroup rt_kernel | |||
* @brief register device binary | |||
* @brief register device binary with all kernel | |||
* @param [in] bin device binary description | |||
* @param [out] handle device binary handle | |||
* @return RT_ERROR_NONE for ok | |||
@@ -341,7 +345,7 @@ RTS_API rtError_t rtKernelLaunch(const void *stubFunc, uint32_t blockDim, void * | |||
* @ingroup rt_kernel | |||
* @brief launch kernel with handle to device | |||
* @param [in] handle program | |||
* @param [in] devFunc device function description | |||
* @param [in] devFunc device function description. | |||
* @param [in] blockDim block dimentions | |||
* @param [in] args argments address for kernel function | |||
* @param [in] argsSize argements size | |||
@@ -352,7 +356,7 @@ RTS_API rtError_t rtKernelLaunch(const void *stubFunc, uint32_t blockDim, void * | |||
* @return RT_ERROR_INVALID_VALUE for error input | |||
*/ | |||
RTS_API rtError_t rtKernelLaunchWithHandle(void *handle, const void *devFunc, uint32_t blockDim, void *args, uint32_t argsSize, | |||
rtSmDesc_t *smDesc, rtStream_t stream, const void *kernelInfo); | |||
rtSmDesc_t *smDesc, rtStream_t stream_, const void *kernelInfo); | |||
/** | |||
* @ingroup rt_kernel | |||
@@ -371,7 +375,7 @@ RTS_API rtError_t rtKernelLaunchWithFlag(const void *stubFunc, uint32_t blockDim | |||
rtSmDesc_t *smDesc, rtStream_t stream, uint32_t flags); | |||
/** | |||
* @ingroup rt_kernel | |||
* @ingroup rt_kernel(abandoned) | |||
* @brief launch kernel to device | |||
* @param [in] args argments address for kernel function | |||
* @param [in] argsSize argements size | |||
@@ -383,7 +387,21 @@ RTS_API rtError_t rtKernelLaunchWithFlag(const void *stubFunc, uint32_t blockDim | |||
RTS_API rtError_t rtKernelLaunchEx(void *args, uint32_t argsSize, uint32_t flags, rtStream_t stream); | |||
/** | |||
* @ingroup rt_kernel | |||
* @ingroup rt_kernel(in use) | |||
* @brief launch kernel to device | |||
* @param [in] opName opkernel name | |||
* @param [in] args argments address for kernel function | |||
* @param [in] argsSize argements size | |||
* @param [in] flags launch flags | |||
* @param [in] stream associated stream | |||
* @return RT_ERROR_NONE for ok | |||
* @return RT_ERROR_INVALID_VALUE for error input | |||
*/ | |||
RTS_API rtError_t rtKernelLaunchFwk(const char *opName, void *args, uint32_t argsSize, uint32_t flags, | |||
rtStream_t rtStream); | |||
/** | |||
* @ingroup rt_kernel(abandoned) | |||
* @brief launch cpu kernel to device | |||
* @param [in] soName so name | |||
* @param [in] kernelName kernel name | |||
@@ -399,7 +417,22 @@ RTS_API rtError_t rtCpuKernelLaunch(const void *soName, const void *kernelName, | |||
uint32_t argsSize, rtSmDesc_t *smDesc, rtStream_t stream); | |||
/** | |||
* @ingroup rt_kernel | |||
* @ingroup rt_kernel(in use) | |||
* @brief launch cpu kernel to device | |||
* @param [in] launchNames names for kernel launch | |||
* @param [in] blockDim block dimentions | |||
* @param [in] args argments address for kernel function | |||
* @param [in] argsSize argments size | |||
* @param [in] smDesc shared memory description | |||
* @param [in] stream associated stream | |||
* @return RT_ERROR_NONE for ok | |||
* @return RT_ERROR_INVALID_VALUE for error input | |||
*/ | |||
RTS_API rtError_t rtAicpuKernelLaunch(const rtKernelLaunchNames_t *launchNames, | |||
uint32_t blockDim, const void *args, uint32_t argsSize, rtSmDesc_t *smDesc, rtStream_t stream); | |||
/** | |||
* @ingroup rt_kernel(abandoned) | |||
* @brief launch cpu kernel to device with dump identifier | |||
* @param [in] soName so name | |||
* @param [in] kernelName kernel name | |||
@@ -416,6 +449,22 @@ RTS_API rtError_t rtCpuKernelLaunchWithFlag(const void *soName, const void *kern | |||
const void *args, uint32_t argsSize, rtSmDesc_t *smDesc, rtStream_t stream, | |||
uint32_t flags); | |||
/** | |||
* @ingroup rt_kernel(in use) | |||
* @brief launch cpu kernel to device with dump identifier | |||
* @param [in] launchNames names for kernel launch | |||
* @param [in] blockDim block dimentions | |||
* @param [in] args argments address for kernel function | |||
* @param [in] argsSize argments size | |||
* @param [in] smDesc shared memory description | |||
* @param [in] stream associated stream | |||
* @param [in] flag dump flag or others function flag | |||
* @return RT_ERROR_NONE for ok | |||
* @return RT_ERROR_INVALID_VALUE for error input | |||
*/ | |||
RTS_API rtError_t rtAicpuKernelLaunchWithFlag(const rtKernelLaunchNames_t *launchNames, uint32_t blockDim, | |||
const void *args, uint32_t argsSize, rtSmDesc_t *smDesc, rtStream_t stream, uint32_t flags); | |||
/** | |||
* @ingroup rt_kernel | |||
* @brief L1 fusion dump addr transfered to device | |||
@@ -116,6 +116,9 @@ typedef enum tagRtMemInfoType { | |||
typedef enum tagRtRecudeKind { | |||
RT_MEMCPY_SDMA_AUTOMATIC_ADD = 10, // D2D, SDMA inline reduce, include 1P, and P2P | |||
RT_MEMCPY_SDMA_AUTOMATIC_MAX = 11, | |||
RT_MEMCPY_SDMA_AUTOMATIC_MIN = 12, | |||
RT_MEMCPY_SDMA_AUTOMATIC_EQUAL = 13, | |||
RT_RECUDE_KIND_END | |||
} rtRecudeKind_t; | |||
@@ -123,6 +126,14 @@ typedef enum tagRtDataType { | |||
RT_DATA_TYPE_FP32 = 0, // fp32 | |||
RT_DATA_TYPE_FP16 = 1, // fp16 | |||
RT_DATA_TYPE_INT16 = 2, // int16 | |||
RT_DATA_TYPE_INT4 = 3, // int4 | |||
RT_DATA_TYPE_INT8 = 4, // int8 | |||
RT_DATA_TYPE_INT32 = 5, // int32 | |||
RT_DATA_TYPE_BFP16 = 6, // bfp16 | |||
RT_DATA_TYPE_BFP32 = 7, // bfp32 | |||
RT_DATA_TYPE_UINT8 = 8, // uint8 | |||
RT_DATA_TYPE_UINT16= 9, // uint16 | |||
RT_DATA_TYPE_UINT32= 10,// uint32 | |||
RT_DATA_TYPE_END | |||
} rtDataType_t; | |||
@@ -135,12 +135,13 @@ typedef struct tagAllKernelTaskInfo { | |||
uint16_t argsCount; | |||
uint16_t argsSize; | |||
uint16_t reserved; | |||
const void *dev_func; | |||
void *devfunc; | |||
void *handle; | |||
uint8_t *smDesc; | |||
uint8_t *args; | |||
uint16_t *argsOffset; | |||
} rtAllKernelTaskInfo_t; | |||
typedef struct tagKernelTaskInfoEx { | |||
uint32_t flags; | |||
uint32_t argsSize; | |||
@@ -198,6 +199,13 @@ typedef struct tagProfilerTraceTaskInfo { | |||
uint32_t reserved[6]; | |||
} rtProfilerTrace_t; | |||
typedef struct tagProfilerTraceExTaskInfo { | |||
uint64_t profilerTraceId; | |||
uint64_t modelId; | |||
uint16_t tagId; | |||
uint8_t reserved[22]; | |||
} rtProfilerTraceEx_t; | |||
typedef struct tagrtMemcpyAsyncTaskInfo { | |||
void *dst; | |||
uint64_t destMax; | |||
@@ -265,7 +273,7 @@ typedef struct tagTaskInfo { | |||
union { | |||
rtKernelTaskInfoEx_t kernelTaskEx; | |||
rtKernelTaskInfo_t kernelTask; | |||
rtAllKernelTaskInfo_t allkernelTask; | |||
rtAllKernelTaskInfo_t allKernelTask; | |||
rtEventTaskInfo_t eventTask; | |||
rtStreamSwitchTaskInfo_t streamSwitchTask; | |||
rtStreamActiveTaskInfo_t streamActiveTask; | |||
@@ -273,6 +281,7 @@ typedef struct tagTaskInfo { | |||
rtLabelSwitchTaskInfo_t labelSwitchTask; | |||
rtLabelGotoTaskInfo_t labelGotoTask; | |||
rtProfilerTrace_t profilertraceTask; | |||
rtProfilerTraceEx_t profilertraceExTask; | |||
rtMemcpyAsyncTaskInfo_t memcpyAsyncTask; | |||
rtNotifyTaskInfo_t notifyTask; | |||
rtReduceAsyncTaskInfo_t reduceAsyncTask; | |||
@@ -108,7 +108,19 @@ enum MsprofCtrlCallbackType { | |||
MSPROF_CTRL_INIT_ACL_ENV = 0, // start profiling with acl env | |||
MSPROF_CTRL_INIT_ACL_JSON, // start profiling with acl.json | |||
MSPROF_CTRL_INIT_GE_OPTIONS, // start profiling with ge env and options | |||
MSPROF_CTRL_FINALIZE // stop profiling | |||
MSPROF_CTRL_FINALIZE, // stop profiling | |||
MSPROF_CTRL_REPORT_FUN_P, // for report callback | |||
MSPROF_CTRL_PROF_SWITCH_ON, // for prof switch on | |||
MSPROF_CTRL_PROF_SWITCH_OFF // for prof switch off | |||
}; | |||
#define MSPROF_MAX_DEV_NUM (64) | |||
struct MsprofCommandHandle { | |||
uint64_t profSwitch; | |||
uint32_t devNums; // length of device id list | |||
uint32_t devIdList[MSPROF_MAX_DEV_NUM]; | |||
uint32_t modelId; | |||
}; | |||
/** | |||
@@ -129,6 +141,23 @@ typedef int32_t (*MsprofCtrlCallback)(uint32_t type, void *data, uint32_t len); | |||
*/ | |||
typedef void (*MsprofSetDeviceCallback)(uint32_t devId, bool isOpenDevice); | |||
/* | |||
* @name MsprofInit | |||
* @brief Profiling module init | |||
* @param [in] dataType: profiling type: ACL Env/ACL Json/GE Option | |||
* @param [in] data: profiling switch data | |||
* @param [in] dataLen: Length of data | |||
* @return 0:SUCCESS, >0:FAILED | |||
*/ | |||
int32_t MsprofInit(uint32_t dataType, void *data, uint32_t dataLen); | |||
/* | |||
* @name AscendCL | |||
* @brief Finishing Profiling | |||
* @param NULL | |||
* @return 0:SUCCESS, >0:FAILED | |||
*/ | |||
int32_t MsprofFinalize(); | |||
#ifdef __cplusplus | |||
} | |||
#endif | |||
@@ -17,6 +17,8 @@ | |||
#ifndef D_SYSLOG_H_ | |||
#define D_SYSLOG_H_ | |||
static const int TMP_LOG = 0; | |||
#ifdef __cplusplus | |||
#ifndef LOG_CPP | |||
extern "C" { | |||
@@ -120,15 +122,15 @@ typedef struct tagKV { | |||
} KeyValue; | |||
typedef enum { | |||
APPLICATION = 0, | |||
SYSTEM | |||
APPLICATION = 0, | |||
SYSTEM | |||
} ProcessType; | |||
typedef struct { | |||
ProcessType type; | |||
unsigned int pid; | |||
unsigned int deviceId; | |||
char reserved[RESERVERD_LENGTH]; | |||
ProcessType type; | |||
unsigned int pid; | |||
unsigned int deviceId; | |||
char reserved[RESERVERD_LENGTH]; | |||
} LogAttr; | |||
/** | |||
@@ -141,7 +143,7 @@ enum { | |||
IDEDD, /**< IDE daemon device */ | |||
IDEDH, /**< IDE daemon host */ | |||
HCCL, /**< HCCL */ | |||
FMK, /**< Framework */ | |||
FMK, /**< Adapter */ | |||
HIAIENGINE, /**< Matrix */ | |||
DVPP, /**< DVPP */ | |||
RUNTIME, /**< Runtime */ | |||
@@ -162,11 +164,11 @@ enum { | |||
MDCDEFAULT, /**< MDC undefine */ | |||
MDCSC, /**< MDC spatial cognition */ | |||
MDCPNC, | |||
MLL, | |||
MLL, /**< abandon */ | |||
DEVMM, /**< Dlog memory managent */ | |||
KERNEL, /**< Kernel */ | |||
LIBMEDIA, /**< Libmedia */ | |||
CCECPU, /**< ai cpu */ | |||
CCECPU, /**< aicpu shedule */ | |||
ASCENDDK, /**< AscendDK */ | |||
ROS, /**< ROS */ | |||
HCCP, | |||
@@ -179,7 +181,7 @@ enum { | |||
TSDUMP, /**< TSDUMP module */ | |||
AICPU, /**< AICPU module */ | |||
LP, /**< LP module */ | |||
TDT, | |||
TDT, /**< tsdaemon or aicpu shedule */ | |||
FE, | |||
MD, | |||
MB, | |||
@@ -261,7 +263,7 @@ DLL_EXPORT int DlogSetAttr(LogAttr logAttr); | |||
#define dlog_error(moduleId, fmt, ...) \ | |||
do { \ | |||
DlogErrorInner(moduleId, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ | |||
} while (0) | |||
} while (TMP_LOG != 0) | |||
/** | |||
* @ingroup slog | |||
@@ -276,7 +278,7 @@ DLL_EXPORT int DlogSetAttr(LogAttr logAttr); | |||
if(CheckLogLevel(moduleId, DLOG_WARN) == 1) { \ | |||
DlogWarnInner(moduleId, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ | |||
} \ | |||
} while (0) | |||
} while (TMP_LOG != 0) | |||
/** | |||
* @ingroup slog | |||
@@ -291,7 +293,7 @@ DLL_EXPORT int DlogSetAttr(LogAttr logAttr); | |||
if(CheckLogLevel(moduleId, DLOG_INFO) == 1) { \ | |||
DlogInfoInner(moduleId, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ | |||
} \ | |||
} while (0) | |||
} while (TMP_LOG != 0) | |||
/** | |||
* @ingroup slog | |||
@@ -306,7 +308,7 @@ DLL_EXPORT int DlogSetAttr(LogAttr logAttr); | |||
if(CheckLogLevel(moduleId, DLOG_DEBUG) == 1) { \ | |||
DlogDebugInner(moduleId, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ | |||
} \ | |||
} while (0) | |||
} while (TMP_LOG != 0) | |||
/** | |||
* @ingroup slog | |||
@@ -318,7 +320,7 @@ DLL_EXPORT int DlogSetAttr(LogAttr logAttr); | |||
#define dlog_event(moduleId, fmt, ...) \ | |||
do { \ | |||
DlogEventInner(moduleId, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ | |||
} while (0) | |||
} while (TMP_LOG != 0) | |||
/** | |||
* @ingroup slog | |||
@@ -334,7 +336,7 @@ DLL_EXPORT int DlogSetAttr(LogAttr logAttr); | |||
if(CheckLogLevel(moduleId, level) == 1) { \ | |||
DlogInner(moduleId, level, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ | |||
} \ | |||
} while (0) | |||
} while (TMP_LOG != 0) | |||
/** | |||
* @ingroup slog | |||
@@ -351,7 +353,7 @@ DLL_EXPORT int DlogSetAttr(LogAttr logAttr); | |||
if(CheckLogLevel(moduleId, level) == 1) { \ | |||
DlogInner(moduleId, level, "[%s:%d][%s]" fmt, __FILE__, __LINE__, submodule, ##__VA_ARGS__); \ | |||
} \ | |||
} while (0) | |||
} while (TMP_LOG != 0) | |||
/** | |||
* @ingroup slog | |||
@@ -369,7 +371,7 @@ DLL_EXPORT int DlogSetAttr(LogAttr logAttr); | |||
if(CheckLogLevel(moduleId, level) == 1) { \ | |||
DlogWithKVInner(moduleId, level, pstKVArray, kvNum, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ | |||
} \ | |||
} while (0) | |||
} while (TMP_LOG != 0) | |||
/** | |||
* @ingroup slog | |||
@@ -381,13 +383,13 @@ DLL_EXPORT void DlogFlush(void); | |||
* @ingroup slog | |||
* @brief Internal log interface, other modules are not allowed to call this interface | |||
*/ | |||
void DlogErrorInner(int moduleId, const char *fmt, ...) __attribute__((format(printf, 2, 3))); | |||
void DlogWarnInner(int moduleId, const char *fmt, ...) __attribute__((format(printf, 2, 3))); | |||
void DlogInfoInner(int moduleId, const char *fmt, ...) __attribute__((format(printf, 2, 3))); | |||
void DlogDebugInner(int moduleId, const char *fmt, ...) __attribute__((format(printf, 2, 3))); | |||
void DlogEventInner(int moduleId, const char *fmt, ...) __attribute__((format(printf, 2, 3))); | |||
void DlogInner(int moduleId, int level, const char *fmt, ...) __attribute__((format(printf, 3, 4))); | |||
void DlogWithKVInner(int moduleId, int level, KeyValue *pstKVArray, int kvNum, const char *fmt, ...) __attribute__((format(printf, 5, 6))); | |||
void DlogErrorInner(int moduleId, const char *fmt, ...); | |||
void DlogWarnInner(int moduleId, const char *fmt, ...); | |||
void DlogInfoInner(int moduleId, const char *fmt, ...); | |||
void DlogDebugInner(int moduleId, const char *fmt, ...); | |||
void DlogEventInner(int moduleId, const char *fmt, ...); | |||
void DlogInner(int moduleId, int level, const char *fmt, ...); | |||
void DlogWithKVInner(int moduleId, int level, KeyValue *pstKVArray, int kvNum, const char *fmt, ...); | |||
#ifdef __cplusplus | |||
#ifndef LOG_CPP | |||
@@ -453,7 +455,7 @@ DLL_EXPORT int DlogSetAttrForC(LogAttr logAttr); | |||
if(CheckLogLevelForC(moduleId, level) == 1) { \ | |||
DlogInnerForC(moduleId, level, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ | |||
} \ | |||
} while (0) | |||
} while (TMP_LOG != 0) | |||
/** | |||
* @ingroup slog | |||
@@ -470,7 +472,7 @@ DLL_EXPORT int DlogSetAttrForC(LogAttr logAttr); | |||
if(CheckLogLevelForC(moduleId, level) == 1) { \ | |||
DlogInnerForC(moduleId, level, "[%s:%d][%s]" fmt, __FILE__, __LINE__, submodule, ##__VA_ARGS__); \ | |||
} \ | |||
} while (0) | |||
} while (TMP_LOG != 0) | |||
/** | |||
* @ingroup slog | |||
@@ -488,7 +490,7 @@ DLL_EXPORT int DlogSetAttrForC(LogAttr logAttr); | |||
if(CheckLogLevelForC(moduleId, level) == 1) { \ | |||
DlogWithKVInnerForC(moduleId, level, pstKVArray, kvNum, "[%s:%d]" fmt, __FILE__, __LINE__, ##__VA_ARGS__); \ | |||
} \ | |||
} while (0) | |||
} while (TMP_LOG != 0) | |||
/** | |||
* @ingroup slog | |||
@@ -500,8 +502,8 @@ DLL_EXPORT void DlogFlushForC(void); | |||
* @ingroup slog | |||
* @brief Internal log interface, other modules are not allowed to call this interface | |||
*/ | |||
void DlogInnerForC(int moduleId, int level, const char *fmt, ...) __attribute__((format(printf, 3, 4))); | |||
void DlogWithKVInnerForC(int moduleId, int level, KeyValue *pstKVArray, int kvNum, const char *fmt, ...) __attribute__((format(printf, 5, 6))); | |||
void DlogInnerForC(int moduleId, int level, const char *fmt, ...); | |||
void DlogWithKVInnerForC(int moduleId, int level, KeyValue *pstKVArray, int kvNum, const char *fmt, ...); | |||
#ifdef __cplusplus | |||
} | |||
@@ -1,72 +1,88 @@ | |||
/** | |||
* @file tune_api.h | |||
* | |||
* Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved.\n | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n | |||
* 描述:mstune调优接口头文件 | |||
*/ | |||
/** @defgroup mstune mstune调优接口 */ | |||
#ifndef TUNE_API_H | |||
#define TUNE_API_H | |||
#include <vector> | |||
#include <map> | |||
#include <string> | |||
#include "graph/graph.h" | |||
#include "ge/ge_api.h" | |||
/** | |||
* @ingroup mstune | |||
* | |||
* mstune status | |||
*/ | |||
enum MsTuneStatus { | |||
MSTUNE_SUCCESS, /** tune success */ | |||
MSTUNE_FAILED, /** tune failed */ | |||
}; | |||
// Option key: for train options sets | |||
const std::string MSTUNE_SELF_KEY = "mstune"; | |||
const std::string MSTUNE_GEINIT_KEY = "initialize"; | |||
const std::string MSTUNE_GESESS_KEY = "session"; | |||
/** | |||
* @ingroup mstune | |||
* @par 描述: 命令行调优 | |||
* | |||
* @attention 无 | |||
* @param option [IN] 调优参数 | |||
* @param msg [OUT] 调优异常下返回信息 | |||
* @retval #MSTUNE_SUCCESS 执行成功 | |||
* @retval #MSTUNE_FAILED 执行失败 | |||
* @par 依赖: | |||
* @li tune_api.cpp:该接口所属的开发包。 | |||
* @li tune_api.h:该接口声明所在的头文件。 | |||
* @see 无 | |||
* @since | |||
*/ | |||
MsTuneStatus MsTuning(const std::map<std::string, std::string> &option, std::string &msg); | |||
/** | |||
* @ingroup mstune | |||
* @par 描述: 梯度调优 | |||
* | |||
* @attention 无 | |||
* @param tuningGraph [IN] 调优图 | |||
* @param dependGraph [IN] 调优依赖图 | |||
* @param session [IN] ge连接会话 | |||
* @param option [IN] 参数集. 包含调优参数及ge参数 | |||
* @retval #MSTUNE_SUCCESS 执行成功 | |||
* @retval #MSTUNE_FAILED 执行失败 | |||
* @par 依赖: | |||
* @li tune_api.cpp:该接口所属的开发包。 | |||
* @li tune_api.h:该接口声明所在的头文件。 | |||
* @see 无 | |||
* @since | |||
*/ | |||
extern "C" MsTuneStatus MsTrainTuning(ge::Graph &tuningGraph, std::vector<ge::Graph> &dependGraph, | |||
ge::Session *session, const std::map<std::string, std::map<std::string, std::string>> &option); | |||
#endif | |||
/** | |||
* @file tune_api.h | |||
* | |||
* Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved.\n | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n | |||
* 描述:aoe调优接口头文件 | |||
*/ | |||
/** @defgroup aoe aoe调优接口 */ | |||
#ifndef TUNE_API_H | |||
#define TUNE_API_H | |||
#include <map> | |||
#include <string> | |||
#include "ge/ge_api.h" | |||
#include "aoe_types.h" | |||
/** | |||
* @ingroup aoe | |||
* @par 描述: 命令行调优 | |||
* | |||
* @attention 无 | |||
* @param option [IN] 调优参数 | |||
* @param msg [OUT] 调优异常下返回信息 | |||
* @retval #AOE_SUCCESS 执行成功 | |||
* @retval #AOE_FAILURE 执行失败 | |||
* @par 依赖: | |||
* @li tune_api.cpp:该接口所属的开发包。 | |||
* @li tune_api.h:该接口声明所在的头文件。 | |||
* @see 无 | |||
* @since | |||
*/ | |||
AoeStatus AoeOfflineTuning(const std::map<std::string, std::string> &option, std::string &msg); | |||
/** | |||
* @ingroup aoe | |||
* @par 描述: 调优初始化 | |||
* | |||
* @attention 无 | |||
* @param session [IN] ge连接会话 | |||
* @param option [IN] 参数集. 包含调优参数及ge参数 | |||
* @retval #AOE_SUCCESS 执行成功 | |||
* @retval #AOE_FAILURE 执行失败 | |||
* @par 依赖: | |||
* @li tune_api.cpp:该接口所属的开发包。 | |||
* @li tune_api.h:该接口声明所在的头文件。 | |||
* @see 无 | |||
* @since | |||
*/ | |||
extern "C" AoeStatus AoeOnlineInitialize(ge::Session *session, const std::map<std::string, std::string> &option); | |||
/** | |||
* @ingroup aoe | |||
* @par 描述: 调优去初始化 | |||
* | |||
* @attention 无 | |||
* @param 无 | |||
* @retval #AOE_SUCCESS 执行成功 | |||
* @retval #AOE_FAILURE 执行失败 | |||
* @par 依赖: | |||
* @li tune_api.cpp:该接口所属的开发包。 | |||
* @li tune_api.h:该接口声明所在的头文件。 | |||
* @see 无 | |||
* @since | |||
*/ | |||
extern "C" AoeStatus AoeOnlineFinalize(); | |||
/** | |||
* @ingroup aoe | |||
* @par 描述: 调优处理 | |||
* | |||
* @attention 无 | |||
* @param tuningGraph [IN] 调优图 | |||
* @param dependGraph [IN] 调优依赖图 | |||
* @param session [IN] ge连接会话 | |||
* @param option [IN] 参数集. 包含调优参数及ge参数 | |||
* @retval #AOE_SUCCESS 执行成功 | |||
* @retval #AOE_FAILURE 执行失败 | |||
* @par 依赖: | |||
* @li tune_api.cpp:该接口所属的开发包。 | |||
* @li tune_api.h:该接口声明所在的头文件。 | |||
* @see 无 | |||
* @since | |||
*/ | |||
extern "C" AoeStatus AoeOnlineTuning(ge::Graph &tuningGraph, std::vector<ge::Graph> &dependGraph, | |||
ge::Session *session, const std::map<std::string, std::string> &option); | |||
#endif |