OCLADock-FPGA: OpenCL Accelerated Molecular Docking on FPGAs ============================================================= # Description OpenCL task-parallel version of AutoDock4 for FPGAs. It achieves speed-ups of up to 2.7x over the original single-threaded AutoDock 4.2 on CPU. # Development tools Intel (Altera) OpenCL Compiler v16.0 (Quartus upgraded and patched: 16.0.0.211). Initialization scripts automate the tool setup-process: ```zsh % source init_aoc160_gidel.sh ``` ## Important commands See rules in [Makefile](./ofdock_taskpar_alt/Makefile). **OpenCL kernels compilation** ```zsh make keremu ``` **Design emulation** ```zsh make emu ``` **Estimation & optimization reports generation** ```zsh make kerrpt ``` **FPGA building** ```zsh make hw ``` **FPGA building for hardware profiling** ```zsh make hw-prof ``` **FPGA evaluation** ```zsh make exe ``` # Development branches The master branch points to the latest OCLADock-FPGA version: [lga-aoc160](https://git.esa.informatik.tu-darmstadt.de/docking/ocladock-fpga/tree/lga-aoc160). The other branches are regular development & optimization. Their labels follow this convention: `-` * [ga-aoc160](https://git.esa.informatik.tu-darmstadt.de/docking/ocladock-fpga/tree/ga-aoc160): Genetic Algorithm (traditional) - Altera OpenCL Compiler v16.0 * [lga-intel171](https://git.esa.informatik.tu-darmstadt.de/docking/ocladock-fpga/tree/lga-intel171): Lamarckian Genetic Algorithm - Intel FPGA SDK for OpenCL v17.1 * [lga-sdx174](https://git.esa.informatik.tu-darmstadt.de/docking/ocladock-fpga/tree/lga-sdx174): Lamarckian Genetic Algorithm - Xilinx SDAccel v2017.4 # Documentation For more details, go to the [Documentation](doc/readme/home.md). # Bibliographic information for citing OCLADock-FPGA Leonardo Solis-Vasquez and Andreas Koch. 2018. A Case Study in Using OpenCL on FPGAs: Creating an Open-Source Accelerator of the AutoDock Molecular Docking Software. In Proceedings of the 5th International Workshop on FPGAs for Software Programmers (FSP), 2018. # License This project is licensed under the GNU GPLv2 - see the [LICENSE](LICENSE) file for details.