SSE4.1 double precision kernels
authorErik Lindahl <erik@kth.se>
Mon, 26 Nov 2012 23:43:00 +0000 (00:43 +0100)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Wed, 28 Nov 2012 21:31:25 +0000 (22:31 +0100)
commitd8c8a913f2c6ff2eb731ebbde4d2e680ebdaafb8
treec1467646e8e05735afadbd6640becaf5f08a82ec
parenta3a2713014e2cf10e1511a21e5d21012f9d35f46
SSE4.1 double precision kernels

Nonbonded kernels for group cutoff scheme. Same thing as in
single applies here; these kernels are hardly faster than SSE2,
but included so people can tweak and improve them in the future.

Change-Id: Ic360ee3ed1fae1be764f399ac6c37364da4fd33f
114 files changed:
src/gmxlib/nonbonded/CMakeLists.txt
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/kernelutil_x86_sse4_1_double.h [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/make_nb_kernel_sse4_1_double.py [new file with mode: 0755]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_sse4_1_double.c [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_sse4_1_double.h [new file with mode: 0644]
src/gmxlib/nonbonded/nb_kernel_sse4_1_double/nb_kernel_template_sse4_1_double.pre [new file with mode: 0644]
src/gmxlib/nonbonded/nonbonded.c