Molecular Dynamics (MD) is a popular numerical method for predicting the time-dependent microscopic behavior of a many-body system. By knowing the microscopic properties (i.e. the trajectory of the particles) of the system, the scientists can derive its macroscopic properties (e.g. temperature, pressure, and energy). An MD simulation program takes empirical force fields and the initial configuration of the bio-molecular system as its input; and it calculates the trajectory of the particles at each timestep as its output.
MD simulations does not aim to replace the traditional in-lab experiments; in fact, it aids the scientists to obtain more valuable information out of the experimental results. MD simulations allows researchers to know and control every detail of the system being simulated. It also permits the researchers to carry out experiments under extreme conditions (e.g. extreme high temperatures) in which real experiments are impossible to carry out. Furthermore, MD simulation is very useful in studies of complex and dynamic biological processes such as protein folding and molecular recognition since the simulation could provide detailed insight on the processes. Moreover, in the field of drug design, MD simulation is used extensively to help determine the affinity with which a potential drug candidate binds to its protein target .
However, no matter how useful MD simulation is, if it takes weeks and months before the simulation result is available, not many researchers would like to use it. To allow researchers to obtain valuable MD simulation results promptly, two main streams of hardware system have been built to provide the very necessary MD simulation speedup. They are either clusters of high-end microprocessors or systems built from custom ASICs. However, the cost and power consumption of these supercomputers makes them hardly accessible to general research communities. Besides its high non-recurring engineering (NRE) cost, a custom ASIC system takes years to build and is not flexible towards new algorithms. On the other hand, the high power-dissipation of off-the-shelf microprocessors makes the operating cost extremely high. Fortunately, with the increasing performance and density of FPGAs, it is now possible to build an FPGA system to speedup the MD simulation in a cost-efficient way .
There are several advantages of building an FPGA-based MD simulation system. Firstly, at the same cost, the performance of the FPGA-based system should surpass that of the microprocessor-based system. The reason is that the FPGA-based system can be more customized towards the MD calculations and the numerous user-IO pins of the FPGA allows higher memory bandwidth, which is very crucial for speeding up MD simulations. Secondly, the FPGA-based system is going to enjoy the Moore’s law increase of performance and density in the foreseeable future; while the microprocessor is no longer enjoying the same level of increase due to its memory bottleneck and heat dissipation. ThirdSecondly, the FPGA-based system is reconfigurable and is flexible to new algorithms or algorithm change; while the ASIC-based system would need a costly manufacturing process to accommodate any major algorithm change. Lastly, since the MD simulation system would definitely be a low-volume product, the cost of building the FPGA-based system would be substantially lower than that of the ASIC-based one. All these cost and performance advantages of the FPGA-based system make it a clear alternative for building an FPGA-based MD simulation system. With its lower cost per performance factor, the FPGA-based simulation system would be more accessible and more affordable to the general research communities.
The promising advantages of the FPGA-based MD simulation system give birth to this thesis. This thesis is part of a group effort to realize an FPGA-based MD simulation system. This thesis aims to investigate, design, and implement an FPGA compute engine to carry out a very important MD algorithm called Smooth Particle Mesh Ewald (SPME) , which is an algorithm used to compute the Coulombic energy and forces. More detail on the SPME algorithm can be found in Chapter 2 of this thesis.