README.md 2.4 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
19
20
21
# 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
* [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
22
23
# Development tools

Leonardo Solis's avatar
Leonardo Solis committed
24
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
25

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

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

Leonardo Solis's avatar
Leonardo Solis committed
32
## Important commands
Leonardo Solis's avatar
Leonardo Solis committed
33

Leonardo Solis's avatar
Leonardo Solis committed
34
See rules in [Makefile](./ofdock_taskpar_alt/Makefile).
Leonardo Solis's avatar
Leonardo Solis committed
35

Leonardo Solis's avatar
Leonardo Solis committed
36
**OpenCL kernels compilation**
Leonardo Solis's avatar
Leonardo Solis committed
37
38
39
40
41

```zsh
make keremu
```

Leonardo Solis's avatar
Leonardo Solis committed
42
**Design emulation**
Leonardo Solis's avatar
Leonardo Solis committed
43
44
45
46
47

```zsh
make emu
```

Leonardo Solis's avatar
Leonardo Solis committed
48
**Estimation & optimization reports generation**
Leonardo Solis's avatar
Leonardo Solis committed
49
50
51
52
53

```zsh
make kerrpt
```

Leonardo Solis's avatar
Leonardo Solis committed
54
**FPGA building**
Leonardo Solis's avatar
Leonardo Solis committed
55
56
57
58
59

```zsh
make hw
```

Leonardo Solis's avatar
Leonardo Solis committed
60
**FPGA building for hardware profiling**
Leonardo Solis's avatar
Leonardo Solis committed
61
62
63
64
65

```zsh
make hw-prof
```

Leonardo Solis's avatar
Leonardo Solis committed
66
**FPGA evaluation**
Leonardo Solis's avatar
Leonardo Solis committed
67
68
69
70
71
72
73
74
75

```zsh
make exe
```

# Documentation

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

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

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
84
85
86
87
# 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
88
89
90
91