Optimize atomic accumulation in CUDA NB kernel
authorSzilard Pall <pall.szilard@gmail.com>
Tue, 21 Apr 2015 16:57:25 +0000 (18:57 +0200)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Sat, 6 Jun 2015 21:29:52 +0000 (23:29 +0200)
commitda67fb7a605f59037552beaf084b4f8163af21de
tree89e1c53a3a21834a071ba71f76699ef31b356d83
parent940c34d88869760647c74d664801e9101b0f70d0
Optimize atomic accumulation in CUDA NB kernel

As a result of this reorganization of the reduction, the final atomic
accumulation of the three force components can happen on three threads
concurrently. As this can be serviced by the hardware in a single
instruction, the optimization improves overall performance by a few %.
This also results in fewer shuffle operations.

Change-Id: I29519469b1e1848c026ee5b7a32256440031dbce
src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh
src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh