update thirdparty includes

pull/622/head
taoxiangdong 4 years ago
parent 1f05cd0b5c
commit 7370fb9c63

@ -80,7 +80,7 @@ if (ENABLE_OPEN_SRC)
find_module(error_manager liberror_manager.so ${GE_LIB_PATH})
find_module(ascend_hal_stub libascend_hal.so ${GE_LIB_PATH})
find_module(error_manager_static liberror_manager.a ${GE_LIB_PATH})
find_module(msprofiler_fwk libmsprofiler_fwk.a ${GE_LIB_PATH})
#find_module(msprofiler_fwk libmsprofiler_fwk.a ${GE_LIB_PATH})
#find_module(ascendcl_static libascendcl.a ${GE_LIB_PATH})
else()
find_module(slog libslog.so ${ASCEND_ATC_DIR})
@ -92,7 +92,7 @@ if (ENABLE_OPEN_SRC)
find_module(runtime libruntime.so ${ASCEND_RUNTIME_DIR})
find_module(resource libresource.so ${ASCEND_RUNTIME_DIR})
find_module(error_manager liberror_manager.so ${ASCEND_RUNTIME_DIR})
find_module(msprofiler_fwk libmsprofiler_fwk.a ${ASCEND_RUNTIME_DIR})
#find_module(msprofiler_fwk libmsprofiler_fwk.a ${ASCEND_RUNTIME_DIR})
find_module(ascend_hal_stub libascend_hal.so ${ASCEND_DRIVER_DIR}/driver)
if(PRODUCT STREQUAL "flr3")
message(FATAL_ERROR "This platform is not supported in train mode, build terminated")
@ -115,7 +115,7 @@ if (ENABLE_OPEN_SRC)
find_module(ascend_hal_stub libascend_hal.so ${ASCEND_DRIVER_DIR})
endif()
elseif(PLATFORM STREQUAL "all")
find_module(msprofiler libmsprofiler.a ${ASCEND_DRIVER_COMMON_DIR})
find_module(msprofiler libmsprofiler.a ${ASCEND_ACL_DIR})
find_module(hccl libhccl.so ${ASCEND_RUNTIME_DIR})
find_module(adump_server libadump_server.a ${ASCEND_ACL_DIR})
find_module(runtime libruntime.so ${ASCEND_ACL_DIR})
@ -123,7 +123,7 @@ if (ENABLE_OPEN_SRC)
find_module(resource libresource.so ${ASCEND_ATC_DIR})
find_module(error_manager liberror_manager.so ${ASCEND_ATC_DIR})
find_module(error_manager_static liberror_manager.a ${ASCEND_ACL_DIR})
find_module(msprofiler_fwk libmsprofiler_fwk.a ${ASCEND_ACL_DIR})
#find_module(msprofiler_fwk libmsprofiler_fwk.a ${ASCEND_RUNTIME_DIR})
find_module(ascend_hal_stub libascend_hal.so ${ASCEND_DRIVER_DIR}/driver)
#find_module(ascendcl_static libascendcl.a ${ASCEND_ACL_DIR})
else()

