OEFastFPDatabaseMemoryType

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

See also

Default

The default memory type is OEFastFPDatabaseMemoryType::MemoryMapped.

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:

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 exceeded or a CUDA-enabled device is not detected this implementation falls back to 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