AscendIndexIVFSPConfig
AscendIndexIVFSP需要使用对应的AscendIndexIVFSPConfig执行对应资源的初始化。
公共参数
参数名 |
数据类型 |
参数说明 |
---|---|---|
handleBatch |
int |
检索时每次下发计算的候选桶数量,默认值为“64”。 |
nprobe |
int |
检索时总的候选桶数量,默认值为“64”。 |
searchListSize |
int |
检索时每次下发计算的每个桶的最大样本数量,默认值为“32768”。 若桶太大,程序会自动根据“searchListSize”将桶拆成多次算子下发计算距离。 |
接口说明
API定义 |
inline AscendIndexIVFSPConfig(); |
---|---|
功能描述 |
默认构造函数,默认devices为{0},使用第0个昇腾AI处理器进行计算,默认resources为128MB。 |
输入 |
无 |
输出 |
无 |
返回值 |
无 |
约束说明 |
无 |
API定义 |
inline explicit AscendIndexIVFSPConfig(std::initializer_list<int> devices, int64_t resources = IVF_SP_DEFAULT_MEM, uint32_t blockSize = DEFAULT_BLOCK_SIZE); |
---|---|
功能描述 |
AscendIndexIVFSPConfig构造函数,生成AscendIndexIVFSPConfig,指定Device侧设备ID和资源池大小。 |
输入 |
std::initializer_list<int> devices:Device侧设备ID。 int64_t resources:设备侧预置的内存池大小,单位为Byte,计算过程中存储中间结果的内存空间,用于避免计算过程中动态申请内存造成性能波动。默认参数为头文件中的“IVF_SP_DEFAULT_MEM”。该参数通过底库大小和search的batch数共同确定,在底库大于或等于1000万且batch数大于或等于16时建议设置1024MB。 uint32_t blockSize:预置的内存块大小,单位为Byte。默认参数为头文件中的“DEFAULT_BLOCK_SIZE”。 |
输出 |
无 |
返回值 |
无 |
约束说明 |
|
API定义 |
inline explicit AscendIndexIVFSPConfig(std::vector<int> devices, int64_t resources = IVF_SP_DEFAULT_MEM, uint32_t blockSize = DEFAULT_BLOCK_SIZE); |
---|---|
功能描述 |
AscendIndexIVFSPConfig构造函数,生成AscendIndexIVFSPConfig,指定Device侧设备ID和资源池大小。 |
输入 |
std::vector<int> devices:Device侧设备ID。 int64_t resources:设备侧预置的内存池大小,单位为Byte,计算过程中存储中间结果的内存空间,用于避免计算过程中动态申请内存造成性能波动。默认参数为头文件中的“IVF_SP_DEFAULT_MEM”。该参数通过底库大小和search的batch数共同确定,在底库大于或等于1000万且batch数大于或等于16时建议设置1024MB。 uint32_t blockSize:预置的内存块大小,单位为Byte。默认参数为头文件中的“DEFAULT_BLOCK_SIZE”。 |
输出 |
无 |
返回值 |
无 |
约束说明 |
|