@ -603,6 +603,21 @@ set(INFER_SRC_LIST
"analyzer/analyzer.cc"
)
if (ENABLE_OPEN_SRC)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/msprofiler_fwk_object)
if(EXISTS ${ASCEND_RUNTIME_DIR}/libmsprofiler_fwk.a)
execute_process(
COMMAND ar x ${ASCEND_RUNTIME_DIR}/libmsprofiler_fwk.a
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/msprofiler_fwk_object
)
file(GLOB msprof_file ${CMAKE_CURRENT_BINARY_DIR}/msprofiler_fwk_object/*.o)
else()
file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/msprofiler_fwk.cc CONTENT "")
set(msprof_file ${CMAKE_BINARY_DIR}/msprofiler_fwk.cc)
endif()
add_library(msprofiler_fwk OBJECT ${msprof_file})
endif()
if (NOT ENABLE_D AND NOT ENABLE_ACL AND NOT ENABLE_MS_TESTCASES)
############ libge_runner.so ############
add_library(ge_runner SHARED ${TRAIN_SRC_LIST} ${PROTO_SRCS} ${PROTO_CLIENT_SRCS} $<TARGET_OBJECTS:msprofiler_fwk>)

@ -0,0 +1,60 @@
/**
* Copyright 2019-2020 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef AICPU_OP_TYPE_LIST_H_
#define AICPU_OP_TYPE_LIST_H_
enum OpKernelType {
TF_KERNEL,
CPU_KERNEL
};
enum ReturnCode {
OP_TYPE_NOT_SUPPORT,
FORMAT_NOT_SUPPORT,
DTYPE_NOT_SUPPORT
};
#pragma pack(push, 1)
//One byte alignment
struct SysOpInfo {
uint64_t opLen;
uint64_t opType;
OpKernelType kernelsType;
};
struct OpParamInfo {
uint64_t num;
uint64_t dtypeList;
uint64_t formatList;
};
struct SysOpCheckInfo {
uint64_t opListNum;
uint64_t offSetLen;
uint64_t sysOpInfoList;
uint64_t opParamInfoList;
};
struct SysOpCheckResp {
uint64_t opListNum;
bool isWithoutJson;
uint64_t returnCodeList;
uint64_t sysOpInfoList;
uint64_t opParamInfoList;
};
#pragma pack(pop)
#endif // AICPU_OP_TYPE_LIST_H_

@ -21,13 +21,15 @@
namespace aicpu {
#pragma pack(push, 1)
struct AicpuParamHead
{
uint32_t length; // Total length: include cunstom message
uint32_t ioAddrNum; // Input and output address number
uint32_t extInfoLength; // extInfo struct Length
uint64_t extInfoAddr; // extInfo address
} __attribute__ ((packed));
};
#pragma pack(pop)
} // namespace aicpu

@ -13,10 +13,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef AICPU_ENGINE_H__
#define AICPU_ENGINE_H__
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
@ -36,12 +37,23 @@ typedef enum {
/**
* @ingroup aicpu engine
* @brief aeCallInterface:
* a interface to call a function in a op kernfel lib
* a interface to call a function in a op kernfel lib
* @param [in] addr void *, should be STR_KERNEL * format
* @return aeStatus_t
*/
aeStatus_t aeCallInterface(void *addr);
/**
* @ingroup aicpu engine
* @brief aeBatchLoadKernelSo:
* a interface to load kernel so
* @param [in] loadSoNum load so number
* @param [in] soPaths load so paths
* @param [in] soNames load so names
* @return aeStatus_t
*/
aeStatus_t aeBatchLoadKernelSo(const uint32_t loadSoNum, const char *soPaths[], const char *soNames[]);
#ifdef __cplusplus
}
#endif

@ -33,18 +33,22 @@ typedef enum {
FMK_KERNEL_TYPE_RESERVED
} FwkkernelType_t;
#pragma pack(push, 1)
typedef struct {
uint32_t fwkKernelType; // FwkkernelType_t
union {
::aicpu::FWKAdapter::FWKOperateParam fwk_kernel;
} fwkKernelBase;
} __attribute__((packed)) STR_FWK_OP_KERNEL;
} STR_FWK_OP_KERNEL;
#pragma pack(pop)
#pragma pack(push, 1)
struct SessionInfo {
uint64_t sessionId;
uint64_t kernelId;
bool sessFlag;
} __attribute__((packed));
};
#pragma pack(pop)
#ifdef __cplusplus
}

