Profiling模块提供MSPTI C接口,用于实现采集各模块性能数据。
MSPTI API的功能介绍和使用示例请参见使用MSPTI采集性能数据。
头文件路径:${INSTALL_DIR}/include/mspti。
库文件路径:${INSTALL_DIR}/lib64/libmspti.so。
${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包,以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/ascend-toolkit/latest。
具体接口如下:
接口 |
说明 |
---|---|
Function类型 |
|
msptiActivityRegisterCallbacks |
向MSPTI注册回调函数,用于Activity Buffer处理。 |
msptiActivityEnable |
用于使能指定Activity类型数据的采集。 |
msptiActivityDisable |
停止收集特定类型的Activity Record。 |
msptiActivityGetNextRecord |
依次从Activity Buffer获取Activity Record数据。 |
msptiActivityFlushAll |
订阅者手动Flush Activity Buffer中记录的数据。 |
msptiActivityFlushPeriod |
设置Flush的执行周期。 |
msptiActivityPushExternalCorrelationId |
为调用线程推送外部关联ID。 |
msptiActivityPopExternalCorrelationId |
为调用线程推送外部关联ID。 |
Typedef类型 |
|
msptiBuffersCallbackRequestFunc |
向MSPTI注册回调函数,申请Activity Buffer的存储空间。 |
msptiBuffersCallbackCompleteFunc |
向MSPTI注册回调函数,释放Activity Buffer中的数据。 |
Enumeration类型 |
|
msptiActivityKind |
MSPTI支持的所有Activity类型。 |
msptiActivityFlag |
Activity Record的活动标记。 |
msptiActivitySourceKind |
标记Activity数据来源。 |
msptiActivityMemoryOperationType |
内存操作类型的枚举类。 |
msptiActivityMemoryKind |
内存类型的枚举类。 |
msptiActivityMemcpyKind |
内存拷贝类型的枚举类。 |
msptiExternalCorrelationKind |
支持关联的外部API的类型。 |
Data Structure类型 |
|
msptiActivity |
Activity Record的基础结构体。 |
msptiActivityApi |
Activity Record类型MSPTI_ACTIVITY_KIND_API对应的结构体。 |
msptiActivitHccl |
Activity Record类型MSPTI_ACTIVITY_KIND_HCCL对应的结构体。 |
msptiActivityKernel |
Activity Record类型MSPTI_ACTIVITY_KIND_KERNEL对应的结构体。 |
msptiActivityMarker |
Activity Record类型MSPTI_ACTIVITY_KIND_MARKER对应的结构体。 |
msptiActivityMemory |
Activity Record类型MSPTI_ACTIVITY_KIND_MEMORY对应的结构体。 |
msptiActivityMemset |
Activity Record类型MSPTI_ACTIVITY_KIND_MEMSET对应的结构体。 |
msptiActivityMemcpy |
Activity Record类型MSPTI_ACTIVITY_KIND_MEMCPY对应的结构体。 |
msptiActivityExternalCorrelation |
Activity Record类型MSPTI_ACTIVITY_KIND_EXTERNAL_CORRELATION对应的结构体。 |
Union类型 |
|
msptiObjectId |
用于识别Marker的进程ID、线程ID、Device ID、Stream ID。 |
Activity Record:NPU的Profiling记录,使用结构体表示,如msptiActivityApi、msptiActivityMarker等。
Activity Buffer:用于缓存Activity Record数据,并将一个或多个Activity Record从MSPTI传输到客户端。用户根据业务需要提供空的Activity Buffer缓冲区,以确保Activity Record不会被遗漏。
接口 |
说明 |
---|---|
Function类型 |
|
msptiSubscribe |
通过该接口向MSPTI注册回调函数。 |
msptiUnsubscribe |
向MSPTI注销当前订阅者。 |
msptiEnableCallback |
为特定domain和CallbackId的订阅者开启或关闭回调。 |
msptiEnableDomain |
为特定domain的订阅者开启或关闭所有回调。 |
Typedef类型 |
|
msptiCallbackFunc |
回调函数类型。 |
msptiCallbackId |
注册的Callback调用点ID。 |
msptiSubscriberHandle |
订阅者的句柄。 |
Enumeration类型 |
|
msptiCallbackDomain |
相关API函数或CANN驱动程序活动的回调点。 |
msptiApiCallbackSite |
指定API调用中发出回调的点,如回调的开始和回调的结束。 |
msptiCallbackIdRuntime |
Runtime API函数的索引定义。 |
msptiCallbackIdHccl |
通信API函数的索引的简要定义。 |
Data Structure类型 |
|
msptiCallbackData |
用于指定传递到回调函数的数据。 |
接口 |
说明 |
---|---|
Enumeration类型 |
|
msptiResult |
MSPTI返回的错误和结果代码。 |