README.md 2.16 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
# Development tools

Intel (Altera) OpenCL Compiler v16.0 (Quartus upgraded and patched: 16.0.0.211).

Initialization scripts automate the tool setup-process:
17

Leonardo Solis's avatar
Leonardo Solis committed
18
```zsh
Leonardo Solis's avatar
Leonardo Solis committed
19
% source init_aoc160_gidel.sh
Leonardo Solis's avatar
Leonardo Solis committed
20
```
Leonardo Solis's avatar
Leonardo Solis committed
21

Leonardo Solis's avatar
Leonardo Solis committed
22
## Important commands
Leonardo Solis's avatar
Leonardo Solis committed
23

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

Leonardo Solis's avatar
Leonardo Solis committed
26
**OpenCL kernels compilation**
Leonardo Solis's avatar
Leonardo Solis committed
27
28
29
30
31

```zsh
make keremu
```

Leonardo Solis's avatar
Leonardo Solis committed
32
**Design emulation**
Leonardo Solis's avatar
Leonardo Solis committed
33
34
35
36
37

```zsh
make emu
```

Leonardo Solis's avatar
Leonardo Solis committed
38
**Estimation & optimization reports generation**
Leonardo Solis's avatar
Leonardo Solis committed
39
40
41
42
43

```zsh
make kerrpt
```

Leonardo Solis's avatar
Leonardo Solis committed
44
**FPGA building**
Leonardo Solis's avatar
Leonardo Solis committed
45
46
47
48
49

```zsh
make hw
```

Leonardo Solis's avatar
Leonardo Solis committed
50
**FPGA building for hardware profiling**
Leonardo Solis's avatar
Leonardo Solis committed
51
52
53
54
55

```zsh
make hw-prof
```

Leonardo Solis's avatar
Leonardo Solis committed
56
**FPGA evaluation**
Leonardo Solis's avatar
Leonardo Solis committed
57
58
59
60
61

```zsh
make exe
```

Leonardo Solis's avatar
Leonardo Solis committed
62
63
# Development branches

Leonardo Solis's avatar
Leonardo Solis committed
64
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).
Leonardo Solis's avatar
Leonardo Solis committed
65

Leonardo Solis's avatar
Leonardo Solis committed
66
The other branches are regular development & optimization. Their labels follow this convention: `<ALGORITHM>-<TOOL>`
Leonardo Solis's avatar
Leonardo Solis committed
67

Leonardo Solis's avatar
Leonardo Solis committed
68
69
70
* [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
71

Leonardo Solis's avatar
Leonardo Solis committed
72
73
74
75
# 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
84
85
86
87

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.