跳到主要内容

函数:destroy_search_input

函数:create_query_table

C函数原型aclfvQueryTable *aclfvCreateQueryTable(uint32_t queryCnt, uint32_t tableLen, uint8_t *tableData, uint32_t tableDataLen)
Python函数query_table = acl.fv.create_query_table(query_cnt, table_len, table_data, table_data_len)
函数功能创建aclfvQueryTable类型的数据,表示创建检索输入表信息。同步接口。 如需销毁aclfvQueryTable类型的数据,请参见函数:destroy_query_table。 Atlas 200/500 A2推理产品不支持该接口。
输入说明- query_cnt:int,检索请求数量,1:N场景为1,N:M场景最大1024。
- table_len:int,单个表长度,长度固定为32KB,系统内部会校验。
- table_data:int,特征值列表,根据特征长度连续存储。
- table_data_len:int,tableData申请的内存长度,用于校验。
返回值说明**query_table:**int,指针地址。
- 返回aclfvQueryTable类型,表示成功。
- 返回0,表示失败。
约束说明

父主题: 特征向量检索

函数:destroy_query_table

C函数原型aclError aclfvDestroyQueryTable(aclfvQueryTable *queryTable)
Python函数ret = acl.fv.destroy_query_table(query_table)
函数功能销毁通过acl.fv.create_query_table接口创建的aclfvQueryTable类型的数据。同步接口。 Atlas 200/500 A2推理产品不支持该接口。
输入说明query_table:int,指针地址,待销毁的aclfvQueryTable类型。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明

父主题: 特征向量检索

函数:create_search_input

C函数原型aclfvSearchInput *aclfvCreateSearchInput(aclfvQueryTable *queryTable, aclfvRepoRange *repoRange, uint32_t topk)
Python函数search_input = acl.fv.create_search_input(query_table, repo_range, topk)
函数功能创建aclfvSearchInput类型的数据,表示创建检索任务输入信息。同步接口。 如需销毁aclfvSearchInput类型的数据,请参见函数:destroy_search_input。 Atlas 200/500 A2推理产品不支持该接口。
输入说明- query_table:int,指针地址,检索的输入表信息。 调用acl.fv.create_query_table接口创建aclfvQueryTable类型的数据。
- repo_range:int,指针地址,检索的特征库范围。 调用acl.fv.create_repo_range接口创建aclfvRepoRange类型的数据。
- topk:单个检索请求需要返回的结果数量。
返回值说明**search_input:**int,指针地址。
- 返回aclfvSearchInput类型,表示成功。
- 返回0,表示失败。
约束说明

父主题: 特征向量检索

函数:destroy_search_input

C函数原型aclError aclfvDestroySearchInput(aclfvSearchInput *searchInput)
Python函数ret = acl.fv.destroy_search_input(search_input)
函数功能销毁通过acl.fv.create_search_input接口创建的aclfvSearchInput类型的数据。同步接口。 Atlas 200/500 A2推理产品不支持该接口。
输入说明search_input:int,指针地址,待销毁的aclfvSearchInput类型。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明

父主题: 特征向量检索

函数:create_search_result

C函数原型aclfvSearchResult *aclfvCreateSearchResult(uint32_t queryCnt, uint32_t *resultNum, uint32_t resultNumDataLen, uint32_t *id0, uint32_t *id1, uint32_t *resultOffset, float *resultDistance, uint32_t dataLen)
Python函数search_result = acl.fv.create_search_result(query_cnt, result_num, result_num_data_len, id_0, id_1, result_offset, result_distance, data_len)
函数功能创建aclfvSearchResult类型的数据,表示创建检索结果信息。同步接口。 如需销毁aclfvSearchResult类型的数据,请参见函数:destroy_search_result。 Atlas 200/500 A2推理产品不支持该接口。
输入说明- query_cnt:int,检索请求个数,1:N场景为1。
- result_num:int,每个检索请求的结果个数。
- result_num_data_len:int,resultNum的内存总长度。
- id_0:int,一级库id,总个数为topK*queryCnt。
- id_1:int,二级库id,总个数为topK*queryCnt。
- result_offset:int,每个检索请求的检索结果对应底库的偏移,总个数为topK*queryCnt。
- result_distance:int,每个检索结果与检索请求间的距离,总个数为topK*queryCnt。
- data_len:int,申请的内存大小,计算公式为:topK*queryCnt*4Byte。
返回值说明search_result:int,指针地址。
- 返回aclfvSearchResult类型,表示成功。
- 返回0,表示失败。
约束说明

父主题: 特征向量检索

函数:destroy_search_result

C函数原型aclError aclfvDestroySearchResult(aclfvSearchResult *searchResult)
Python函数ret = acl.fv.destroy_search_result(search_result)
函数功能销毁通过acl.fv.create_search_result接口创建的aclfvSearchResult类型的数据。同步接口。 Atlas 200/500 A2推理产品不支持该接口。
输入说明search_result:int,指针地址,待销毁的aclfvSearchResult类型。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明

父主题: 特征向量检索

功能介绍

功能

该章节描述通过Profiling pyACL API采集并落盘性能数据,实现将采集到的Profiling数据写入文件,再使用Profiling工具解析该文件(请参见《性能分析工具使用指南》下的“数据解析与导出”),并展示性能分析数据。

包括以下两种接口调用方式:

  • acl.prof.init接口、acl.prof.start接口、acl.prof.stop接口、acl.prof.finalize接口配合使用,实现该方式的性能数据采集。该方式可获取pyACL的接口性能数据、AI Core上算子的执行时间、AI Core性能指标数据等。目前这些接口为进程级控制,表示在进程内任意线程调用该接口,其它线程都会生效。

    一个进程内,可以根据需求多次调用这些接口,基于不同的Profiling采集配置,采集数据。

  • 调用acl.init接口,在pyACL初始化阶段,通过*.json文件传入要采集的Profiling数据。该方式可获取pyACL的接口性能数据、AI Core上算子的执行时间、AI Core性能指标数据等。

    一个进程内,只能调用一次acl.init接口,如果要修改Profiling采集配置,需修改*.json文件中的配置。详细使用说明请参见acl.init接口处的说明,不在本章节描述。

总体约束

不能与Profiling pyACL API for Subscription(订阅算子信息的Profiling pyACL API)的接口交叉调用:acl.prof.init接口和acl.prof.finalize接口之间不能调用acl.prof.model_subscribe接口、aclprofGet*接口、acl.prof.model_unsubscribe接口。

接口约束说明

父主题: Profiling pyACL API(通过Profiling pyACL API采集并落盘性能数据)

在线提单