Extended SIMD, implementation for AVX-512F/ER
commit8de30280f69fe68f3345c5faf98ad598e67972b3
authorErik Lindahl <erik@kth.se>
Mon, 6 Jul 2015 23:39:41 +0000 (7 01:39 +0200)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Fri, 12 Feb 2016 07:56:24 +0000 (12 08:56 +0100)
treeb750be4e6fd1835077e6112f1d91db4163da027a
parent40339fe215496774ec320f2dc7ff12c0d916af9a
Extended SIMD, implementation for AVX-512F/ER

Tested with icc-16 and gcc-5.2. With gcc there are some
warnings about index and destination registers not being distinct
(which must be an internal compiler error since we do not assign
them) and some routines we had to work around. Both compilers
passes all unit tests in single and double with the Intel
SDE emulator.

Change-Id: I08c357a007279c17938570d1b9ade03608d5d0be
31 files changed:
CMakeLists.txt
cmake/gmxManageSimd.cmake
docs/doxygen/suppressions.txt
src/config.h.cmakein
src/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512.h [moved from src/gromacs/simd/impl_x86_avx_512er/impl_x86_avx_512er_simd4_float.h with 76% similarity]
src/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_definitions.h [new file with mode: 0644]
src/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_general.h [copied from src/gromacs/simd/impl_x86_avx_512er/impl_x86_avx_512er_common.h with 66% similarity]
src/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_simd4_double.h [new file with mode: 0644]
src/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_simd4_float.h [new file with mode: 0644]
src/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_simd_double.h [new file with mode: 0644]
src/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_simd_float.h [new file with mode: 0644]
src/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_util_double.h [new file with mode: 0644]
src/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_util_float.h [new file with mode: 0644]
src/gromacs/simd/impl_x86_avx_512_knl/impl_x86_avx_512_knl.h [copied from src/gromacs/simd/impl_x86_avx_512er/impl_x86_avx_512er.h with 74% similarity]
src/gromacs/simd/impl_x86_avx_512_knl/impl_x86_avx_512_knl_definitions.h [new file with mode: 0644]
src/gromacs/simd/impl_x86_avx_512_knl/impl_x86_avx_512_knl_general.h [moved from src/gromacs/simd/impl_x86_avx_512f/impl_x86_avx_512f.h with 82% similarity]
src/gromacs/simd/impl_x86_avx_512_knl/impl_x86_avx_512_knl_simd4_double.h [copied from src/gromacs/simd/impl_x86_avx_512er/impl_x86_avx_512er_simd_double.h with 75% similarity]
src/gromacs/simd/impl_x86_avx_512_knl/impl_x86_avx_512_knl_simd4_float.h [moved from src/gromacs/simd/impl_x86_avx_512er/impl_x86_avx_512er_simd4_double.h with 75% similarity]
src/gromacs/simd/impl_x86_avx_512_knl/impl_x86_avx_512_knl_simd_double.h [moved from src/gromacs/simd/impl_x86_avx_512er/impl_x86_avx_512er_common.h with 63% similarity]
src/gromacs/simd/impl_x86_avx_512_knl/impl_x86_avx_512_knl_simd_float.h [new file with mode: 0644]
src/gromacs/simd/impl_x86_avx_512_knl/impl_x86_avx_512_knl_util_double.h [moved from src/gromacs/simd/impl_x86_avx_512er/impl_x86_avx_512er_simd_double.h with 80% similarity]
src/gromacs/simd/impl_x86_avx_512_knl/impl_x86_avx_512_knl_util_float.h [moved from src/gromacs/simd/impl_x86_avx_512er/impl_x86_avx_512er.h with 81% similarity]
src/gromacs/simd/impl_x86_avx_512er/impl_x86_avx_512er_simd_float.h [deleted file]
src/gromacs/simd/impl_x86_avx_512f/impl_x86_avx_512f_common.h [deleted file]
src/gromacs/simd/impl_x86_avx_512f/impl_x86_avx_512f_simd4_double.h [deleted file]
src/gromacs/simd/impl_x86_avx_512f/impl_x86_avx_512f_simd4_float.h [deleted file]
src/gromacs/simd/impl_x86_avx_512f/impl_x86_avx_512f_simd_double.h [deleted file]
src/gromacs/simd/impl_x86_avx_512f/impl_x86_avx_512f_simd_float.h [deleted file]
src/gromacs/simd/simd.h
src/gromacs/simd/support.cpp
src/gromacs/simd/support.h