Function Description

AscendIndexFlat performs the most basic feature retrieval. It stores FP16 floating-point feature vectors and performs brute force search.

Multi-thread concurrent calling is supported. You need to set the environment variable MX_INDEX_MULTITHREAD to 1, that is, export MX_INDEX_MULTITHREAD=1. If this variable is set to another value or is not set, the multi-thread function is disabled. Currently, FeatureRetrieval uses the OMP for performance acceleration. The OMP cannot be used together with other multi-thread mechanisms. If new threads are repeatedly created to use the OMP, the memory usage keeps increasing. Therefore, you are advised to use fixed threads to run retrieval tasks.

The L2 and IP distance of the AscendIndexFlat algorithm support online operator conversion. If the environment variable MX_INDEX_USE_ONLINEOP is set to 1 (that is, export MX_INDEX_USE_ONLINEOP=1), operators are converted and called online. To use online operators, you need to call (void)aclFinalize() explicitly at the end of the application. The header file must be included, for example, #include "acl/acl.h".