Skip to main content.

OCLADock - OpenCL Accelerated Molecular Docking

An OpenCL implementation of AutoDock 4.2 running a Lamarckian Genetic Algorithm.



Easy Download

The easiest way to download all of OCLADock (source code, prebuilt-binaries for Linux and Windows, sample input data) is to go to our GitLab Repository, and use the Download icon (close to the top right of this webpage, just above the list of files) and use a familiar archive format (e.g., .zip) to fetch everything at once.




Architecture Operating system
Intel x86_64 CentOS 6.7 & 6.8
Ubuntu 16.04
Windows 7


Operating system CPU GPU
Linux Intel SDK for OpenCL v1.2 AMD APP SDK v3.0
Windows Intel SDK for OpenCL 2016 R3 AMD APP SDK v3.0

Other environments/configurations likely work as well, but are untested.

Ready-to-run Executables

We provide ready-to-run executables for Linux and Windows. These executables have been compiled with a fixed number of work-items (wi, basically the degree of parallel processing done). If you are not sure, you should start with the versions using 16 work-items on a quad-core CPU and 64 work-items for a GPU. These values gave the best performance on our target platforms. The best values for your CPU or GPU might be different.


You only need to do this if you want to target our sources to a different system or modify the code. This can be configured in the Makefile.

Compilation on Linux


Parameters Description Values
<TYPE> Accelerator chosen CPU, GPU
<NWI> OpenCL work-group size 16, 32, 64

After successful compilation, the host binary ocladock_<type>_<N>wi is placed under bin.

Binary-name portion Description Values
<type> Accelerator chosen cpu, gpu
<N> OpenCL work-group size 16, 32, 64

Compilation on Windows

A Microsoft Visual Studio 2013 solution for two configurations ocladock-cpu-deb and ocladock-gpu-deb can be found in the win folder.


Basic command

./bin/ocladock_<type>_<N>wi -ffile <protein>.maps.fld -lfile <ligand>.pdbqt -nrun <nruns>

Mandatory options Description Value
-ffile Protein file <protein>.maps.fld
-lfile Ligand file <ligand>.pdbqt


./bin/ocladock_gpu_64wi -ffile ./input/1stp/derived/1stp_protein.maps.fld -lfile ./input/1stp/derived/1stp_ligand.pdbqt -nrun 10

By default the output log file is written in the current working folder. Examples of output logs can be found under examples/output.

Supported arguments

Argument Description Default value
-nrun # Docking runs 1
-nev # Energy evaluations 2500000
-ngen # Generations 27000
-lsit # Local-search iterations (max.) 300
-psize Population size 150
-mrat Mutation rate 2 (%)
-crat Crossover rate 80 (%)
-lsrat Local-search rate 6 (%)
-trat Tournament rate 60 (%)
-resnam Name for docking output log "docking"

For a complete list of available arguments and their default values, check: getparameters.cpp.


Prebuilt images are provided for Linux and Windows.


For more details, go to the Documentation.

Bibliographic information for citing OCLADock

Leonardo Solis-Vasquez and Andreas Koch. 2017. A Performance and Energy Evaluation of OpenCL-accelerated Molecular Docking. In Proceedings of the 5th International Workshop on OpenCL (IWOCL 2017). ACM, New York, NY, USA, Article 3, 11 pages. DOI:


This project is licensed under the MIT License - see the LICENSE file for details.

-- Main.lvs - 26 Jul 2017