函数:destroy_config
函数:create_config
| C函数原型 | aclprofConfig *aclprofCreateConfig(uint32_t *deviceIdlist,uint32_t deviceNums, aclprofAicoreMetrics aicoreMetrics, aclprofAicoreEvents *aicoreEvents, uint64_t dataTypeConfig) |
|---|---|
| Python函数 | prof_config = acl.prof.create_config(device_list,aicore_metrics, aicore_events**, data_type_config)** |
| 函数功能 | 创建aclprofConfig类型的数据,表示创建Profiling配置数据。同步接口。 aclProfConfig类型数据可以只创建一次、多处使用,用户需要保证数据的一致性和准确性。 如需销毁aclprofConfig类型的数据,请参见函数:destroy_config。 |
| 输入说明 | device_list:Device ID列表。 aicore_metrics:表示aclprofAicoreMetrics。 aicore_events:表示AI Core事件,目前配置为0。 data_type_config: 用户选择如下多个值进行逻辑或(例如:ACL_PROF_ACL_API|ACL_PROF_AICORE_METRICS),作为data_type_config参数值。每个值表示某一类性能数据,详细说明如下: - ACL_PROF_ACL_API:表示采集pyACL接口的性能数据,包括的同步异步内存复制时延等。 - ACL_PROF_TASK_TIME:采集算子下发耗时、算子执行耗时数据以及算子基本信息数据,提供更全面的性能分析数据。 - ACL_PROF_TASK_TIME_L0:采集算子下发耗时、算子执行耗时数据。与ACL_PROF_TASK_TIME相比,由于不采集算子基本信息数据,采集时性能开销较小,可更精准统计相关耗时数据。 - ACL_PROF_AICORE_METRICS:表示采集AI Core性能指标数据,逻辑或时必须包括该宏,aicore_metrics入参处配置的性能指标采集项才有效。 - ACL_PROF_TASK_MEMORY:控制CANN算子的内存占用情况采集开关。仅采集GE组件算子。 - ACL_PROF_AICPU:表示采集AI CPU任务的开始、结束数据。 - ACL_PROF_L2CACHE:表示采集L2 Cache数据。 - ACL_PROF_HCCL_TRACE:控制hccl数据采集开关。 - ACL_PROF_MSPROFTX:获取用户和上层框架程序输出的性能数据。 - ACL_PROF_RUNTIME_API:控制runtime api性能数据采集开关。 |
| 返回值说明 | prof_config:int。 - 返回非0值表示成功,返回值为返回aclprofConfig类型的指针地址。 - 返回0表示失败。 |
| 约束说明 | - 使用acl.prof.destroy_config接口销毁aclprofConfig类型的数据,如不销毁会导致内存未被释放。 - 与acl.prof.destroy_config接口配对使用,先调用acl.prof.create_config接口再调用acl.prof.destroy_config接口。 |
父主题: Profiling pyACL API(通过Profiling pyACL API采集并落盘性能数据)
函数:set_config
| C函数原型 | aclError aclprofSetConfig(aclprofConfigType configType, const char *config, size_t configLength) |
|---|---|
| Python函数 | ret = acl.prof.set_config(config_type, config) |
| 函数功能 | acl.prof.create_config接口的扩展接口,用于设置性能数据采集参数。同步接口。 该接口支持多次调用,用户需要保证数据的一致性和准确性。 |
| 输入说明 | config_type:int,用户选择如下多个常量进行逻辑或(例如:ACL_PROF_SYS_HARDWARE_MEM_FREQ | ACL_PROF_SYS_IO_FREQ),作为config_type参数值。每个常量表示某一类性能数据,详细说明如下: - ACL_PROF_STORAGE_LIMIT = 1:指定落盘目录允许存放的最大文件容量,有效取值范围为[200MB, 4294967296MB]。 - ACL_PROF_SYS_HARDWARE_MEM_FREQ = 3:片上内存、LLC的读写带宽数据采集频率以及acc_pmu数据和SOC传输带宽信息采集频率,范围[1,100]。 不同产品支持情况不同,请以实际实现为准。 - ACL_PROF_LLC_MODE = 4:LLC Profiling采集事件。 - read:读事件,三级缓存读速率。 - write:写事件,三级缓存写速率。默认为read。 - ACL_PROF_SYS_IO_FREQ = 5:NIC采集频率,范围[1,100]。 容器场景下本参数不生效。 - ACL_PROF_DVPP_FREQ = 7:DVPP采集频率,范围[1,100]。 config:str,配置项的参数值。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回其它值表示失败。 |
| 约束说明 | 先调用acl.prof.set_config接口再调用acl.prof.start接口,可根据需求选择调用该接口。 |
父主题: Profiling pyACL API(通过Profiling pyACL API采集并落盘性能数据)
函数:destroy_config
| C函数原型 | aclError aclprofDestroyConfig(const aclprofConfig *profilerConfig) |
|---|---|
| Python函数 | ret = acl.prof.destroy_config(profiler_config) |
| 函数功能 | 销毁aclprofConfig类型的数据,只能销毁通过acl.prof.create_config接口创建的aclprofConfig类型。 |
| 输入说明 | profiler_config:待销毁的aclprofConfig类型的指针地址。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回其它值表示失败。 |
| 约束说明 | - 与acl.prof.create_config接口配对使用,先调用acl.prof.create_config接口再调用aclprofDestroyConfig接口。 - 同一aclprofConfig数据重复调用acl.prof.destroy_config接口,会出现重复释放内存的报错。 |
父主题: Profiling pyACL API(通过Profiling pyACL API采集并落盘性能数据)
函数:init
| C函数原型 | aclError aclprofInit(const char *profilerResultPath, size_t length) |
|---|---|
| Python函数 | ret = acl.prof.init(profiler_result_path) |
| 函数功能 | 初始化Profiling,目前用于设置保存性能数据的文件的路径。同步接口。 |
| 输入说明 | profiler_result_path:str,指定保存性能数据的文件的路径,此路径为绝对路径。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回其它值表示失败。 |
| 参考资源 | 接口调用示例,参见Profiling性能数据采集。 |
父主题: Profiling pyACL API(通过Profiling pyACL API采集并落盘性能数据)
函数:start
| C函数原型 | aclError aclprofStart(aclprofConfig *profilerConfig) |
|---|---|
| Python函数 | ret = acl.prof.start(profiler_config) |
| 函数功能 | 下发Profiling请求,使能对应数据的采集。同步接口。 用户可根据需要,在模型执行过程中按需调用acl.prof.start接口,Profling采集到的数据为调用该接口之后的数据。 |
| 输入说明 | profiler_config:int,指定Profiling配置数据。 需提前调用acl.prof.create_config接口创建aclprofConfig类型的数据。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回其它值表示失败。 |
| 约束说明 | 与acl.prof.stop接口配对使用,先调用acl.prof.start接口再调用acl.prof.stop接口。 |
| 参考资源 | 接口调用示例,参见Profiling性能数据采集。 |
父主题: Profiling pyACL API(通过Profiling pyACL API采集并落盘性能数据)
函数:stop
| C函数原型 | aclError **aclprofStop(**aclprofConfig *profilerConfig) |
|---|---|
| Python函数 | ret = acl.prof.stop(profiler_config) |
| 函数功能 | 停止Profiling数据采集。同步接口。 |
| 输入说明 | profiler_config:int,指定停止Profiling数据采集的配置的指针地址。 与acl.prof.start接口中的aclprofConfig类型数据保持一致。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回其它值表示失败。 |
| 约束说明 | 与acl.prof.start接口配对使用,先调用acl.prof.start接口再调用acl.prof.stop接口。 |
| 参考资源 | 接口调用示例,参见Profiling性能数据采集。 |
父主题: Profiling pyACL API(通过Profiling pyACL API采集并落盘性能数据)
在线提单