aclfvSearch
Applicability
|
Product |
Supported |
|---|---|
|
Atlas 350 Accelerator Card |
☓ |
|
|
☓ |
|
|
☓ |
|
|
☓ |
|
|
√ |
|
|
☓ |
Function
Performs 1:N or N:M feature search.
Prototype
aclError aclfvSearch(aclfvSearchType type, aclfvSearchInput *searchInput, aclfvSearchResult *searchRst)
Parameters
|
Parameter |
Input/Output |
Description |
|---|---|---|
|
type |
Input |
Feature search scenario type. For details about the type definition, see aclfvSearchType. |
|
searchInput |
Input |
Pointer to the search input information. For details about the type definition, see aclfvSearchInput. Call the aclfvCreateSearchInput API to create data of the aclfvSearchInput type in advance. |
|
searchRst |
Output |
Pointer to the search output result. For details about the type definition, see aclfvSearchResult. Call the aclfvCreateSearchResult API to create data of the aclfvSearchResult type in advance. The value of queryCnt in the data must be the same as that of queryCnt in searchInput. The number of results returned by the retrieval output is specified by the topk parameter of the aclfvCreateSearchInput API. However, the number is related to the maximum number of topK results set when the aclfvInit API is called for initialization. If the value of topk set by the aclfvCreateSearchInput API is greater than or equal to the maximum number of topK results set during initialization, when the retrieval output is returned: The retrieval result is returned based on the maximum number of top K results set during initialization. If the value of the top K parameter set by the aclfvCreateSearchInput API is less than the maximum number of top K results set during initialization, the retrieval result is returned based on the value of the top K parameter set by the aclfvCreateSearchInput API. |
Returns
0 on success; otherwise, failure. For details, see aclError.
Restrictions
- In N:M mode, multithreaded adding, search, or deletion is not allowed.
- In 1:N or N:M mode, if no repository is added, zero results are returned by the aclfvSearch call.
- This API call automatically creates a stream for synchronous task execution within the API. When the tasks are complete, the stream is automatically destroyed.
Due to hardware restrictions, the total number of streams is limited. For details, see the description of aclrtCreateStream.