Browse Source

!2098 update acl_prof

Merge pull request !2098 from yanghaoran/release
tags/v1.8.0^2
yanghaoran Gitee 2 years ago
parent
commit
2d1c7772b4
1 changed files with 76 additions and 31 deletions
  1. +76
    -31
      inc/external/acl/acl_prof.h

+ 76
- 31
inc/external/acl/acl_prof.h View File

@@ -17,16 +17,26 @@
#ifndef INC_EXTERNAL_ACL_PROF_H_ #ifndef INC_EXTERNAL_ACL_PROF_H_
#define INC_EXTERNAL_ACL_PROF_H_ #define INC_EXTERNAL_ACL_PROF_H_


#if (defined(_WIN32) || defined(_WIN64) || defined(_MSC_VER))
#define MSVP_PROF_API __declspec(dllexport)
#else
#define MSVP_PROF_API __attribute__((visibility("default")))
#endif

#include "acl_base.h" #include "acl_base.h"


#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif


#define ACL_PROF_ACL_API 0x0001
#define ACL_PROF_TASK_TIME 0x0002
#define ACL_PROF_AICORE_METRICS 0x0004
#define ACL_PROF_AICPU 0x0008
#define ACL_PROF_ACL_API 0x0001ULL
#define ACL_PROF_TASK_TIME 0x0002ULL
#define ACL_PROF_AICORE_METRICS 0x0004ULL
#define ACL_PROF_AICPU 0x0008ULL
#define ACL_PROF_L2CACHE 0x0010ULL
#define ACL_PROF_HCCL_TRACE 0x0020ULL
#define ACL_PROF_TRAINING_TRACE 0x0040ULL
#define ACL_PROF_MSPROFTX 0x0080ULL


