##
**==============================================**
**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 [7] 26
Equation 7 - Ewald Summation Direct Sum [7] 30
Equation 8 - Ewald Summation Reciprocal Sum [7] 30
Equation 9 - Structure Factor [7] 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 [25] 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
FFT – Fast 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 – 2^{nd} 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
RSCE – Reciprocal Sum Compute Engine
RTL – Register-Transfer Level
SFXP – Signed Fixed-point
SPME – Smooth Particle Mesh Ewald
UART – Universal Asynchronous Receiver Transmitter
VME – VersaModule Eurocard
VMP – Virtual Multiple Pipeline
ZBT – Zero Bus Turnaround
## *Chapter 1* ## 1.Introduction ## 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 [5].
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 [6].
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) [1], 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.
**Share with your friends:** |