下载
中文
注册

AscendIndexSQConfig

API定义

inline AscendIndexSQConfig(std::vector<int> devices, int64_t resourceSize = SQ_DEFAULT_MEM, uint32_t blockSize = DEFAULT_BLOCK_SIZE)

功能描述

AscendIndexSQConfig的构造函数,生成AscendIndexSQConfig,此时根据“devices”中配置的值设置Device侧昇腾AI处理器资源,配置资源池大小。

输入

std::vector<int> devices:Device侧设备ID。

int64_t resourceSize:设备侧预置的内存池大小,单位为Byte,计算过程中存储中间结果的内存空间,用于避免计算过程中动态申请内存造成性能波动。默认参数为头文件中定义的“SQ_DEFAULT_MEM”。该参数通过底库大小和search的batch数共同确定,在底库大于或等于1000万且batch数大于或等于16时建议设置1024MB。

uint32_t blockSize:配置Device侧的blockSize,约束tik算子一次计算的数据量,以及底库分片存储每片存储向量的size,默认值为16384 * 16 = 262144,该值会影响最大可创建Index的数量与检索的性能。

输出

返回值

约束说明

  • “devices”需要为合法有效不重复的设备ID,最大数量为64。
  • “resourceSize”配置的值不超过4 * 1024MB(4 * 1024 * 1024 * 1024字节),当设置为“-1”时,Device侧昇腾AI处理器资源配置为默认值128MB。
  • “blockSize”可配置的值的集合为{16384 * 8,16384 * 16,16384 * 32,16384 * 64}。