Prerequisites

Fast fingerprint searching in Graphsim TK is GPU-enabled. In order to run searches on a GPU please refer to the guidelines below:

The following is required in order to use GPU-accelerated OpenEye toolkits and applications:

Supported Platforms

CUDA-enabled OpenEye software is only available on supported Linux platforms. For supported Linux platforms see above and/or the Platform Support Page

Supported GPUs

An NVIDIA Tesla, Quadro, or GeForce GPU with a compute capability of 3.5 or higher is required on your system. For a comprehensive table of which GPUs fall into which compute capability category please refer to the CUDA wikipedia page.

NVIDIA Drivers

  • Minimum NVIDIA Driver version: 450.x.
  • CUDA is not required to be installed.

We recommend driver 450.80.02 and we strongly advise manually downloading and installing the appropriate NVidia driver for your system as opposed to using a package manager.

To install, root privilege is required. Follow these steps:

  1. Download the driver to the machine you are installing it on.

  2. chmod +x the driver package to make it executable.

  3. Ensure you have disabled X-server by killing any running sessions. Reboot may be required if X-server is still running after this step.

    Warning

    Disabling X-server requires different processes to be killed depending on your Linux distribution. See Nvidia installation guide for more details.

    Warning

    The NVidia kernel module can often conflict with the open source Nouveau display drivers depending on your specific Linux distribution. The NVidia documentation is a much more complete and up-to-date source for information on how to work around this issue. See Disabling Nouveau on the NVIDIA website.

  4. Install the driver by sudo ./NVIDIA-Linux-x86_64-450.80.02.run and follow the step-by-step installation instructions.

For more details on driver installations see the CUDA Installation Guide

Note

The output of the nvidia-smi command is extremely useful when debugging GPU issues. Please include the output from nvidia-smi in any request to support@eyesopen.com.

Performance Tuning

To get the most performance out of an NVIDIA Graphics card, use the persistence daemon to switch persistence mode on across all cards on the system (root privilege required):

sudo nvidia-persistenced --user foo

This will automatically enable persistence mode after reboot.

For full instructions on persistence daemon see the Persistence daemon section of the NVIDIA docs.

Usage

An example of how to perform fast fingerprint searches can be found at Searching fast fingerprint database. To run using a GPU the OEFastFPDatabaseMemoryType::CUDA constant is used to construct the OEFastFPDatabase object. If using the example script aforementioned, simply run the script with -memorytype CUDA.