Overview

It is possible to perform virtual screening runs on a Graphics Processing Unit, a GPU, in Molegro Virtual Docker. The advantage of using a GPU is the speed – a modern GPU processor is able to deliver much more computational power than even the fastest CPU’s.

We have created a special version of our molecular docking code, which can be executed on GPU’s. With the appropriate hardware this makes it possible to dock a single compound in less than one second. The actual docking time depends on both the CPU, the GPU, the OS, and the complex, but some typical running times (here for the examples included with MVD) are:

Complex Windows (32-bit) Linux (64-bit)
1HVR 0.34s 0.21s
1STP 0.23s 0.18S
3PTB 0.18s 0.12S

The results above were obtained on a Intel Core2 Quad Q8200 with a Nvidia GeForce 570GTX. Four instances of MVD were run in parallel. The results shown is the time for a single docking run. We usually recommend 10 runs per compound, but for faster virtual screening the number of runs may be lowered. Notice that Linux is faster because the driver model in Windows imposes a small overhead.

Our implementation is built on the CUDA platform, which means that a Nvidia graphics card is required. Our implementation runs on standard Nvidia Geforce cards, so it is not necessary with dedicated Quadro or Tesla hardware. GPU acceleration is available on Windows and Linux.

If you are interested in the technical aspects of GPU programming, we have published a paper on our first generation implementation:

GPU-accelerated high-accuracy molecular docking using guided differential evolution: real world applicationsSimonsen, Pedersen, Christensen, Thomsen. GECCO ’11.

Notice, that the version in MVD has been extended and improved since this paper was released, please see the Molegro Virtual Docker manual for more information.

GPU Acceleration FAQ

What do I need to run GPU accelerated docking?

A CUDA compatible Nvidia card. Nvidia maintains a list here.

It should not be necessary to install special drivers or software, but make sure your driver is updated to the latest version. The latest Nvidia drivers may be found here.

How do I achieve the highest possible speed?

The speed depends on several factors. The theoretical computational power (GFLOPS) of the Graphics card is a good indicator of performance. But there are also other factors: the docking algorithm uses both the CPU and GPU and passes data between them. For a fast GPU, a single process (thread) on the CPU may not be enough to deliver data to the GPU. This can be overcome by starting several docking processes (each time the docking wizard is invoked, it starts a new thread).

Is GPU accelerated docking as accurate as the CPU versions?

The algorithms running on the GPU is different to the CPU versions, due to the architecture of the GPU’s. This means that the GPU accelerated algorithms runs with a slightly lower accuracy than the CPU algorithms. As for the CPU algorithms, the accuracy also depends on the number of runs performed – and here the optimal setting depends on the compounds in the data set. If possible, it is always a good idea to test algorithms settings on known crystallographic structures to see if they are able to reproduce experimental data.

For a set of 85 diverse compounds (the Astex Diverse Set) the GPU accelerated docking had an accuracy of 74% (RMSD<2 angstrom) for the top-ranked poses (using 10 runs per compound).


Download a product flyer (PDF document) for GPU Accelerated Docking.