Chiosa
Search & Data

SweepANN speeds broad molecule searches on GPUs

2 min
Updated

In plain words

Drug screens first gather a wide list of molecules for each protein pocket. Later checks only examine molecules on that list, so missed candidates are lost.

SweepANN is a GPU system that scores compressed molecule vectors and keeps likely winners in small buffers. In a test with 500 million molecules and 26,562 pockets, it returned 500,000 candidates per pocket, averaging 99.63% of the exact best matches. Four pockets were below 99% recall.

The research

Drug screening keeps a wide pool because later docking tests only retrieved molecules; a molecule missed at this stage is lost from those later checks.

As libraries grow, can a search still return hundreds of thousands of candidates per protein pocket while keeping nearly all of the exact best matches?

SweepANN scans compressed molecule vectors in batches and uses a seed cutoff to keep large candidate sets within GPU memory.

On four RTX PRO 6000 GPUs, SweepANN completed the 500-million-row campaign for 26,562 pocket queries in 61.04 seconds of resident time. That clock covers query staging, scanning, merging and overflow checks through GPU answers, but excludes library loading and output delivery.

Against exact FP32 top-500,000 results, its answers contained 99.63% of the reference molecules on average; the minimum was 98.52%, with four queries below 99%. The full campaign therefore met the 99% mean target while not reaching it for every pocket.

The campaign's mean recall met the 99% target, but four queries fell below it. Resident time ends with answers in GPU memory; it excludes library loading, quantization, graph capture and delivery to a host or durable storage. SweepANN also requires the compressed library to fit in aggregate GPU memory.

Analysis

Deep

Next paperCurvature-guided compression avoids rotating model weights