Direct N-Body problem optimisation using the AVX-512 instruction set

Abstract

The integration of the equations of motion of N interacting particles, represents a classical problem in many branches of physics and chemistry. The direct N-body problem is at the heart of simulations studying Coulomb Crystals. We present an hand-optimized code for the latest AVX-512 set of instructions that achieve a single core speed up of ≈ 340\% respect the version optimized by the compiler. The increase performance is due a optimization on the organization of the memory access on the inner loop on the Coulomb and, specially, on the usage of an intrinsic function to faster compute the 1/x. Our parallelization, which is implemented in OpenMP, achieves an excellent scalability with the number of cores. In total, we achieve ≈ 500GFLOPS using a just a standard WorkStation with one Intel Skylake CPU (10 cores). It represents ≈ 75\% of the theoretical maximum number of double precision FLOPS corresponding to Fused Multiplication Addition (FMA) operations.

0

Turn this paper into a full lesson

ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…