This namespace contains memory type constants representing how fingerprints are stored and searched for in an OEFastFPDatabase object.
- OEFastFPDatabase class
The default memory type is OEFastFPDatabaseMemoryType.MemoryMapped.
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.
- Prerequisites for OpenEye’s GPU-accelerated software
- Fingerprint sizes of multiples of 1024 bits.
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 exceeded or a CUDA-enabled device is not detected this implementation falls back to 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.
- Example code in Searching fast fingerprint database section