/** /**
* @deprecated please use aclprofGetOpTypeLen and aclprofGetOpTNameLen instead * @deprecated please use aclprofGetOpTypeLen and aclprofGetOpTNameLen instead
@@ -40,13 +50,20 @@ typedef enum {
ACL_AICORE_MEMORY_BANDWIDTH = 2, ACL_AICORE_MEMORY_BANDWIDTH = 2,
ACL_AICORE_L0B_AND_WIDTH = 3, ACL_AICORE_L0B_AND_WIDTH = 3,
ACL_AICORE_RESOURCE_CONFLICT_RATIO = 4, ACL_AICORE_RESOURCE_CONFLICT_RATIO = 4,
ACL_AICORE_MEMORY_UB = 5,
ACL_AICORE_NONE = 0xFF ACL_AICORE_NONE = 0xFF
} aclprofAicoreMetrics; } aclprofAicoreMetrics;


typedef enum {
ACL_STEP_START = 0, // step start
ACL_STEP_END = 1 // step end
} aclprofStepTag;

typedef struct aclprofConfig aclprofConfig; typedef struct aclprofConfig aclprofConfig;
typedef struct aclprofStopConfig aclprofStopConfig; typedef struct aclprofStopConfig aclprofStopConfig;
typedef struct aclprofAicoreEvents aclprofAicoreEvents; typedef struct aclprofAicoreEvents aclprofAicoreEvents;
typedef struct aclprofSubscribeConfig aclprofSubscribeConfig; typedef struct aclprofSubscribeConfig aclprofSubscribeConfig;
typedef struct aclprofStepInfo aclprofStepInfo;


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -60,7 +77,7 @@ typedef struct aclprofSubscribeConfig aclprofSubscribeConfig;
* *
* @see aclprofFinalize * @see aclprofFinalize
*/ */
ACL_FUNC_VISIBILITY aclError aclprofInit(const char *profilerResultPath, size_t length);
MSVP_PROF_API aclError aclprofInit(const char *profilerResultPath, size_t length);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -71,7 +88,7 @@ ACL_FUNC_VISIBILITY aclError aclprofInit(const char *profilerResultPath, size_t
* *
* @see aclprofInit * @see aclprofInit
*/ */
ACL_FUNC_VISIBILITY aclError aclprofFinalize();
MSVP_PROF_API aclError aclprofFinalize();


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -84,7 +101,7 @@ ACL_FUNC_VISIBILITY aclError aclprofFinalize();
* *
* @see aclprofStop * @see aclprofStop
*/ */
ACL_FUNC_VISIBILITY aclError aclprofStart(const aclprofConfig *profilerConfig);
MSVP_PROF_API aclError aclprofStart(const aclprofConfig *profilerConfig);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -100,9 +117,9 @@ ACL_FUNC_VISIBILITY aclError aclprofStart(const aclprofConfig *profilerConfig);
* *
* @see aclprofDestroyConfig * @see aclprofDestroyConfig
*/ */
ACL_FUNC_VISIBILITY aclprofConfig *aclprofCreateConfig(uint32_t *deviceIdList, uint32_t deviceNums,
aclprofAicoreMetrics aicoreMetrics,
aclprofAicoreEvents *aicoreEvents, uint64_t dataTypeConfig);
MSVP_PROF_API aclprofConfig *aclprofCreateConfig(uint32_t *deviceIdList, uint32_t deviceNums,
aclprofAicoreMetrics aicoreMetrics, aclprofAicoreEvents *aicoreEvents,
uint64_t dataTypeConfig);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -115,7 +132,7 @@ ACL_FUNC_VISIBILITY aclprofConfig *aclprofCreateConfig(uint32_t *deviceIdList, u
* *
* @see aclprofCreateConfig * @see aclprofCreateConfig
*/ */
ACL_FUNC_VISIBILITY aclError aclprofDestroyConfig(const aclprofConfig *profilerConfig);
MSVP_PROF_API aclError aclprofDestroyConfig(const aclprofConfig *profilerConfig);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -128,7 +145,7 @@ ACL_FUNC_VISIBILITY aclError aclprofDestroyConfig(const aclprofConfig *profilerC
* *
* @see aclprofStart * @see aclprofStart
*/ */
ACL_FUNC_VISIBILITY aclError aclprofStop(const aclprofConfig *profilerConfig);
MSVP_PROF_API aclError aclprofStop(const aclprofConfig *profilerConfig);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -142,7 +159,7 @@ ACL_FUNC_VISIBILITY aclError aclprofStop(const aclprofConfig *profilerConfig);
* *
* @see aclprofModelUnSubscribe * @see aclprofModelUnSubscribe
*/ */
ACL_FUNC_VISIBILITY aclError aclprofModelSubscribe(uint32_t modelId, const aclprofSubscribeConfig *profSubscribeConfig);
MSVP_PROF_API aclError aclprofModelSubscribe(uint32_t modelId, const aclprofSubscribeConfig *profSubscribeConfig);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -155,7 +172,7 @@ ACL_FUNC_VISIBILITY aclError aclprofModelSubscribe(uint32_t modelId, const aclpr
* *
* @see aclprofModelSubscribe * @see aclprofModelSubscribe
*/ */
ACL_FUNC_VISIBILITY aclError aclprofModelUnSubscribe(uint32_t modelId);
MSVP_PROF_API aclError aclprofModelUnSubscribe(uint32_t modelId);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -169,8 +186,8 @@ ACL_FUNC_VISIBILITY aclError aclprofModelUnSubscribe(uint32_t modelId);
* *
* @see aclprofDestroySubscribeConfig * @see aclprofDestroySubscribeConfig
*/ */
ACL_FUNC_VISIBILITY aclprofSubscribeConfig *aclprofCreateSubscribeConfig(int8_t timeInfoSwitch,
aclprofAicoreMetrics aicoreMetrics, void *fd);
MSVP_PROF_API aclprofSubscribeConfig *aclprofCreateSubscribeConfig(int8_t timeInfoSwitch,
aclprofAicoreMetrics aicoreMetrics, void *fd);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -183,7 +200,7 @@ ACL_FUNC_VISIBILITY aclprofSubscribeConfig *aclprofCreateSubscribeConfig(int8_t
* *
* @see aclprofCreateSubscribeConfig * @see aclprofCreateSubscribeConfig
*/ */
ACL_FUNC_VISIBILITY aclError aclprofDestroySubscribeConfig(const aclprofSubscribeConfig *profSubscribeConfig);
MSVP_PROF_API aclError aclprofDestroySubscribeConfig(const aclprofSubscribeConfig *profSubscribeConfig);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -194,7 +211,7 @@ ACL_FUNC_VISIBILITY aclError aclprofDestroySubscribeConfig(const aclprofSubscrib
* @retval ACL_SUCCESS The function is successfully executed. * @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure * @retval OtherValues Failure
*/ */
ACL_FUNC_VISIBILITY aclError aclprofGetOpDescSize(size_t *opDescSize);
MSVP_PROF_API aclError aclprofGetOpDescSize(size_t *opDescSize);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -207,7 +224,7 @@ ACL_FUNC_VISIBILITY aclError aclprofGetOpDescSize(size_t *opDescSize);
* @retval ACL_SUCCESS The function is successfully executed. * @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure * @retval OtherValues Failure
*/ */
ACL_FUNC_VISIBILITY aclError aclprofGetOpNum(const void *opInfo, size_t opInfoLen, uint32_t *opNumber);
MSVP_PROF_API aclError aclprofGetOpNum(const void *opInfo, size_t opInfoLen, uint32_t *opNumber);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -221,8 +238,7 @@ ACL_FUNC_VISIBILITY aclError aclprofGetOpNum(const void *opInfo, size_t opInfoLe
* @retval ACL_SUCCESS The function is successfully executed. * @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure * @retval OtherValues Failure
*/ */
ACL_FUNC_VISIBILITY aclError aclprofGetOpTypeLen(const void *opInfo, size_t opInfoLen, uint32_t index,
size_t *opTypeLen);
MSVP_PROF_API aclError aclprofGetOpTypeLen(const void *opInfo, size_t opInfoLen, uint32_t index, size_t *opTypeLen);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -237,8 +253,8 @@ ACL_FUNC_VISIBILITY aclError aclprofGetOpTypeLen(const void *opInfo, size_t opIn
* @retval ACL_SUCCESS The function is successfully executed. * @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure * @retval OtherValues Failure
*/ */
ACL_FUNC_VISIBILITY aclError aclprofGetOpType(const void *opInfo, size_t opInfoLen, uint32_t index, char *opType,
size_t opTypeLen);
MSVP_PROF_API aclError aclprofGetOpType(const void *opInfo, size_t opInfoLen, uint32_t index, char *opType,
size_t opTypeLen);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -252,8 +268,7 @@ ACL_FUNC_VISIBILITY aclError aclprofGetOpType(const void *opInfo, size_t opInfoL
* @retval ACL_SUCCESS The function is successfully executed. * @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure * @retval OtherValues Failure
*/ */
ACL_FUNC_VISIBILITY aclError aclprofGetOpNameLen(const void *opInfo, size_t opInfoLen, uint32_t index,
size_t *opNameLen);
MSVP_PROF_API aclError aclprofGetOpNameLen(const void *opInfo, size_t opInfoLen, uint32_t index, size_t *opNameLen);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -268,8 +283,8 @@ ACL_FUNC_VISIBILITY aclError aclprofGetOpNameLen(const void *opInfo, size_t opIn
* @retval ACL_SUCCESS The function is successfully executed. * @retval ACL_SUCCESS The function is successfully executed.
* @retval OtherValues Failure * @retval OtherValues Failure
*/ */
ACL_FUNC_VISIBILITY aclError aclprofGetOpName(const void *opInfo, size_t opInfoLen, uint32_t index, char *opName,
size_t opNameLen);
MSVP_PROF_API aclError aclprofGetOpName(const void *opInfo, size_t opInfoLen, uint32_t index, char *opName,
size_t opNameLen);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -282,7 +297,7 @@ ACL_FUNC_VISIBILITY aclError aclprofGetOpName(const void *opInfo, size_t opInfoL
* @retval start time(us) of specified op with timestamp * @retval start time(us) of specified op with timestamp
* @retval 0 for failed * @retval 0 for failed
*/ */
ACL_FUNC_VISIBILITY uint64_t aclprofGetOpStart(const void *opInfo, size_t opInfoLen, uint32_t index);
MSVP_PROF_API uint64_t aclprofGetOpStart(const void *opInfo, size_t opInfoLen, uint32_t index);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -295,7 +310,7 @@ ACL_FUNC_VISIBILITY uint64_t aclprofGetOpStart(const void *opInfo, size_t opInfo
* @retval end time(us) of specified op with timestamp * @retval end time(us) of specified op with timestamp
* @retval 0 for failed * @retval 0 for failed
*/ */
ACL_FUNC_VISIBILITY uint64_t aclprofGetOpEnd(const void *opInfo, size_t opInfoLen, uint32_t index);
MSVP_PROF_API uint64_t aclprofGetOpEnd(const void *opInfo, size_t opInfoLen, uint32_t index);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -308,7 +323,7 @@ ACL_FUNC_VISIBILITY uint64_t aclprofGetOpEnd(const void *opInfo, size_t opInfoLe
* @retval execution time(us) of specified op with timestamp * @retval execution time(us) of specified op with timestamp
* @retval 0 for failed * @retval 0 for failed
*/ */
ACL_FUNC_VISIBILITY uint64_t aclprofGetOpDuration(const void *opInfo, size_t opInfoLen, uint32_t index);
MSVP_PROF_API uint64_t aclprofGetOpDuration(const void *opInfo, size_t opInfoLen, uint32_t index);


/** /**
* @ingroup AscendCL * @ingroup AscendCL
@@ -320,7 +335,37 @@ ACL_FUNC_VISIBILITY uint64_t aclprofGetOpDuration(const void *opInfo, size_t opI
* @retval model id of subscription data * @retval model id of subscription data
* @retval 0 for failed * @retval 0 for failed
*/ */
ACL_FUNC_VISIBILITY size_t aclprofGetModelId(const void *opInfo, size_t opInfoLen, uint32_t index);
MSVP_PROF_API size_t aclprofGetModelId(const void *opInfo, size_t opInfoLen, uint32_t index);

/**
* @ingroup AscendCL
* @brief
*
* @param stepInfo [IN] pointer to stepInfo data
* @param aclprofstepTag [IN] start or end flag
* @param stream [IN] steam info
*
* @retval 0 for failed
*/
MSVP_PROF_API aclError aclprofGetStepTimestamp(aclprofStepInfo *stepInfo, aclprofStepTag tag, aclrtStream stream);

/**
* @ingroup AscendCL
* @brief create pointer to aclprofStepInfo data
*
*
* @retval aclprofStepInfo pointer
*/
MSVP_PROF_API aclprofStepInfo *aclprofCreateStepInfo();

/**
* @ingroup AscendCL
* @brief destroy aclprofStepInfo pointer
*
*
* @retval void
*/
MSVP_PROF_API void aclprofDestroyStepInfo(aclprofStepInfo *stepinfo);


#ifdef __cplusplus #ifdef __cplusplus
} }


Loading…
Cancel
Save