@ -70,6 +70,7 @@ enum FWKExtUpdateAddrType {
FWK_ADPT_UPDATE_INPUT_OUTPUT
};
#pragma pack(push, 1)
// API Parameter Structure
struct StrFWKKernel {
FWKOperateType opType;
@ -89,31 +90,39 @@ struct StrFWKKernel {
uint64_t extInfoLen; // extend info total length
uint64_t extInfoAddr; // extend info addr, ExtInfo structure
} __attribute__((packed));
};
#pragma pack(pop)
typedef StrFWKKernel FWKOperateParam;
// Extent info ShapeAndType
const uint32_t kMaxShapeDims = 8;
#pragma pack(push, 1)
struct ShapeAndType {
int32_t type;
int64_t dims[kMaxShapeDims];
} __attribute__((packed));
};
#pragma pack(pop)
// Extend info structure for extInfoAddr
const uint32_t kExtInfoHeadSize = 8;
#pragma pack(push, 1)
struct ExtInfo {
int32_t infoType; // extend type
uint32_t infoLen; // length for infoMsg
char infoMsg[0]; // extend value
} __attribute__((packed));
};
#pragma pack(pop)
#pragma pack(push, 1)
struct ResultSummary {
uint64_t shape_data_ptr; // shape data addr, need convert to void*
uint64_t shape_data_size; // num of dims
uint64_t raw_data_ptr; // raw data addr, need convert to void*
uint64_t raw_data_size; // size of raw data
} __attribute__((packed));
};
#pragma pack(pop)
} // end namespace FWKAdapter
} // namespace aicpu

@ -22,7 +22,8 @@
#ifndef HCCL_BASE_H_
#define HCCL_BASE_H_
#include <hccl/hccl_types.h>
#include <string>
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
@ -95,6 +96,33 @@ typedef void *rtStream_t;
*/
typedef void *rtModel_t;
struct HcomOperation {
std::string hcclType;
void *inputPtr;
void *outputPtr;
u64 count;
HcclDataType dataType;
HcclReduceOp opType;
u32 root;
HcomOperation()
{
inputPtr = nullptr;
outputPtr = nullptr;
count = 0;
dataType = HCCL_DATA_TYPE_RESERVED;
opType = HCCL_REDUCE_RESERVED;
root = 0;
}
};
struct HcomRemoteAccessAddrInfo {
u32 remotetRankID;
u64 remoteAddr; // host embedding table address
u64 localAddr; // device HBM address
u64 length; // Memory Length in Bytes
};
#ifdef __cplusplus
}
#endif // __cplusplus

File diff suppressed because it is too large Load Diff

