Simplify LJ parameter lookup
authorSzilárd Páll <pall.szilard@gmail.com>
Thu, 4 Mar 2021 08:08:51 +0000 (08:08 +0000)
committerMark Abraham <mark.j.abraham@gmail.com>
Thu, 4 Mar 2021 08:08:51 +0000 (08:08 +0000)
commitd440c46ef06c3a4c1695e3ec37e7e108ab7a2817
treecb222eb39df11e039a108d96df765f257b77289e
parentc1b4525d08464f563fb4d4e7fd5e627d8ecb4f8c
 Simplify LJ parameter lookup

  - Unify the CUDA per-pair scaled C6/C12 LJ parameter
    loading codepaths so both texture and LDG paths do
    8-byte float2 loads.
  - Unify the CUDA per-atom LJ parameter loading codepaths
    so both texture and LDG paths do 8-byte float2 loads.
  - Simplify the LJ self interaction energy term calculation
    by only using the non-texture loads path to simplify code.
    As this is outside the main loop, its impact is negligible.
  - Use float2 loads for the above in OpenCL as well.
src/gromacs/nbnxm/cuda/nbnxm_cuda_data_mgmt.cu
src/gromacs/nbnxm/cuda/nbnxm_cuda_kernel.cuh
src/gromacs/nbnxm/cuda/nbnxm_cuda_kernel_utils.cuh
src/gromacs/nbnxm/gpu_types_common.h
src/gromacs/nbnxm/opencl/nbnxm_ocl_data_mgmt.cpp
src/gromacs/nbnxm/opencl/nbnxm_ocl_kernel.clh
src/gromacs/nbnxm/opencl/nbnxm_ocl_kernel_utils.clh
src/gromacs/nbnxm/sycl/nbnxm_sycl_data_mgmt.cpp
src/gromacs/nbnxm/sycl/nbnxm_sycl_kernel.cpp