# ==============================================

 Page 2/25 Date 09.08.2017 Size 1.53 Mb.

==============================================

List of Equations

==============================================

Equation 1 - Total System Energy 20

Equation 2 - Effective Potential 21

Equation 3 - Lennard-Jones Potential 21

Equation 4 - Coulombic Force 24

Equation 5 - Coulombic Potential 24

Equation 6 - Calculating Coulombic Energy in PBC System  26

Equation 7 - Ewald Summation Direct Sum  30

Equation 8 - Ewald Summation Reciprocal Sum  30

Equation 9 - Structure Factor  31

Equation 10 - Reciprocal Energy 51

Equation 11 - Reciprocal Force 51

Equation 12 - Charge Grid Q 52

Equation 13 - Energy Term 56

Equation 14 - B-Spline Coefficients Calculation 70

Equation 15 - B-Spline Derivatives Calculation 70

Equation 16 - 1st Order Interpolation 73

Equation 17 - Coefficient Calculation (Mirror Image Method) 80

Equation 18 - QMM Update Calculation 81

Equation 19 - Reciprocal Energy 90

Equation 20 - Energy Term 90

Equation 21 - Reciprocal Force 95

Equation 22 - Partial Derivatives of the Charge Grid Q 95

Equation 23 - Total Computation Time (Single-QMM RSCE) 111

Equation 24 - Imbalance of Workload 115

Equation 25 - Total Computation Time (Multi-QMM RSCE) 117

Equation 26 - SPME Computational Complexity (Based on Table 2) 123

Equation 27 - Communication Time of the Multi-RSCE System 132

Equation 28 - Computation Time of the Multi-RSCE System 133

Equation 29 – Absolute Error 140

Equation 30 – Energy Relative Error 140

Equation 31 – Force RMS Relative Error 140

Equation 32 - Relative RMS Error Fluctuation  152

==============================================

Glossary

==============================================

θ (theta) – Weight of a charge distribution to a grid point (B-Spline Coefficient)

dθ (dtheta) – Derivative of θ

3D-FFT – Three Dimensional Fast Fourier Transform

ASIC – Application Specific Integrated Chip

BRAM – Internal Block RAM memory

BFM – Bus Function Model

DFT – Discrete Fourier Transform

FLP – Floating-point

FPGA – Field Programmable Gate Array

FXP – Fixed-point

LJ – Lennard-Jones

LSB – Least Significant Bit

LUT – Lookup Table

NAMD – Not an Another Molecular Dynamics program

NAMD2 – 2nd Generation of the Not an Another Molecular Dynamics program

NRE – Non-Recurring Engineering

MDM – Molecular Dynamics Machine

MD – Molecular Dynamics

MSB – Most Significant Bit

OPB – On-Chip Peripheral Bus

PBC – Periodic Boundary Condition

PDB – Protein Data Bank

PME – Particle Mesh Ewald

RMS – Root Mean Square

RTL – Register-Transfer Level

SFXP – Signed Fixed-point

SPME – Smooth Particle Mesh Ewald

UART – Universal Asynchronous Receiver Transmitter

VME – VersaModule Eurocard

ZBT – Zero Bus Turnaround

## 1.1.Motivation

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.