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.