@ -215,6 +215,10 @@ typedef struct {
#define S_IWRITE S_IWUSR
#endif
#define mm_no_argument no_argument
#define mm_required_argument required_argument
#define mm_optional_argument optional_argument
#define M_FILE_RDONLY O_RDONLY
#define M_FILE_WRONLY O_WRONLY
#define M_FILE_RDWR O_RDWR
@ -227,6 +231,7 @@ typedef struct {
#define M_BINARY O_RDONLY
#define M_TRUNC O_TRUNC
#define M_IRWXU S_IRWXU
#define M_APPEND O_APPEND
#define M_IN_CREATE IN_CREATE
#define M_IN_CLOSE_WRITE IN_CLOSE_WRITE
@ -342,17 +347,17 @@ MMPA_FUNC_VISIBILITY INT32 mmCloseSocket(mmSockHandle sockFd);
MMPA_FUNC_VISIBILITY mmSsize_t mmSocketSend(mmSockHandle sockFd, VOID *sendBuf, INT32 sendLen, INT32 sendFlag);
MMPA_FUNC_VISIBILITY mmSsize_t mmSocketRecv(mmSockHandle sockFd, VOID *recvBuf, INT32 recvLen, INT32 recvFlag);
MMPA_FUNC_VISIBILITY INT32 mmSocketSendTo(mmSockHandle sockFd,
VOID *sendMsg,
INT32 sendLen,
UINT32 sendFlag,
const mmSockAddr* addr,
INT32 tolen);
VOID *sendMsg,
INT32 sendLen,
UINT32 sendFlag,
const mmSockAddr* addr,
INT32 tolen);
MMPA_FUNC_VISIBILITY mmSsize_t mmSocketRecvFrom(mmSockHandle sockFd,
VOID *recvBuf,
mmSize recvLen,
UINT32 recvFlag,
mmSockAddr* addr,
mmSocklen_t *FromLen);
VOID *recvBuf,
mmSize recvLen,
UINT32 recvFlag,
mmSockAddr* addr,
mmSocklen_t *FromLen);
MMPA_FUNC_VISIBILITY INT32 mmSAStartup();
MMPA_FUNC_VISIBILITY INT32 mmSACleanup();
MMPA_FUNC_VISIBILITY VOID *mmDlopen(const CHAR *fileName, INT32 mode);
@ -360,7 +365,10 @@ MMPA_FUNC_VISIBILITY INT32 mmDladdr(VOID *addr, mmDlInfo *info);
MMPA_FUNC_VISIBILITY VOID *mmDlsym(VOID *handle, const CHAR *funcName);
MMPA_FUNC_VISIBILITY INT32 mmDlclose(VOID *handle);
MMPA_FUNC_VISIBILITY CHAR *mmDlerror();
MMPA_FUNC_VISIBILITY INT32 mmCreateAndSetTimer(mmTimer *timerHandle, mmUserBlock_t *timerBlock, UINT milliSecond, UINT period);
MMPA_FUNC_VISIBILITY INT32 mmCreateAndSetTimer(mmTimer *timerHandle,
mmUserBlock_t *timerBlock,
UINT milliSecond,
UINT period);
MMPA_FUNC_VISIBILITY INT32 mmDeleteTimer(mmTimer timerHandle);
MMPA_FUNC_VISIBILITY INT32 mmStatGet(const CHAR *path, mmStat_t *buffer);
MMPA_FUNC_VISIBILITY INT32 mmStat64Get(const CHAR *path, mmStat64_t *buffer);
@ -408,8 +416,12 @@ MMPA_FUNC_VISIBILITY VOID mmClosePipe(mmPipeHandle pipe[], UINT32 pipeCount);
// Poll related interface
MMPA_FUNC_VISIBILITY mmCompletionHandle mmCreateCompletionPort();
MMPA_FUNC_VISIBILITY VOID mmCloseCompletionPort(mmCompletionHandle handle);
MMPA_FUNC_VISIBILITY INT32 mmPoll(mmPollfd *fds, INT32 fdCount, INT32 timeout, mmCompletionHandle handleIOCP,
pmmPollData polledData, mmPollBack pollBack);
MMPA_FUNC_VISIBILITY INT32 mmPoll(mmPollfd *fds,
INT32 fdCount,
INT32 timeout,
mmCompletionHandle handleIOCP,
pmmPollData polledData,
mmPollBack pollBack);
MMPA_FUNC_VISIBILITY INT32 mmGetErrorCode();
MMPA_FUNC_VISIBILITY CHAR *mmGetErrorFormatMessage(mmErrorMsg errnum, CHAR *buf, mmSize size);
MMPA_FUNC_VISIBILITY INT32 mmGetTimeOfDay(mmTimeval *timeVal, mmTimezone *timeZone);
@ -454,8 +466,11 @@ MMPA_FUNC_VISIBILITY VOID mmSetOpOpt(INT32 mmOptOpt);
MMPA_FUNC_VISIBILITY CHAR *mmGetOptArg();
MMPA_FUNC_VISIBILITY VOID mmSetOptArg(CHAR *mmOptArg);
MMPA_FUNC_VISIBILITY INT32 mmGetOpt(INT32 argc, char *const *argv, const char *opts);
MMPA_FUNC_VISIBILITY INT32 mmGetOptLong(INT32 argc, char *const *argv, const char *opts, const mmStructOption *longOpts,
INT32 *longIndex);
MMPA_FUNC_VISIBILITY INT32 mmGetOptLong(INT32 argc,
char *const *argv,
const char *opts,
const mmStructOption *longOpts,
INT32 *longIndex);
MMPA_FUNC_VISIBILITY LONG mmLseek(INT32 fd, INT64 offset, INT32 seekFlag);
MMPA_FUNC_VISIBILITY INT32 mmFtruncate(mmProcess fd, UINT32 length);
@ -521,11 +536,14 @@ MMPA_FUNC_VISIBILITY INT32 mmGetMac(mmMacInfo **list, INT32 *count);
MMPA_FUNC_VISIBILITY INT32 mmGetMacFree(mmMacInfo *list, INT32 count);
MMPA_FUNC_VISIBILITY INT32 mmGetCpuInfo(mmCpuDesc **cpuInfo, INT32 *count);
MMPA_FUNC_VISIBILITY INT32 mmCpuInfoFree(mmCpuDesc *cpuInfo, INT32 count);
MMPA_FUNC_VISIBILITY INT32 mmCreateProcess(const CHAR *fileName, const mmArgvEnv *env, const char *stdoutRedirectFile,
mmProcess *id);
MMPA_FUNC_VISIBILITY INT32 mmCreateTaskWithThreadAttr(mmThread *threadHandle, const mmUserBlock_t *funcBlock,
const mmThreadAttr *threadAttr);
MMPA_FUNC_VISIBILITY INT32 mmCreateProcess(const CHAR *fileName,
const mmArgvEnv *env,
const char *stdoutRedirectFile,
mmProcess *id);
MMPA_FUNC_VISIBILITY INT32 mmCreateTaskWithThreadAttr(mmThread *threadHandle,
const mmUserBlock_t *funcBlock,
const mmThreadAttr *threadAttr);
MMPA_FUNC_VISIBILITY mmFileHandle mmShmOpen(const CHAR *name, INT32 oflag, mmMode_t mode);
MMPA_FUNC_VISIBILITY INT32 mmShmUnlink(const CHAR *name);
MMPA_FUNC_VISIBILITY VOID *mmMmap(mmFd_t fd, mmSize_t size, mmOfft_t offset, mmFd_t *extra, INT32 prot, INT32 flags);

