A current trend in high-performance computing is to achieve performance portability, meaning to produce high-performing code portable to multiple architectures. For this purpose, the molecular dynamics library AutoPas employs auto-tuning to
choose the best-performing algorithm for the current scenario and architecture at runtime. This work extends AutoPas with a portable force functor based on the vectorization abstraction module Google Highway and evaluates its performance.
Apart from abstracting vector intrinsics, other famous particle simulators, e.g., GROMACS, already suggest various options for filling vector registers with different particles. As their focus is the influence of the underlying architecture, this paper investigates which other parameters affect the optimal choice of the vectorization order. The physical properties of the experiments, e.g., the density of the scenario, are also considered, as these influence the sizes of the particle buffers. Additionally, the impact of AutoPas’ different neighbor identification algorithms is taken into account. Finally, AutoPas’ auto-tuning mechanism is extended to allow the best-performing vectorization order to be chosen at runtime. The results show that the abstraction module Google Highway can introduce a small performance disadvantage of up to 5% compared to the classical intrinsics implementation. On the contrary, considering different particle interaction orders can lead to a considerable performance improvement for the force calculation compared to AutoPas’ previous approach. Finally, tuning the SIMD patterns at runtime proved valuable in achieving performance portability for vectorization.
«
A current trend in high-performance computing is to achieve performance portability, meaning to produce high-performing code portable to multiple architectures. For this purpose, the molecular dynamics library AutoPas employs auto-tuning to
choose the best-performing algorithm for the current scenario and architecture at runtime. This work extends AutoPas with a portable force functor based on the vectorization abstraction module Google Highway and evaluates its performance.
Apart from abstrac...
»