Rename load1DualHsimd to loadU1DualHsimd
authorRoland Schulz <roland.schulz@intel.com>
Thu, 9 Nov 2017 22:43:45 +0000 (14:43 -0800)
committerBerk Hess <hess@kth.se>
Fri, 10 Nov 2017 07:21:54 +0000 (08:21 +0100)
Documentation didn't require any alignment, test didn't use
alignment and all implementations didn't require any alignment.
But name suggested that alignment is required.
Only current usage had 2-wide alignment but requiring that
would make the function less general without any advantage.

Change-Id: I651c1327a3febc368cb4b039ad226d0771770e60

src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_outer.h
src/gromacs/mdlib/nbnxn_kernels/simd_2xnn/nbnxn_kernel_simd_2xnn_prune.cpp
src/gromacs/mdlib/nbnxn_search_simd_2xnn.h
src/gromacs/simd/impl_reference/impl_reference_util_double.h
src/gromacs/simd/impl_reference/impl_reference_util_float.h
src/gromacs/simd/impl_x86_avx_256/impl_x86_avx_256_util_float.h
src/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_util_double.h
src/gromacs/simd/impl_x86_avx_512/impl_x86_avx_512_util_float.h
src/gromacs/simd/impl_x86_mic/impl_x86_mic_util_double.h
src/gromacs/simd/impl_x86_mic/impl_x86_mic_util_float.h
src/gromacs/simd/tests/simd_floatingpoint_util.cpp

index 337f9860c48378a1c2c933150609789b522c1c80..2aa994455f01171c3eacf1a4e5e237ad728ae9f2 100644 (file)
         /* Load i atom data */
         int sciy             = scix + STRIDE;
         int sciz             = sciy + STRIDE;
-        ix_S0          = load1DualHsimd(x+scix);
-        ix_S2          = load1DualHsimd(x+scix+2);
-        iy_S0          = load1DualHsimd(x+sciy);
-        iy_S2          = load1DualHsimd(x+sciy+2);
-        iz_S0          = load1DualHsimd(x+sciz);
-        iz_S2          = load1DualHsimd(x+sciz+2);
+        ix_S0          = loadU1DualHsimd(x+scix);
+        ix_S2          = loadU1DualHsimd(x+scix+2);
+        iy_S0          = loadU1DualHsimd(x+sciy);
+        iy_S2          = loadU1DualHsimd(x+sciy+2);
+        iz_S0          = loadU1DualHsimd(x+sciz);
+        iz_S2          = loadU1DualHsimd(x+sciz+2);
         ix_S0          = ix_S0 + shX_S;
         ix_S2          = ix_S2 + shX_S;
         iy_S0          = iy_S0 + shY_S;
 
             facel_S    = SimdReal(facel);
 
-            iq_S0      = load1DualHsimd(q+sci);
-            iq_S2      = load1DualHsimd(q+sci+2);
+            iq_S0      = loadU1DualHsimd(q+sci);
+            iq_S2      = loadU1DualHsimd(q+sci+2);
             iq_S0      = facel_S * iq_S0;
             iq_S2      = facel_S * iq_S2;
         }
 
 #ifdef LJ_COMB_LB
-        hsig_i_S0 = load1DualHsimd(ljc+sci2);
-        hsig_i_S2 = load1DualHsimd(ljc+sci2+2);
-        seps_i_S0 = load1DualHsimd(ljc+sci2+STRIDE);
-        seps_i_S2 = load1DualHsimd(ljc+sci2+STRIDE+2);
+        hsig_i_S0 = loadU1DualHsimd(ljc+sci2);
+        hsig_i_S2 = loadU1DualHsimd(ljc+sci2+2);
+        seps_i_S0 = loadU1DualHsimd(ljc+sci2+STRIDE);
+        seps_i_S2 = loadU1DualHsimd(ljc+sci2+STRIDE+2);
 #else
 #ifdef LJ_COMB_GEOM
         SimdReal   c6s_S0, c12s_S0;
         SimdReal   c6s_S2, c12s_S2;
 
-        c6s_S0 = load1DualHsimd(ljc+sci2);
+        c6s_S0 = loadU1DualHsimd(ljc+sci2);
 
         if (!half_LJ)
         {
-            c6s_S2 = load1DualHsimd(ljc+sci2+2);
+            c6s_S2 = loadU1DualHsimd(ljc+sci2+2);
         }
-        c12s_S0 = load1DualHsimd(ljc+sci2+STRIDE);
+        c12s_S0 = loadU1DualHsimd(ljc+sci2+STRIDE);
         if (!half_LJ)
         {
-            c12s_S2 = load1DualHsimd(ljc+sci2+STRIDE+2);
+            c12s_S2 = loadU1DualHsimd(ljc+sci2+STRIDE+2);
         }
 #elif !defined LJ_COMB_LB && !defined FIX_LJ_C
         const real *nbfp0     = nbfp_ptr + type[sci  ]*nbat->ntype*c_simdBestPairAlignment;
 #ifdef LJ_EWALD_GEOM
         /* We need the geometrically combined C6 for the PME grid correction */
         SimdReal c6s_S0, c6s_S2;