@ -237,6 +237,11 @@ typedef struct {
} mmThreadAttr;
typedef VOID (*mmPf)(VOID);
#define mm_no_argument 0
#define mm_required_argument 1
#define mm_optional_argument 2
#define M_FILE_RDONLY GENERIC_READ
#define M_FILE_WRONLY GENERIC_WRITE
#define M_FILE_RDWR (GENERIC_READ | GENERIC_WRITE)
@ -249,6 +254,7 @@ typedef VOID (*mmPf)(VOID);
#define M_CREAT _O_CREAT
#define M_BINARY _O_BINARY
#define M_TRUNC _O_TRUNC
#define M_APPEND _O_APPEND
#define M_IREAD _S_IREAD
#define M_IRUSR _S_IREAD

File diff suppressed because it is too large Load Diff

@ -121,14 +121,6 @@ typedef struct tagRtMemoryConfig {
typedef struct tagRtPlatformConfig { uint32_t platformConfig; } rtPlatformConfig_t;
/**
* @ingroup
* @brief get platform
* @param [in] platForm
* @return platForm
*/
RTS_API rtError_t rtGetPlatformConfig(rtPlatformConfig_t *platForm);
/**
* @ingroup
* @brief get AI core count
@ -169,13 +161,6 @@ RTS_API rtError_t rtGetAiCoreMemoryRates(rtAiCoreMemoryRates_t *aiCoreMemoryRate
*/
RTS_API rtError_t rtGetMemoryConfig(rtMemoryConfig_t *memoryConfig);
/**
* @ingroup
* @brief set platform in gen ctx
* @param [in] platForm
* @return RT_ERROR_NONE for ok, errno for failed
*/
RTS_API rtError_t rtSetPlatformType(rtPlatformType_t platformType);
/**
* @ingroup
@ -185,6 +170,14 @@ RTS_API rtError_t rtSetPlatformType(rtPlatformType_t platformType);
*/
RTS_API rtError_t rtMemGetL2Info(rtStream_t stream, void **ptr, uint32_t *size);
/**
* @ingroup
* @brief get runtime version. The version is returned as (1000 major + 10 minor). For example, RUNTIME 9.2 would be represented by 9020.
* @param [out] runtimeVersion
* @return RT_ERROR_NONE for ok
* @return RT_ERROR_INVALID_VALUE for error input
*/
RTS_API rtError_t rtGetRuntimeVersion(uint32_t *runtimeVersion);
#if defined(__cplusplus) && !defined(COMPILE_OMG_PACKAGE)
}
#endif

