OEFastFPDatabaseMemoryTypeΒΆ

This namespace contains memory type constants representing how fingerprints are stored and searched for in an OEFastFPDatabase object.

See also

CUDA

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.

Requirements:

  • CUDA-enabled device of compute capability (cc) 3.0 or above.
  • Fingerprint sizes of multiples of 1024 bits.

Note

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.

Note

If device memory limits are exceded or a CUDA-enabled device is not detected this implementation falls back to OEFastFPDatabaseMemoryType_MemoryMapped

Default

The default memory type is OEFastFPDatabaseMemoryType_MemoryMapped.

InMemory

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.

Hint

OEFastFPDatabaseMemoryType_InMemory presents the fastest search at the expense of load time and the search is limited by the size of the memory.

MemoryMapped

When an OEFastFPDatabase is initialized with OEFastFPDatabaseMemoryType_MemoryMapped type there is no load time penalty or memory limitation but the search itself is slower.

See also