-        c6s_S0 = load1DualHsimd(ljc+sci2);
+        c6s_S0 = loadU1DualHsimd(ljc+sci2);
         if (!half_LJ)
         {
-            c6s_S2 = load1DualHsimd(ljc+sci2+2);
+            c6s_S2 = loadU1DualHsimd(ljc+sci2+2);
         }
 #endif
 
index 29e22c5615d5d6f0d1db1a251a4ab91ba17f549f..034d5b31dea185e812995e867d44fcc754f30d0e 100644 (file)
@@ -98,12 +98,12 @@ nbnxn_kernel_prune_2xnn(nbnxn_pairlist_t *         nbl,
         /* Load i atom data */
         int      sciy    = scix + STRIDE;
         int      sciz    = sciy + STRIDE;
-        SimdReal ix_S0   = load1DualHsimd(x + scix    ) + shX_S;
-        SimdReal ix_S2   = load1DualHsimd(x + scix + 2) + shX_S;
-        SimdReal iy_S0   = load1DualHsimd(x + sciy    ) + shY_S;
-        SimdReal iy_S2   = load1DualHsimd(x + sciy + 2) + shY_S;
-        SimdReal iz_S0   = load1DualHsimd(x + sciz    ) + shZ_S;
-        SimdReal iz_S2   = load1DualHsimd(x + sciz + 2) + shZ_S;
+        SimdReal ix_S0   = loadU1DualHsimd(x + scix    ) + shX_S;
+        SimdReal ix_S2   = loadU1DualHsimd(x + scix + 2) + shX_S;
+        SimdReal iy_S0   = loadU1DualHsimd(x + sciy    ) + shY_S;
+        SimdReal iy_S2   = loadU1DualHsimd(x + sciy + 2) + shY_S;
+        SimdReal iz_S0   = loadU1DualHsimd(x + sciz    ) + shZ_S;
+        SimdReal iz_S2   = loadU1DualHsimd(x + sciz + 2) + shZ_S;
 
         for (int cjind = ciEntry->cj_ind_start; cjind < ciEntry->cj_ind_end; cjind++)
         {
index 733c030f678ee67527c9b7a39a93d9658516ad48..6d1430584f638d3fe3ff09cc84f38879a3d31672 100644 (file)
@@ -53,12 +53,12 @@ icell_set_x_simd_2xnn(int ci,
 
     ia = xIndexFromCi<NbnxnLayout::Simd2xNN>(ci);
 
-    store(x_ci_simd + 0*GMX_SIMD_REAL_WIDTH, load1DualHsimd(x + ia + 0*STRIDE_S + 0) + SimdReal(shx) );
-    store(x_ci_simd + 1*GMX_SIMD_REAL_WIDTH, load1DualHsimd(x + ia + 1*STRIDE_S + 0) + SimdReal(shy) );
-    store(x_ci_simd + 2*GMX_SIMD_REAL_WIDTH, load1DualHsimd(x + ia + 2*STRIDE_S + 0) + SimdReal(shz) );
-    store(x_ci_simd + 3*GMX_SIMD_REAL_WIDTH, load1DualHsimd(x + ia + 0*STRIDE_S + 2) + SimdReal(shx) );
-    store(x_ci_simd + 4*GMX_SIMD_REAL_WIDTH, load1DualHsimd(x + ia + 1*STRIDE_S + 2) + SimdReal(shy) );
-    store(x_ci_simd + 5*GMX_SIMD_REAL_WIDTH, load1DualHsimd(x + ia + 2*STRIDE_S + 2) + SimdReal(shz) );
+    store(x_ci_simd + 0*GMX_SIMD_REAL_WIDTH, loadU1DualHsimd(x + ia + 0*STRIDE_S + 0) + SimdReal(shx) );
+    store(x_ci_simd + 1*GMX_SIMD_REAL_WIDTH, loadU1DualHsimd(x + ia + 1*STRIDE_S + 0) + SimdReal(shy) );
+    store(x_ci_simd + 2*GMX_SIMD_REAL_WIDTH, loadU1DualHsimd(x + ia + 2*STRIDE_S + 0) + SimdReal(shz) );
+    store(x_ci_simd + 3*GMX_SIMD_REAL_WIDTH, loadU1DualHsimd(x + ia + 0*STRIDE_S + 2) + SimdReal(shx) );
+    store(x_ci_simd + 4*GMX_SIMD_REAL_WIDTH, loadU1DualHsimd(x + ia + 1*STRIDE_S + 2) + SimdReal(shy) );
+    store(x_ci_simd + 5*GMX_SIMD_REAL_WIDTH, loadU1DualHsimd(x + ia + 2*STRIDE_S + 2) + SimdReal(shz) );
 }
 
 /* SIMD code for checking and adding cluster-pairs to the list using coordinates in packed format.
index a7256854b52b7f3c70062230b3d4c6dad5090337..e4e4f92b1d17767933115206a5fe41a8c1c0a92b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2014,2015, by the GROMACS development team, led by
+ * Copyright (c) 2014,2015,2017, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -703,7 +703,7 @@ loadDuplicateHsimd(const double *  m)
  * Available if \ref GMX_SIMD_HAVE_HSIMD_UTIL_DOUBLE is 1.
  */
 static inline SimdDouble gmx_simdcall
-load1DualHsimd(const double *  m)
+loadU1DualHsimd(const double *  m)
 {
     SimdDouble        a;
 
index 2254d7f967c536593dbd0d2fefdf59667f54bd77..6a0f4156e4fd85d1932d68fb59a32a3842ba082b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This file is part of the GROMACS molecular simulation package.
  *
- * Copyright (c) 2014,2015, by the GROMACS development team, led by
+ * Copyright (c) 2014,2015,2017, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -752,7 +752,7 @@ loadDuplicateHsimd(const float *  m)
  * Available if \ref GMX_SIMD_HAVE_HSIMD_UTIL_FLOAT is 1.
  */
 static inline SimdFloat gmx_simdcall
-load1DualHsimd(const float *  m)
+loadU1DualHsimd(const float *  m)
 {
     SimdFloat        a;
 
index 9507128f18db98396a70728670826e786e70b04f..ae81512196377d6334c6a4f3d14133a317377604 100644 (file)
@@ -586,7 +586,7 @@ loadDuplicateHsimd(const float * m)
 }
 
 static inline SimdFloat gmx_simdcall
-load1DualHsimd(const float * m)
+loadU1DualHsimd(const float * m)
 {
     __m128 t0, t1;
     t0 = _mm_broadcast_ss(m);
index f65bcf21349f09cd36d63dd0e8f296a70ab6864a..e14c32e3ee6890fd081cb835b2db58522f75fdae 100644 (file)
@@ -320,7 +320,7 @@ loadDuplicateHsimd(const double * m)
 }
 
 static inline SimdDouble gmx_simdcall
-load1DualHsimd(const double * m)
+loadU1DualHsimd(const double * m)
 {
     return {
                _mm512_insertf64x4(_mm512_broadcastsd_pd(_mm_load_sd(m)),
index 83044fe11c9782a5a28057d1fe7b268dd122e025..991e82cc0b834d143fc4800d3222a5f1d9d5cfac 100644 (file)
@@ -360,7 +360,7 @@ loadDuplicateHsimd(const float * m)
 }
 
 static inline SimdFloat gmx_simdcall
-load1DualHsimd(const float * m)
+loadU1DualHsimd(const float * m)
 {
     return {
                _mm512_shuffle_f32x4(_mm512_broadcastss_ps(_mm_load_ss(m)),
index 476cad836fcce864ed1ec8bd5ae5d2b36a297840..fe93fdbdea31dee8abb12373455cbe0b450ced9e 100644 (file)
@@ -346,7 +346,7 @@ loadDuplicateHsimd(const double * m)
 }
 
 static inline SimdDouble gmx_simdcall
-load1DualHsimd(const double * m)
+loadU1DualHsimd(const double * m)
 {
     return _mm512_mask_extload_pd(_mm512_extload_pd(m, _MM_UPCONV_PD_NONE, _MM_BROADCAST_1X8, _MM_HINT_NONE), _mm512_int2mask(0xF0),
                                   m+1, _MM_UPCONV_PD_NONE, _MM_BROADCAST_1X8, _MM_HINT_NONE);
index 6912337067cff2c84da0b44e5a8ab3cf6642171e..ad68228dd1dbee3e77618d0b519ad421c67b89e1 100644 (file)
@@ -347,7 +347,7 @@ loadDuplicateHsimd(const float * m)
 }
 
 static inline SimdFloat gmx_simdcall
-load1DualHsimd(const float * m)
+loadU1DualHsimd(const float * m)
 {
     return _mm512_mask_extload_ps(_mm512_extload_ps(m, _MM_UPCONV_PS_NONE, _MM_BROADCAST_1X16, _MM_HINT_NONE), _mm512_int2mask(0xFF00),
                                   m+1, _MM_UPCONV_PS_NONE, _MM_BROADCAST_1X16, _MM_HINT_NONE);
index e9205eab0e55fb0af9e76dd52c6dc219034a9052..623680332cf73c76d1553f46fe67cb574567dd61 100644 (file)
@@ -724,7 +724,7 @@ TEST_F(SimdFloatingpointUtilTest, loadDuplicateHsimd)
 }
 
 
-TEST_F(SimdFloatingpointUtilTest, load1DualHsimd)
+TEST_F(SimdFloatingpointUtilTest, loadU1DualHsimd)
 {
     SimdReal        v0, v1;
     int             i;
@@ -740,7 +740,7 @@ TEST_F(SimdFloatingpointUtilTest, load1DualHsimd)
     }
 
     v0 = load<SimdReal>(val0_);
-    v1 = load1DualHsimd(data);
+    v1 = loadU1DualHsimd(data);
 
     GMX_EXPECT_SIMD_REAL_EQ(v0, v1);
 }