@ -330,12 +330,12 @@ RTS_API rtError_t rtGetPairDevicesInfo(uint32_t devId, uint32_t otherDevId, int3
FEATURE_TYPE_MEMCPY = 0,
FEATURE_TYPE_RSV,
} rtFeatureType_t;
* @param [in] infoType info type
* @param [in] featureInfo info type
typedef enum tagMemcpyInfo {
MEMCPY_INFO_SUPPORT_ZEROCOPY = 0,
MEMCPY_INFO _RSV,
} rtMemcpyInfo_t;
* @param [out] value the capability info
* @param [out] value the capability info RT_CAPABILITY_SUPPORT or RT_CAPABILITY_NOT_SUPPORT
* @return RT_ERROR_NONE for ok
*/
RTS_API rtError_t rtGetRtCapability(rtFeatureType_t featureType, int32_t featureInfo, int64_t *value);

@ -28,4 +28,4 @@
#include "rt_model.h"
#include "stream.h"
#endif // __CCE_RUNTIME_RT_H__
#endif // __CCE_RUNTIME_RT_H__

@ -34,9 +34,16 @@ using TDT_StatusT = uint32_t;
typedef uint32_t TDT_StatusT;
#endif
#define LINUX 0
#define WINDOWS 1
#ifndef TDT_LIB_EXPORT
#if(TARGET_SYSTEM_NAME == WINDOWS)
#define TDT_LIB_EXPORT __declspec(dllexport)
#else
#define TDT_LIB_EXPORT __attribute__((visibility("default")))
#endif
#endif
/**
* @ingroup tdt status.
*

@ -23,6 +23,7 @@
#include <mutex>
#include "tdt/status.h"
#include "tdt/data_common.h"
#include "toolchain/prof_callback.h"
#ifdef __cplusplus
extern "C" {
@ -37,7 +38,7 @@ extern "C" {
* Used for the Framework process to communicate with the TSDDaemon process,
* and notify TSD to complete the initialization of other processes
*
* @param phyDeviceId [IN] type #unsigned int. Physical device ID
* @param logicDeviceId [IN] type #unsigned int. Logic device ID
* @param rankSize [IN] type #unsigned int. The rankSize of the training.
* The default value is 1. When rankSize is greater than 1,
* HCCP will be pulled to perform set communication related operations.
@ -49,7 +50,7 @@ extern "C" {
* @li tsd_client.h: Header file where the interface declaration is located.
* @li data_common.h: Header file where 'TDT_StatusT' defined
*/
TDT_LIB_EXPORT TDT_StatusT TsdOpen(const uint32_t phyDeviceId, const uint32_t rankSize);
TDT_LIB_EXPORT TDT_StatusT TsdOpen(const uint32_t logicDeviceId, const uint32_t rankSize);
/**
* @ingroup Close
@ -67,7 +68,7 @@ TDT_LIB_EXPORT TDT_StatusT TsdOpen(const uint32_t phyDeviceId, const uint32_t ra
* @li tsd_client.h: Header file where the interface declaration is located.
* @li data_common.h: Header file where 'TDT_StatusT' defined
*/
TDT_LIB_EXPORT TDT_StatusT TsdClose(const uint32_t phyDeviceId);
TDT_LIB_EXPORT TDT_StatusT TsdClose(const uint32_t logicDeviceId);
/**
* @ingroup UpdateProfilingMode
@ -85,7 +86,26 @@ TDT_LIB_EXPORT TDT_StatusT TsdClose(const uint32_t phyDeviceId);
* @li tsd_client.h: Header file where the interface declaration is located.
* @li data_common.h: Header file where 'TDT_StatusT' defined
*/
TDT_LIB_EXPORT TDT_StatusT UpdateProfilingMode(const uint32_t phyDeviceId, const uint32_t flag);
TDT_LIB_EXPORT TDT_StatusT UpdateProfilingMode(const uint32_t logicDeviceId, const uint32_t flag);
/**
* @ingroup TsdSetMsprofReporterCallback
* @brief aicpuprofilngcallback
*
* @par Function
* offlineaicpu_sdprofilingcallback
*
* @param callback [IN] type #MsprofReporterCallback.
* @retval TDT_OK Success
* @retval OtherValues Failure
*
* @par Dependency
* @li libtsdclient.so: Library to which the interface belongs.
* @li tsd_client.h: Header file where the interface declaration is located.
* @li data_common.h: Header file where 'TDT_StatusT' defined
* @li prof_callback.h: Headerfile where 'MsprofReporterCallback' defined
*/
TDT_LIB_EXPORT TDT_StatusT TsdSetMsprofReporterCallback(MsprofReporterCallback callback);
/**
* @ingroup CreateCmdParameterObj

@ -0,0 +1,135 @@
/**
* Copyright 2020-2020 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* @file prof_callback.h
* @brief declaraion of profiling callbacks
*/
#ifndef MSPROFILER_PROF_CALLBACK_H_
#define MSPROFILER_PROF_CALLBACK_H_
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
#include "stddef.h"
#include "stdint.h"
/**
* @name MsprofErrorCode
* @brief error code
*/
enum MsprofErrorCode {
MSPROF_ERROR_NONE = 0,
MSPROF_ERROR_MEM_NOT_ENOUGH,
MSPROF_ERROR_GET_ENV,
MSPROF_ERROR_CONFIG_INVALID,
MSPROF_ERROR_ACL_JSON_OFF,
MSPROF_ERROR,
};
#define MSPROF_ENGINE_MAX_TAG_LEN (31)
/**
* @name ReporterData
* @brief struct of data to report
*/
struct ReporterData {
char tag[MSPROF_ENGINE_MAX_TAG_LEN + 1]; // the sub-type of the module, data with different tag will be writen
int deviceId; // the index of device
size_t dataLen; // the length of send data
unsigned char *data; // the data content
};
/**
* @name MsprofReporterModuleId
* @brief module id of data to report
*/
enum MsprofReporterModuleId {
MSPROF_MODULE_DATA_PREPROCESS = 0, // DATA_PREPROCESS
MSPROF_MODULE_HCCL, // HCCL
MSPROF_MODULE_ACL, // AclModule
MSPROF_MODULE_FRAMEWORK, // Framework
MSPROF_MODULE_RUNTIME // runtime
};
/**
* @name MsprofReporterCallbackType
* @brief reporter callback request type
*/
enum MsprofReporterCallbackType {
MSPROF_REPORTER_REPORT = 0, // report data
MSPROF_REPORTER_INIT, // init reporter
MSPROF_REPORTER_UNINIT, // uninit reporter
};
/**
* @name MsprofReporterCallback
* @brief callback to start reporter/stop reporter/report date
* @param moduleId [IN] enum MsprofReporterModuleId
* @param type [IN] enum MsprofReporterCallbackType
* @param data [IN] callback data (nullptr on INTI/UNINIT)
* @param len [IN] callback data size (0 on INIT/UNINIT)
* @return enum MsprofErrorCode
*/
typedef int32_t (*MsprofReporterCallback)(uint32_t moduleId, uint32_t type, void *data, uint32_t len);
#define MSPROF_OPTIONS_DEF_LEN_MAX (2048)
/**
* @name MsprofGeOptions
* @brief struct of MSPROF_CTRL_INIT_GE_OPTIONS
*/
struct MsprofGeOptions {
char jobId[MSPROF_OPTIONS_DEF_LEN_MAX];
char options[MSPROF_OPTIONS_DEF_LEN_MAX];
};
/**
* @name MsprofCtrlCallbackType
* @brief ctrl callback request type
*/
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
};
/**
* @name MsprofCtrlCallback
* @brief callback to start/stop profiling
* @param type [IN] enum MsprofCtrlCallbackType
* @param data [IN] callback data
* @param len [IN] callback data size
* @return enum MsprofErrorCode
*/
typedef int32_t (*MsprofCtrlCallback)(uint32_t type, void *data, uint32_t len);
/**
* @name MsprofSetDeviceCallback
* @brief callback to notify set/reset device
* @param devId [IN] device id
* @param isOpenDevice [IN] true: set device, false: reset device
*/
typedef void (*MsprofSetDeviceCallback)(uint32_t devId, bool isOpenDevice);
#ifdef __cplusplus
}
#endif
#endif // MSPROFILER_PROF_CALLBACK_H_

