README.md 2.55 KB
Newer Older
Leonardo Solis's avatar
Leonardo Solis committed
1
OCLADock-FPGA: OpenCL Accelerated Molecular Docking on FPGAs
Leonardo Solis's avatar
Leonardo Solis committed
2 3 4 5
=============================================================

<img src="logo.png" width="200">

Leonardo Solis's avatar
Leonardo Solis committed
6 7
# Description

Leonardo Solis's avatar
Leonardo Solis committed
8
OpenCL task-parallel version of AutoDock4 for FPGAs. 
Leonardo Solis's avatar
Leonardo Solis committed
9 10

It achieves speed-ups of up to 2.7x over the original single-threaded AutoDock 4.2 on CPU.
11

Leonardo Solis's avatar
Leonardo Solis committed
12 13 14 15 16 17 18
# 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 under regular development & optimization. Their labels follow this convention: `<ALGORITHM>-<TOOL>`:

* [ga-aoc160](https://git.esa.informatik.tu-darmstadt.de/docking/ocladock-fpga/tree/ga-aoc160): Genetic Algorithm (traditional) - Altera OpenCL Compiler v16.0
Leonardo Solis's avatar
Leonardo Solis committed
19
* [ga-intel171](https://git.esa.informatik.tu-darmstadt.de/docking/ocladock-fpga/tree/ga-intel171): Genetic Algorithm (traditional) - Intel FPGA SDK for OpenCL v17.1
Leonardo Solis's avatar
Leonardo Solis committed
20 21 22
* [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

Leonardo Solis's avatar
Leonardo Solis committed
23
# Development commands
Leonardo Solis's avatar
Leonardo Solis committed
24

Leonardo Solis's avatar
Leonardo Solis committed
25
Specific information of the utilized OpenCL tools can be found in the respective README.md for each development branch.
Leonardo Solis's avatar
Leonardo Solis committed
26

Leonardo Solis's avatar
Leonardo Solis committed
27
Initialization scripts automate the tool setup-process. E.g.: 
Leonardo Solis's avatar
Leonardo Solis committed
28

Leonardo Solis's avatar
Leonardo Solis committed
29 30 31
```zsh
% source init_aoc160_gidel.sh
```
Leonardo Solis's avatar
Leonardo Solis committed
32

Leonardo Solis's avatar
Leonardo Solis committed
33
Use the following [Makefile](./ofdock_taskpar_alt/Makefile) rules for:
Leonardo Solis's avatar
Leonardo Solis committed
34

Leonardo Solis's avatar
Leonardo Solis committed
35
_OpenCL kernels compilation_
Leonardo Solis's avatar
Leonardo Solis committed
36 37 38 39

```zsh
make keremu
```
Leonardo Solis's avatar
Leonardo Solis committed
40

Leonardo Solis's avatar
Leonardo Solis committed
41
_Design emulation_
Leonardo Solis's avatar
Leonardo Solis committed
42 43 44 45 46

```zsh
make emu
```

Leonardo Solis's avatar
Leonardo Solis committed
47
_Estimation & optimization reports generation_
Leonardo Solis's avatar
Leonardo Solis committed
48 49 50 51 52

```zsh
make kerrpt
```

Leonardo Solis's avatar
Leonardo Solis committed
53
_FPGA building_
Leonardo Solis's avatar
Leonardo Solis committed
54 55 56 57 58

```zsh
make hw
```

Leonardo Solis's avatar
Leonardo Solis committed
59
_FPGA building for hardware profiling_
Leonardo Solis's avatar
Leonardo Solis committed
60 61 62 63 64

```zsh
make hw-prof
```

Leonardo Solis's avatar
Leonardo Solis committed
65
_FPGA evaluation_
Leonardo Solis's avatar
Leonardo Solis committed
66 67 68 69 70 71 72 73 74

```zsh
make exe
```

# Documentation

For more details, go to the [Documentation](doc/readme/home.md).

Leonardo Solis's avatar
Leonardo Solis committed
75
# Bibliographic information for citing OCLADock-FPGA
Leonardo Solis's avatar
Leonardo Solis committed
76 77 78 79 80 81 82

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.

Leonardo Solis's avatar
Leonardo Solis committed
83 84 85 86
# Related projects

A data-parallel OpenCL implementation of AutoDock4 for CPUs and GPUs can be found in the [OCLADock](https://git.esa.informatik.tu-darmstadt.de/docking/ocladock) repository .

Leonardo Solis's avatar
Leonardo Solis committed
87 88 89 90