昇腾社区首页
中文
注册

功能介绍

IndexILFlat继承自IndexIL,为纯Device侧检索方案,利用昇腾AI处理器和AI Core等资源进行各个接口的使能。程序需要在Host侧编译生成二进制文件,然后将二进制文件和相关运行时依赖部署到Device侧执行。IndexILFlat需要使用Init指定对应资源的初始化,初始化完之后会申请一段完整空间用于存储底库。在使用完之后,需要调用Finalize接口对资源进行释放。

IndexILFlat方案当前只在Atlas 推理系列产品上进行功能和性能的维护,底库和query向量由用户保证归一化,接口当前仅支持向量内积距离,具体使用方法请参见IndexILFlat。(该算法运行成功依赖TIK算子的om文件,纯Device场景需要用户确保部署的是基于Index SDK交付件生成的om文件,需要确保om文件不被篡改。)

支持多线程并发调用,需要设置“MX_INDEX_MULTITHREAD”环境变量为1,即export MX_INDEX_MULTITHREAD=1,设置为其他值或者不设置,则表示不开启多线程功能。当前的特征检索内部会使用OMP做性能加速,OMP不支持与其他多线程机制混用。反复创建新线程使用OMP会导致内存持续累加,因此建议使用固定的线程来运行检索任务。