昇腾社区首页
中文
注册

AscendIndexInt8FlatConfig

API定义

AscendIndexInt8FlatConfig(std::vector<int> devices, int64_t resources = INT8_FLAT_DEFAULT_MEM, uint32_t blockSize = BLOCK_SIZE)

功能描述

AscendIndexInt8FlatConfig的构造函数,生成AscendIndexInt8FlatConfig,此时根据“devices”中配置的值设置NPU侧芯片资源,配置资源池大小。

输入

std::vector<int> devices:NPU侧芯片资源。

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

“uint32_t blockSize”:配置Device侧的blockSize,约束tik算子一次计算的数据量,以及底库分片存储每片存储向量的size。默认值“BLOCK_SIZE”为16384 * 16 = 262144。

输出

返回值

约束说明

  • “devices”需要为合法有效的芯片ID,最大芯片数量为64。
  • “resources”配置的值不超过1024MB(1024*1024*1024字节),当设置为“-1”时,NPU侧芯片资源配置为默认值128MB。
  • “blockSize”可配置的值的集合为 { 16384, 32768, 65536, 131072, 262144 }