  Molecular dynamics (MD) simulation is one of the past decade's most important
tools for enabling biology scientists and researchers to explore human health
and diseases. However, due to the computation complexity of the MD algorithm,
it takes weeks or even months to simulate a comparatively simple biology entity
on conventional multicore processors. The critical path in molecular dynamics
simulations is the force calculation between particles inside the simulated
environment, which has abundant parallelism. Among various acceleration
platforms, FPGA is an attractive alternative because of its low power and high
energy efficiency. However, due to its high programming cost using RTL, none of
the mainstream MD software packages has yet adopted FPGA for acceleration.
  In this paper we revisit the FPGA acceleration of MD in high-level synthesis
(HLS) so as to provide affordable programming cost. Our experience with the MD
acceleration demonstrates that HLS optimizations such as loop pipelining,
module duplication and memory partitioning are essential to improve the
performance, achieving a speedup of 9.5X compared to a 12-core CPU. More
importantly, we observe that even the fully optimized HLS design can still be
2X slower than the reference RTL architecture due to the common dynamic
(conditional) data flow behavior that is not yet supported by current HLS
tools. To support such behavior, we further customize an array of processing
elements together with a data-driven streaming network through a common RTL
template, and fully automate the design flow. Our final experimental results
demonstrate a 19.4X performance speedup and 39X energy efficiency for the
widely used ApoA1 MD benchmark on the Convey HC1ex FPGA compared to a 12-core
Intel Xeon server.
