Redesigned SIMD module and unit tests.
[alexxy/gromacs.git] / src / gromacs / gmxlib / nonbonded / nonbonded.c
index 42209eef7d5fda07ee98f9be7e51539fc9adf527..e2448ade984af968d07627559a5c563b5cad5cff 100644 (file)
@@ -68,7 +68,7 @@
 #include "nb_generic_cg.h"
 #include "nb_generic_adress.h"
 
-/* Different default (c) and accelerated interaction-specific kernels */
+/* Different default (c) and SIMD instructions interaction-specific kernels */
 #include "nb_kernel_c/nb_kernel_c.h"
 
 #if (defined GMX_SIMD_X86_SSE2) && !(defined GMX_DOUBLE)
@@ -80,7 +80,7 @@
 #if (defined GMX_SIMD_X86_AVX_128_FMA) && !(defined GMX_DOUBLE)
 #    include "nb_kernel_avx_128_fma_single/nb_kernel_avx_128_fma_single.h"
 #endif
-#if (defined GMX_SIMD_X86_AVX_256) && !(defined GMX_DOUBLE)
+#if (defined GMX_SIMD_X86_AVX_256_OR_HIGHER) && !(defined GMX_DOUBLE)
 #    include "nb_kernel_avx_256_single/nb_kernel_avx_256_single.h"
 #endif
 #if (defined GMX_SIMD_X86_SSE2 && defined GMX_DOUBLE)
@@ -92,7 +92,7 @@
 #if (defined GMX_SIMD_X86_AVX_128_FMA && defined GMX_DOUBLE)
 #    include "nb_kernel_avx_128_fma_double/nb_kernel_avx_128_fma_double.h"
 #endif
-#if (defined GMX_SIMD_X86_AVX_256 && defined GMX_DOUBLE)
+#if (defined GMX_SIMD_X86_AVX_256_OR_HIGHER && defined GMX_DOUBLE)
 #    include "nb_kernel_avx_256_double/nb_kernel_avx_256_double.h"
 #endif
 #if (defined GMX_SIMD_SPARC64_HPC_ACE && defined GMX_DOUBLE)
@@ -130,7 +130,7 @@ gmx_nonbonded_setup(t_forcerec *   fr,
 #if (defined GMX_SIMD_X86_AVX_128_FMA) && !(defined GMX_DOUBLE)
                 nb_kernel_list_add_kernels(kernellist_avx_128_fma_single, kernellist_avx_128_fma_single_size);
 #endif
-#if (defined GMX_SIMD_X86_AVX_256) && !(defined GMX_DOUBLE)
+#if (defined GMX_SIMD_X86_AVX_256_OR_HIGHER) && !(defined GMX_DOUBLE)
                 nb_kernel_list_add_kernels(kernellist_avx_256_single, kernellist_avx_256_single_size);
 #endif
                 /* Double precision */
@@ -143,7 +143,7 @@ gmx_nonbonded_setup(t_forcerec *   fr,
 #if (defined GMX_SIMD_X86_AVX_128_FMA && defined GMX_DOUBLE)
                 nb_kernel_list_add_kernels(kernellist_avx_128_fma_double, kernellist_avx_128_fma_double_size);
 #endif
-#if (defined GMX_SIMD_X86_AVX_256 && defined GMX_DOUBLE)
+#if (defined GMX_SIMD_X86_AVX_256_OR_HIGHER && defined GMX_DOUBLE)
                 nb_kernel_list_add_kernels(kernellist_avx_256_double, kernellist_avx_256_double_size);
 #endif
 #if (defined GMX_SIMD_SPARC64_HPC_ACE && defined GMX_DOUBLE)
@@ -181,7 +181,7 @@ gmx_nonbonded_set_kernel_pointers(FILE *log, t_nblist *nl)
     arch_and_padding[] =
     {
         /* Single precision */
-#if (defined GMX_SIMD_X86_AVX_256) && !(defined GMX_DOUBLE)
+#if (defined GMX_SIMD_X86_AVX_256_OR_HIGHER) && !(defined GMX_DOUBLE)
         { "avx_256_single", 8 },
 #endif
 #if (defined GMX_SIMD_X86_AVX_128_FMA) && !(defined GMX_DOUBLE)
@@ -194,7 +194,7 @@ gmx_nonbonded_set_kernel_pointers(FILE *log, t_nblist *nl)
         { "sse2_single", 4 },
 #endif
         /* Double precision */
-#if (defined GMX_SIMD_X86_AVX_256 && defined GMX_DOUBLE)
+#if (defined GMX_SIMD_X86_AVX_256_OR_HIGHER && defined GMX_DOUBLE)
         { "avx_256_double", 4 },
 #endif
 #if (defined GMX_SIMD_X86_AVX_128_FMA && defined GMX_DOUBLE)