This namespace contains memory type constants representing how fingerprints are stored and searched for in an OEFastFPDatabase object.
If a CUDA-enabled GPU is available, OEFastFPDatabase can take advantage of the device for similarity calculations. When an OEFastFPDatabase is initialized with the OEFastFPDatabaseMemoryType_CUDA type, similarity calculations are performed on the device. Initialization incurs a one-time load penalty, similar to OEFastFPDatabaseMemoryType_InMemory.
At present, multi-GPU support is not available. If there are multiple CUDA devices on the system, the first compatible device detected will be used. To enforce the use of a particular device, set the environment variable CUDA_VISIBLE_DEVICES.
If device memory limits are exceded or a CUDA-enabled device is not detected this implementation falls back to OEFastFPDatabaseMemoryType_MemoryMapped
The default memory type is OEFastFPDatabaseMemoryType_MemoryMapped.
When an OEFastFPDatabase is initialized with OEFastFPDatabaseMemoryType_InMemory type the fingerprints are pre-loaded into memory and the similarity search performed in-memory when calling the OEFastFPDatabase.GetSortedScores method.
OEFastFPDatabaseMemoryType_InMemory presents the fastest search at the expense of load time and the search is limited by the size of the memory.