We present multi-threading and SIMD optimizations on short-range potential calculation kernel in Molecular Dynamics.For the multi-threading optimization,we design a partition-and-two-steps(PTS)method to avoid write co...We present multi-threading and SIMD optimizations on short-range potential calculation kernel in Molecular Dynamics.For the multi-threading optimization,we design a partition-and-two-steps(PTS)method to avoid write conflicts caused by using Newton’s third law.Our method eliminates serialization bottle-neck without extra memory.We implement our PTS method using OpenMP.Afterwards,we discuss the influence of the cutoff if statement on the performance of vectorization in MD simulations.We propose a pre-searching neighbors method,which makes about 70%atoms meet the cutoff check,reducing a large amount of redundant calculation.The experiment results prove our PTS method is scalable and efficient.In double precision,our 256-bit SIMD implementation is about 3×faster than the scalar version.展开更多
文摘We present multi-threading and SIMD optimizations on short-range potential calculation kernel in Molecular Dynamics.For the multi-threading optimization,we design a partition-and-two-steps(PTS)method to avoid write conflicts caused by using Newton’s third law.Our method eliminates serialization bottle-neck without extra memory.We implement our PTS method using OpenMP.Afterwards,we discuss the influence of the cutoff if statement on the performance of vectorization in MD simulations.We propose a pre-searching neighbors method,which makes about 70%atoms meet the cutoff check,reducing a large amount of redundant calculation.The experiment results prove our PTS method is scalable and efficient.In double precision,our 256-bit SIMD implementation is about 3×faster than the scalar version.