README.md 2.59 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

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

Leonardo Solis's avatar
Leonardo Solis committed
81
This project is licensed under the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 - see the [LICENSE_LGPL](LICENSE_LGPL) file for details.
Leonardo Solis's avatar
Leonardo Solis committed
82

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