@ -16,7 +16,17 @@
#ifndef MSPROF_ENGINE_PROF_REPORTER_H_
#define MSPROF_ENGINE_PROF_REPORTER_H_
#ifndef OS_TYPE
#define OS_TYPE 0
#endif // OS_TYPE
#if (OS_TYPE != LINUX)
#define MSVP_PROF_API __declspec(dllexport)
#else
#define MSVP_PROF_API __attribute__((visibility("default")))
#endif
#include "prof_callback.h"
/**
* @file prof_reporter.h
@ -25,20 +35,6 @@
*/
namespace Msprof {
namespace Engine {
/// the max tag length
#define MSPROF_ENGINE_MAX_TAG_LEN (31)
/**
* @ingroup reporter
* @brief struct ReporterData
* the sturct of the data send to libmsprof
*/
struct ReporterData {
char tag[MSPROF_ENGINE_MAX_TAG_LEN + 1]; ///< the sub-type of the module, data with different tag will be writen
int deviceId; ///< the physical id of device
size_t dataLen; ///< the length of send data
unsigned char *data; ///< the data content
};
/**
* @ingroup reporter
* @brief class Reporter
@ -86,4 +82,4 @@ class MSVP_PROF_API Reporter {
} // namespace Engine
} // namespace Msprof
#endif // MSPROF_ENGINE_PROF_REPORTER_H_
#endif // MSPROF_ENGINE_PROF_REPORTER_H_

@ -18,7 +18,9 @@
#define D_SYSLOG_H_
#ifdef __cplusplus
#ifndef LOG_CPP
extern "C" {
#endif
#endif // __cplusplus
#ifndef LINUX
@ -105,6 +107,7 @@ extern "C" {
#define SECURITY_LOG_MASK (0x00100000)
#define RUN_LOG_MASK (0x01000000)
#define OPERATION_LOG_MASK (0x10000000)
#define RESERVERD_LENGTH 52
typedef struct tagDCODE {
const char *cName;
@ -116,6 +119,18 @@ typedef struct tagKV {
char *value;
} KeyValue;
typedef enum {
APPLICATION = 0,
SYSTEM
} ProcessType;
typedef struct {
ProcessType type;
unsigned int pid;
unsigned int deviceId;
char reserved[RESERVERD_LENGTH];
} LogAttr;
/**
* @ingroup slog
*
@ -228,6 +243,14 @@ DLL_EXPORT int dlog_setlevel(int moduleId, int level, int enableEvent);
*/
DLL_EXPORT int CheckLogLevel(int moduleId, int logLevel);
/**
* @ingroup slog
* @brief DlogSetAttr: set log attr, default pid is 0, default device id is 0, default process type is APPLICATION
* @param [in]logAttr: attr info, include pid(must be larger than 0), process type and device id(chip ID)
* @return: 0: SUCCEED, others: FAILED
*/
DLL_EXPORT int DlogSetAttr(LogAttr logAttr);
/**
* @ingroup slog
* @brief dlog_error: print error log
@ -367,6 +390,8 @@ 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
}
#endif // LOG_CPP
#endif // __cplusplus
#endif // D_SYSLOG_H_

Loading…
Cancel
Save