This book presents an evaluation methodology to design future FPGA fabrics incorporating hard embedded blocks (HEBs) to accelerate applications. This methodology will be useful for selection of blocks to be embedded into the fabric and for evaluating the performance gain that can be achieved by such an embedding. The authors illustrate the use of their methodology by studying the impact of HEBs on two important bioinformatics applications: protein docking and genome assembly. The book also explains how the respective HEBs are designed and how hardware implementation of the application is done using these HEBs. It shows that significant speedups can be achieved over pure software implementations by using such FPGA-based accelerators. The methodology presented in this book may also be used for designing HEBs for accelerating software implementations in other domains besides bioinformatics. This book will prove useful to students, researchers, and practicing engineers alike.
|
|
1 | (8) |
|
|
1 | (4) |
|
|
3 | (1) |
|
|
4 | (1) |
|
1.2 DSE of Application Acceleration Using FPGAs with Hard Embedded Blocks |
|
|
5 | (4) |
|
1.2.1 Challenges in Design Space Exploration |
|
|
6 | (2) |
|
|
8 | (1) |
|
|
9 | (20) |
|
2.1 Accelerator Architectures |
|
|
9 | (2) |
|
2.1.1 Challenges in Designing Accelerators |
|
|
10 | (1) |
|
2.2 FPGA-Based Acceleration |
|
|
11 | (6) |
|
|
11 | (2) |
|
2.2.2 FPGA-Based Accelerators |
|
|
13 | (1) |
|
2.2.3 Hard Embedded Blocks in FPGAs |
|
|
14 | (3) |
|
|
17 | (7) |
|
|
18 | (3) |
|
|
21 | (3) |
|
|
24 | (5) |
|
|
24 | (5) |
|
3 Methodology for Implementing Accelerators |
|
|
29 | (10) |
|
3.1 Design Space Exploration |
|
|
29 | (3) |
|
3.2 Tools for Carrying Out Design Space Exploration |
|
|
32 | (2) |
|
|
32 | (2) |
|
3.3 Design of FPGAs with Hard Embedded Blocks |
|
|
34 | (1) |
|
|
34 | (1) |
|
|
34 | (1) |
|
3.4 Methodology for Designing FPGAs with Custom Hard Embedded Blocks |
|
|
35 | (2) |
|
3.4.1 Performance Estimation of Application Acceleration |
|
|
37 | (1) |
|
|
37 | (2) |
|
|
37 | (2) |
|
4 FPGA-Based Acceleration of Protein Docking |
|
|
39 | (16) |
|
|
39 | (6) |
|
4.1.1 Shape Complementarity |
|
|
41 | (2) |
|
4.1.2 Electrostatic Complementarity |
|
|
43 | (2) |
|
|
45 | (1) |
|
|
45 | (1) |
|
4.2.2 Earlier Attempts to Speedup |
|
|
46 | (1) |
|
4.3 Choice of Single Precision |
|
|
46 | (1) |
|
4.4 FPGA Resource Mapping |
|
|
47 | (3) |
|
|
50 | (3) |
|
|
53 | (2) |
|
|
54 | (1) |
|
5 FPGA-Based Acceleration of De Novo Genome Assembly |
|
|
55 | (26) |
|
|
55 | (3) |
|
5.1.1 Related Work with FPGA-Based Acceleration |
|
|
57 | (1) |
|
|
58 | (7) |
|
|
59 | (3) |
|
5.2.2 Algorithm to Architecture |
|
|
62 | (3) |
|
5.3 Hardware Implementation |
|
|
65 | (7) |
|
5.3.1 FASTA File to Bit File Converter |
|
|
67 | (1) |
|
5.3.2 Processing Element Design |
|
|
68 | (1) |
|
|
69 | (1) |
|
|
70 | (2) |
|
5.4 Results and Discussion |
|
|
72 | (6) |
|
5.4.1 Resource Utilization and Operating Frequency |
|
|
72 | (2) |
|
5.4.2 Speedups over Software |
|
|
74 | (3) |
|
|
77 | (1) |
|
|
78 | (3) |
|
|
79 | (2) |
|
6 Design of Accelerators with Hard Embedded Blocks |
|
|
81 | (20) |
|
6.1 Acceleration of FTDock Using Hard Embedded Blocks |
|
|
81 | (9) |
|
|
81 | (1) |
|
6.1.2 FPGA Resource Mapping |
|
|
82 | (2) |
|
6.1.3 Hard Embedded Block Design Space Exploration |
|
|
84 | (2) |
|
6.1.4 Results and Discussion |
|
|
86 | (4) |
|
6.2 Acceleration of Genome Assembly Using Hard Embedded Blocks |
|
|
90 | (8) |
|
|
91 | (1) |
|
6.2.2 FPGA Resource Mapping |
|
|
91 | (1) |
|
6.2.3 Hard Embedded Block Design Space Exploration |
|
|
92 | (2) |
|
6.2.4 Results and Discussion |
|
|
94 | (4) |
|
|
98 | (3) |
|
|
98 | (3) |
|
7 System-Level Design Space Exploration |
|
|
101 | (16) |
|
|
101 | (1) |
|
7.2 Design Space Exploration |
|
|
102 | (6) |
|
|
103 | (2) |
|
7.2.2 Hardware Implementation |
|
|
105 | (2) |
|
7.2.3 System-C Implementation |
|
|
107 | (1) |
|
7.3 Multi-FPGA Implementation |
|
|
108 | (1) |
|
7.4 Results and Discussion |
|
|
109 | (5) |
|
|
109 | (2) |
|
|
111 | (3) |
|
|
114 | (3) |
|
|
116 | (1) |
|
|
117 | (4) |
Index |
|
121 | |
B. Sharat Chandra Varma is Research Associate in the Department of Electrical & Electronic Engineering at The University of Hong Kong, Hong Kong. He obtained his PhD from IIT Delhi, New Delhi. He completed his B.E. (2003) from Visvesvaraya Technological University Karnataka and MSc. (2007) from Manipal University, Karnataka. His research interest areas are re-configurable computing, FPGA, hardware-software co-design, hardware accelerators, and computer architecture. Dr. Varma has over 10 years of research and industrial experience and has several journal publications to his credit.
Kolin Paul is presently Associate Professor with the department of Computer Science and Engineering at Indian Institute of Technology Delhi, New Delhi. His academic degrees include M.Sc. (1995) from Jadavpur University and Ph.D. (2002) from Bengal Engineering College, Calcutta, India. Dr. Paul has several papers published in refereed journal and conference proceedings.
M. Balakrishnan isa Professor in the CSE Department at IIT Delhi, New Delhi, India. He completed his PhD in 1984 from IIT Delhi. He has 16 journal articles, 63 refereed conference publications, one book chapter and two patents to his credit. Dr. Balakrishnan has been a part of many research projects and consultancies from leading EDA/VLSI companies. He is a reviewer for major international journals, a member of key academic bodies. He has supervised 8 PhDs, 3 MS(R) and 78 M.Tech students. His areas of specialization are behavioral and system level synthesis, system level design and modeling, computer architecture, hardware-software co-design, embedded system design, and assistive devices for the visually impaired.