文档
注册

Init

API定义

APP_ERROR Init(int dim, int capacity, faiss::MetricType metricType, const std::vector<int> &deviceList, int64_t resourceSize = -1);

功能描述

AscendIndexCluster的初始化函数。

输入

int dim:AscendIndexCluster管理的特征向量的维度。

int capacity:底库最大容量,接口会根据“capacity”值申请 capacity * dim * sizeof(fp16) 字节内存数据。

faiss::MetricType metricType:特征距离类别(向量内积、欧氏距离、余弦相似度)。

const std::vector<int> &deviceList:Device侧资源配置。

int64_t resourceSize:设备侧预置的内存池大小,单位为Byte,计算过程中存储中间结果的内存空间,用于避免计算过程中动态申请内存造成性能波动。默认参数为“-1”,表示设置为“128MB”

输出

返回值

APP_ERROR:调用返回状态,具体请参见14-接口调用返回值参考

约束说明

  • dim ∈ {32, 64, 128, 256, 384, 512}。
  • metricType:AscendIndexCluster目前只实现了向量内积距离,即只支持“faiss::MetricType::METRIC_INNER_PRODUCT。”
  • 接口允许为底库申请的内存上限设为 12,288,000,000 Byte,同时“capacity”的值域约束为 [0, 12000000]。
  • 以512维、fp16类型的底库向量为例,最大支持的“capacity”为1200万( 12288000000 / (512 * sizeof(fp_16)) )。
  • 对于256维、fp16类型的底库向量,尽管内存约束支持更大的“capacity”“capacity”最大也只能设为1200万。
  • 仅支持配置单卡,暂不支持配置多卡,需满足deviceList.size() == 1
  • “resourceSize”:可以配置为-1或[134217728,4294967296]之间的值,相当于[128MB,4096MB]。该参数通过底库大小和search的batch数共同确定,在底库大于等于1000万且batch数大于等于16时建议设置为“1024MB”
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词