diff --git a/src/runner_doiact_vec.c b/src/runner_doiact_vec.c index 4c3f8454097611ab924358735b4b38a3b52ccfd6..6353959876788602fde05364f907511d5afa0ab5 100644 --- a/src/runner_doiact_vec.c +++ b/src/runner_doiact_vec.c @@ -858,504 +858,6 @@ __attribute__((always_inline)) INLINE void runner_doself1_density_vec( __attribute__((always_inline)) INLINE void runner_doself2_force_vec( struct runner *r, struct cell *restrict c) { -#ifdef WITH_VECTORIZATION - //static int intCount = 0; - const struct engine *e = r->e; - int doi_mask; - struct part *restrict pi; - int count_align; - int num_vec_proc = 1;//NUM_VEC_PROC; - - struct part *piq[VEC_SIZE], *pjq[VEC_SIZE]; - - struct part *restrict parts = c->parts; - const int count = c->count; - - vector v_hi, v_hig2, v_r2; - - //TIMER_TIC - - if (!cell_is_active(c, e)) return; - - if (!cell_is_drifted(c, e)) cell_drift_particles(c, e); - - /* Get the particle cache from the runner and re-allocate - * the cache if it is not big enough for the cell. */ - struct cache *restrict cell_cache = &r->ci_cache; - - if (cell_cache->count < count) { - cache_init(cell_cache, count); - } - - /* Read the particles from the cell and store them locally in the cache. */ - cache_read_particles(c, cell_cache); - - /* Create secondary cache to store particle interactions. */ - //struct c2_cache int_cache; - //int icount = 0, icount_align = 0; - - /* Loop over the particles in the cell. */ - for (int pid = 0; pid < count; pid++) { - - /* Get a pointer to the ith particle. */ - pi = &parts[pid]; - - /* Is the ith particle active? */ - if (!part_is_active(pi, e)) continue; - - vector pix, piy, piz; - - const float hi = cell_cache->h[pid]; - - /* Fill particle pi vectors. */ - pix.v = vec_set1(cell_cache->x[pid]); - piy.v = vec_set1(cell_cache->y[pid]); - piz.v = vec_set1(cell_cache->z[pid]); - v_hi.v = vec_set1(hi); - - const float hig2 = hi * hi * kernel_gamma2; - v_hig2.v = vec_set1(hig2); - - /* Reset cumulative sums of update vectors. */ - vector a_hydro_xSum, a_hydro_ySum, a_hydro_zSum, h_dtSum, v_sigSum, entropy_dtSum; - - /* Get the inverse of hi. */ - vector v_hi_inv; - - v_hi_inv = vec_reciprocal(v_hi); - - a_hydro_xSum.v = vec_setzero(); - a_hydro_ySum.v = vec_setzero(); - a_hydro_zSum.v = vec_setzero(); - h_dtSum.v = vec_setzero(); - v_sigSum.v = vec_set1(pi->force.v_sig); - entropy_dtSum.v = vec_setzero(); - - /* Pad cache if there is a serial remainder. */ - count_align = count; - int rem = count % (num_vec_proc * VEC_SIZE); - if (rem != 0) { - int pad = (num_vec_proc * VEC_SIZE) - rem; - - count_align += pad; - - /* Set positions to the same as particle pi so when the r2 > 0 mask is - * applied these extra contributions are masked out.*/ - for (int i = count; i < count_align; i++) { - cell_cache->x[i] = pix.f[0]; - cell_cache->y[i] = piy.f[0]; - cell_cache->z[i] = piz.f[0]; - } - } - - vector pjx, pjy, pjz; - //vector pjvx, pjvy, pjvz, mj; - vector hj, hjg2; - //vector pjx2, pjy2, pjz2; - //vector pjvx2, pjvy2, pjvz2, mj2, hj_2, hjg2_2; - - for(int k=0; k<VEC_SIZE; k++) - piq[k] = pi; - - /* Find all of particle pi's interacions and store needed values in the - * secondary cache.*/ - for (int pjd = 0; pjd < count_align; pjd += (num_vec_proc * VEC_SIZE)) { - - /* Load 2 sets of vectors from the particle cache. */ - pjx.v = vec_load(&cell_cache->x[pjd]); - pjy.v = vec_load(&cell_cache->y[pjd]); - pjz.v = vec_load(&cell_cache->z[pjd]); - //pjvx.v = vec_load(&cell_cache->vx[pjd]); - //pjvy.v = vec_load(&cell_cache->vy[pjd]); - //pjvz.v = vec_load(&cell_cache->vz[pjd]); - //mj.v = vec_load(&cell_cache->m[pjd]); - - hj.v = vec_load(&cell_cache->h[pjd]); - hjg2.v = vec_mul(vec_mul(hj.v,hj.v), kernel_gamma2_vec.v); - - //pjx2.v = vec_load(&cell_cache->x[pjd + VEC_SIZE]); - //pjy2.v = vec_load(&cell_cache->y[pjd + VEC_SIZE]); - //pjz2.v = vec_load(&cell_cache->z[pjd + VEC_SIZE]); - //pjvx2.v = vec_load(&cell_cache->vx[pjd + VEC_SIZE]); - //pjvy2.v = vec_load(&cell_cache->vy[pjd + VEC_SIZE]); - //pjvz2.v = vec_load(&cell_cache->vz[pjd + VEC_SIZE]); - //mj2.v = vec_load(&cell_cache->m[pjd + VEC_SIZE]); - - //hj_2.v = vec_load(&cell_cache->h[pjd + VEC_SIZE]); - //hjg2_2.v = vec_mul(vec_mul(hj_2.v,hj_2.v), kernel_gamma2_vec.v); - - vector v_hj_inv; - - v_hj_inv = vec_reciprocal(hj); - - /* Compute the pairwise distance. */ - vector v_dx_tmp, v_dy_tmp, v_dz_tmp; - //vector v_dx_tmp2, v_dy_tmp2, v_dz_tmp2, v_r2_2; - - v_dx_tmp.v = vec_sub(pix.v, pjx.v); - //v_dx_tmp2.v = vec_sub(pix.v, pjx2.v); - v_dy_tmp.v = vec_sub(piy.v, pjy.v); - //v_dy_tmp2.v = vec_sub(piy.v, pjy2.v); - v_dz_tmp.v = vec_sub(piz.v, pjz.v); - //v_dz_tmp2.v = vec_sub(piz.v, pjz2.v); - - v_r2.v = vec_mul(v_dx_tmp.v, v_dx_tmp.v); - //v_r2_2.v = vec_mul(v_dx_tmp2.v, v_dx_tmp2.v); - v_r2.v = vec_fma(v_dy_tmp.v, v_dy_tmp.v, v_r2.v); - //v_r2_2.v = vec_fma(v_dy_tmp2.v, v_dy_tmp2.v, v_r2_2.v); - v_r2.v = vec_fma(v_dz_tmp.v, v_dz_tmp.v, v_r2.v); - //v_r2_2.v = vec_fma(v_dz_tmp2.v, v_dz_tmp2.v, v_r2_2.v); - -/* Form a mask from r2 < hig2 and r2 > 0.*/ -#ifdef HAVE_AVX512_F - // KNL_MASK_16 doi_mask, doi_mask_check, doi_mask2, doi_mask2_check; - KNL_MASK_16 doi_mask_check, doi_mask2, doi_mask2_check; - - doi_mask_check = vec_cmp_gt(v_r2.v, vec_setzero()); - doi_mask = vec_cmp_lt(v_r2.v, v_hig2.v); - - doi_mask2_check = vec_cmp_gt(v_r2_2.v, vec_setzero()); - doi_mask2 = vec_cmp_lt(v_r2_2.v, v_hig2.v); - - doi_mask = doi_mask & doi_mask_check; - doi_mask2 = doi_mask2 & doi_mask2_check; - -#else - vector v_doi_mask, v_doi_mask_check, v_doi_N3_mask; - //vector v_doi_mask2, v_doi_mask2_check, v_doi_N3_mask2; - //int doi_mask2; - - /* Form r2 > 0 mask, r2 < hig2 mask and r2 < hjg2 mask. */ - v_doi_mask_check.v = vec_cmp_gt(v_r2.v, vec_setzero()); - v_doi_mask.v = vec_cmp_lt(v_r2.v, v_hig2.v); - v_doi_N3_mask.v = vec_cmp_lt(v_r2.v, hjg2.v); - - /* Form r2 > 0 mask and r2 < hig2 mask. */ - //v_doi_mask2_check.v = vec_cmp_gt(v_r2_2.v, vec_setzero()); - //v_doi_mask2.v = vec_cmp_lt(v_r2_2.v, v_hig2.v); - //v_doi_N3_mask2.v = vec_cmp_lt(v_r2_2.v, v_hjg2_2.v); - - v_doi_mask.v = vec_and(vec_add(v_doi_mask.v, v_doi_N3_mask.v), v_doi_mask_check.v); - - /* Combine two masks and form integer mask. */ - doi_mask = vec_cmp_result(v_doi_mask.v); - //doi_mask2 = vec_cmp_result(vec_add(vec_and(v_doi_mask2.v, v_doi_mask2_check.v), v_doi_N3_mask2.v)); - -#endif /* HAVE_AVX512_F */ - - for(int k=0; k<VEC_SIZE; k++) - pjq[k] = &parts[pjd + k]; - - /* If there are any interactions left pack interaction values into c2 - * cache. */ - if (doi_mask) { - for(int k=0; k<VEC_SIZE; k++) { - if( v_r2.f[k] == 0.f) v_r2.f[k] = 1.f; - } - - //intCount += __builtin_popcount(doi_mask); - - runner_iact_nonsym_1_vec_force(&v_r2, &v_dx_tmp, &v_dy_tmp, &v_dz_tmp, - v_hi_inv, v_hj_inv, piq, pjq, - &a_hydro_xSum, &a_hydro_ySum, &a_hydro_zSum, - &h_dtSum, &v_sigSum, &entropy_dtSum, v_doi_mask); - } - - } - - VEC_HADD(a_hydro_xSum, pi->a_hydro[0]); - VEC_HADD(a_hydro_ySum, pi->a_hydro[1]); - VEC_HADD(a_hydro_zSum, pi->a_hydro[2]); - VEC_HADD(h_dtSum, pi->force.h_dt); - for(int k=0; k<VEC_SIZE; k++) - pi->force.v_sig = max(pi->force.v_sig, v_sigSum.f[k]); - VEC_HADD(entropy_dtSum, pi->entropy_dt); - - } /* loop over all particles. */ - - //TIMER_TOC(timer_doself_force); -#endif /* WITH_VECTORIZATION */ -} - -/** - * @brief Compute the cell self-interaction (non-symmetric) using vector - * intrinsics with one particle pi at a time. - * - * @param r The #runner. - * @param c The #cell. - */ -__attribute__((always_inline)) INLINE void runner_doself2_force_vec_2( - struct runner *r, struct cell *restrict c) { - -#ifdef WITH_VECTORIZATION - //static int intCount = 0; - const struct engine *e = r->e; - int doi_mask; - struct part *restrict pi; - int count_align; - int num_vec_proc = 2;//NUM_VEC_PROC; - - struct part *restrict parts = c->parts; - const int count = c->count; - - vector v_hi, v_vix, v_viy, v_viz, v_hig2, v_r2; - vector v_rhoi, v_grad_hi, v_pOrhoi2, v_balsara_i, v_ci; - - //TIMER_TIC - - if (!cell_is_active(c, e)) return; - - if (!cell_is_drifted(c, e)) cell_drift_particles(c, e); - - /* Get the particle cache from the runner and re-allocate - * the cache if it is not big enough for the cell. */ - struct cache *restrict cell_cache = &r->ci_cache; - - if (cell_cache->count < count) { - cache_init(cell_cache, count); - } - - /* Read the particles from the cell and store them locally in the cache. */ - cache_read_particles(c, cell_cache); - - /* Create secondary cache to store particle interactions. */ - //struct c2_cache int_cache; - //int icount = 0, icount_align = 0; - - /* Loop over the particles in the cell. */ - for (int pid = 0; pid < count; pid++) { - - /* Get a pointer to the ith particle. */ - pi = &parts[pid]; - - /* Is the ith particle active? */ - if (!part_is_active(pi, e)) continue; - - vector pix, piy, piz; - - const float hi = cell_cache->h[pid]; - - /* Fill particle pi vectors. */ - pix.v = vec_set1(cell_cache->x[pid]); - piy.v = vec_set1(cell_cache->y[pid]); - piz.v = vec_set1(cell_cache->z[pid]); - v_hi.v = vec_set1(hi); - v_vix.v = vec_set1(cell_cache->vx[pid]); - v_viy.v = vec_set1(cell_cache->vy[pid]); - v_viz.v = vec_set1(cell_cache->vz[pid]); - - v_rhoi.v = vec_set1(cell_cache->rho[pid]); - v_grad_hi.v = vec_set1(cell_cache->grad_h[pid]); - v_pOrhoi2.v = vec_set1(cell_cache->pOrho2[pid]); - v_balsara_i.v = vec_set1(cell_cache->balsara[pid]); - v_ci.v = vec_set1(cell_cache->soundspeed[pid]); - - const float hig2 = hi * hi * kernel_gamma2; - v_hig2.v = vec_set1(hig2); - - /* Reset cumulative sums of update vectors. */ - vector a_hydro_xSum, a_hydro_ySum, a_hydro_zSum, h_dtSum, v_sigSum, entropy_dtSum; - - /* Get the inverse of hi. */ - vector v_hi_inv; - - v_hi_inv = vec_reciprocal(v_hi); - - a_hydro_xSum.v = vec_setzero(); - a_hydro_ySum.v = vec_setzero(); - a_hydro_zSum.v = vec_setzero(); - h_dtSum.v = vec_setzero(); - v_sigSum.v = vec_set1(pi->force.v_sig); - entropy_dtSum.v = vec_setzero(); - - /* Pad cache if there is a serial remainder. */ - count_align = count; - int rem = count % (num_vec_proc * VEC_SIZE); - if (rem != 0) { - int pad = (num_vec_proc * VEC_SIZE) - rem; - - count_align += pad; - - /* Set positions to the same as particle pi so when the r2 > 0 mask is - * applied these extra contributions are masked out.*/ - for (int i = count; i < count_align; i++) { - cell_cache->x[i] = pix.f[0]; - cell_cache->y[i] = piy.f[0]; - cell_cache->z[i] = piz.f[0]; - cell_cache->h[i] = 1.f; - } - } - - vector pjx, pjy, pjz; - vector hj, hjg2; - vector pjx2, pjy2, pjz2; - vector hj_2, hjg2_2; - - /* Find all of particle pi's interacions and store needed values in the - * secondary cache.*/ - for (int pjd = 0; pjd < count_align; pjd += (num_vec_proc * VEC_SIZE)) { - - /* Load 2 sets of vectors from the particle cache. */ - pjx.v = vec_load(&cell_cache->x[pjd]); - pjy.v = vec_load(&cell_cache->y[pjd]); - pjz.v = vec_load(&cell_cache->z[pjd]); - - hj.v = vec_load(&cell_cache->h[pjd]); - hjg2.v = vec_mul(vec_mul(hj.v,hj.v), kernel_gamma2_vec.v); - - pjx2.v = vec_load(&cell_cache->x[pjd + VEC_SIZE]); - pjy2.v = vec_load(&cell_cache->y[pjd + VEC_SIZE]); - pjz2.v = vec_load(&cell_cache->z[pjd + VEC_SIZE]); - //pjvx2.v = vec_load(&cell_cache->vx[pjd + VEC_SIZE]); - //pjvy2.v = vec_load(&cell_cache->vy[pjd + VEC_SIZE]); - //pjvz2.v = vec_load(&cell_cache->vz[pjd + VEC_SIZE]); - //mj2.v = vec_load(&cell_cache->m[pjd + VEC_SIZE]); - - hj_2.v = vec_load(&cell_cache->h[pjd + VEC_SIZE]); - hjg2_2.v = vec_mul(vec_mul(hj_2.v,hj_2.v), kernel_gamma2_vec.v); - - /* Compute the pairwise distance. */ - vector v_dx_tmp, v_dy_tmp, v_dz_tmp; - vector v_dx_tmp2, v_dy_tmp2, v_dz_tmp2, v_r2_2; - - v_dx_tmp.v = vec_sub(pix.v, pjx.v); - v_dx_tmp2.v = vec_sub(pix.v, pjx2.v); - v_dy_tmp.v = vec_sub(piy.v, pjy.v); - v_dy_tmp2.v = vec_sub(piy.v, pjy2.v); - v_dz_tmp.v = vec_sub(piz.v, pjz.v); - v_dz_tmp2.v = vec_sub(piz.v, pjz2.v); - - v_r2.v = vec_mul(v_dx_tmp.v, v_dx_tmp.v); - v_r2_2.v = vec_mul(v_dx_tmp2.v, v_dx_tmp2.v); - v_r2.v = vec_fma(v_dy_tmp.v, v_dy_tmp.v, v_r2.v); - v_r2_2.v = vec_fma(v_dy_tmp2.v, v_dy_tmp2.v, v_r2_2.v); - v_r2.v = vec_fma(v_dz_tmp.v, v_dz_tmp.v, v_r2.v); - v_r2_2.v = vec_fma(v_dz_tmp2.v, v_dz_tmp2.v, v_r2_2.v); - -/* Form a mask from r2 < hig2 and r2 > 0.*/ -#ifdef HAVE_AVX512_F - // KNL_MASK_16 doi_mask, doi_mask_check, doi_mask2, doi_mask2_check; - KNL_MASK_16 doi_mask_check, doi_mask2, doi_mask2_check; - - doi_mask_check = vec_cmp_gt(v_r2.v, vec_setzero()); - doi_mask = vec_cmp_lt(v_r2.v, v_hig2.v); - - doi_mask2_check = vec_cmp_gt(v_r2_2.v, vec_setzero()); - doi_mask2 = vec_cmp_lt(v_r2_2.v, v_hig2.v); - - doi_mask = doi_mask & doi_mask_check; - doi_mask2 = doi_mask2 & doi_mask2_check; - -#else - vector v_doi_mask, v_doi_mask_check, v_doi_N3_mask; - vector v_doi_mask2, v_doi_mask2_check, v_doi_N3_mask2; - int doi_mask2; - - /* Form r2 > 0 mask, r2 < hig2 mask and r2 < hjg2 mask. */ - v_doi_mask_check.v = vec_cmp_gt(v_r2.v, vec_setzero()); - v_doi_mask.v = vec_cmp_lt(v_r2.v, v_hig2.v); - v_doi_N3_mask.v = vec_cmp_lt(v_r2.v, hjg2.v); - - /* Form r2 > 0 mask and r2 < hig2 mask. */ - v_doi_mask2_check.v = vec_cmp_gt(v_r2_2.v, vec_setzero()); - v_doi_mask2.v = vec_cmp_lt(v_r2_2.v, v_hig2.v); - v_doi_N3_mask2.v = vec_cmp_lt(v_r2_2.v, hjg2_2.v); - - v_doi_mask.v = vec_and(vec_add(v_doi_mask.v, v_doi_N3_mask.v), v_doi_mask_check.v); - v_doi_mask2.v = vec_and(vec_add(v_doi_mask2.v, v_doi_N3_mask2.v), v_doi_mask2_check.v); - - /* Combine two masks and form integer mask. */ - doi_mask = vec_cmp_result(v_doi_mask.v); - doi_mask2 = vec_cmp_result(v_doi_mask2.v); - -#endif /* HAVE_AVX512_F */ - - /* If there are any interactions left pack interaction values into c2 - * cache. */ - if (doi_mask) { - for(int k=0; k<VEC_SIZE; k++) { - if( v_r2.f[k] == 0.f) v_r2.f[k] = 1.f; - } - - //intCount += __builtin_popcount(doi_mask); - - vector pjvx, pjvy, pjvz, mj, v_hj_inv; - vector v_rhoj, v_grad_hj, v_pOrhoj2, v_balsara_j, v_cj; - - v_hj_inv = vec_reciprocal(hj); - mj.v = vec_load(&cell_cache->m[pjd]); - pjvx.v = vec_load(&cell_cache->vx[pjd]); - pjvy.v = vec_load(&cell_cache->vy[pjd]); - pjvz.v = vec_load(&cell_cache->vz[pjd]); - - v_rhoj.v = vec_load(&cell_cache->rho[pjd]); - v_grad_hj.v = vec_load(&cell_cache->grad_h[pjd]); - v_pOrhoj2.v = vec_load(&cell_cache->pOrho2[pjd]); - v_balsara_j.v = vec_load(&cell_cache->balsara[pjd]); - v_cj.v = vec_load(&cell_cache->soundspeed[pjd]); - - runner_iact_nonsym_1_vec_force_2(&v_r2, &v_dx_tmp, &v_dy_tmp, &v_dz_tmp, - &v_vix, &v_viy, &v_viz, &v_rhoi, &v_grad_hi, &v_pOrhoi2, &v_balsara_i, &v_ci, - &pjvx, &pjvy, &pjvz, &v_rhoj, &v_grad_hj, &v_pOrhoj2, &v_balsara_j, &v_cj, &mj, - v_hi_inv, v_hj_inv, - &a_hydro_xSum, &a_hydro_ySum, &a_hydro_zSum, - &h_dtSum, &v_sigSum, &entropy_dtSum, v_doi_mask); - } - if (doi_mask2) { - for(int k=0; k<VEC_SIZE; k++) { - if( v_r2_2.f[k] == 0.f) v_r2_2.f[k] = 1.f; - } - - vector pjvx, pjvy, pjvz, mj, v_hj_inv; - vector v_rhoj, v_grad_hj, v_pOrhoj2, v_balsara_j, v_cj; - - v_hj_inv = vec_reciprocal(hj_2); - mj.v = vec_load(&cell_cache->m[pjd + VEC_SIZE]); - pjvx.v = vec_load(&cell_cache->vx[pjd + VEC_SIZE]); - pjvy.v = vec_load(&cell_cache->vy[pjd + VEC_SIZE]); - pjvz.v = vec_load(&cell_cache->vz[pjd + VEC_SIZE]); - - v_rhoj.v = vec_load(&cell_cache->rho[pjd + VEC_SIZE]); - v_grad_hj.v = vec_load(&cell_cache->grad_h[pjd + VEC_SIZE]); - v_pOrhoj2.v = vec_load(&cell_cache->pOrho2[pjd + VEC_SIZE]); - v_balsara_j.v = vec_load(&cell_cache->balsara[pjd + VEC_SIZE]); - v_cj.v = vec_load(&cell_cache->soundspeed[pjd + VEC_SIZE]); - - runner_iact_nonsym_1_vec_force_2(&v_r2_2, &v_dx_tmp2, &v_dy_tmp2, &v_dz_tmp2, - &v_vix, &v_viy, &v_viz, &v_rhoi, &v_grad_hi, &v_pOrhoi2, &v_balsara_i, &v_ci, - &pjvx, &pjvy, &pjvz, &v_rhoj, &v_grad_hj, &v_pOrhoj2, &v_balsara_j, &v_cj, &mj, - v_hi_inv, v_hj_inv, - &a_hydro_xSum, &a_hydro_ySum, &a_hydro_zSum, - &h_dtSum, &v_sigSum, &entropy_dtSum, v_doi_mask2); - } - - } - - VEC_HADD(a_hydro_xSum, pi->a_hydro[0]); - VEC_HADD(a_hydro_ySum, pi->a_hydro[1]); - VEC_HADD(a_hydro_zSum, pi->a_hydro[2]); - VEC_HADD(h_dtSum, pi->force.h_dt); - for(int k=0; k<VEC_SIZE; k++) - pi->force.v_sig = max(pi->force.v_sig, v_sigSum.f[k]); - VEC_HADD(entropy_dtSum, pi->entropy_dt); - - } /* loop over all particles. */ - - //message("No. of force interactions: %d", intCount); - //TIMER_TOC(timer_doself_force); -#endif /* WITH_VECTORIZATION */ -} - -/** - * @brief Compute the cell self-interaction (non-symmetric) using vector - * intrinsics with one particle pi at a time. - * - * @param r The #runner. - * @param c The #cell. - */ -__attribute__((always_inline)) INLINE void runner_doself2_force_vec_3( - struct runner *r, struct cell *restrict c) { - #ifdef WITH_VECTORIZATION const struct engine *e = r->e; struct part *restrict pi; diff --git a/src/runner_doiact_vec.h b/src/runner_doiact_vec.h index 57280b0064d565e04802b82c6cc80397f26337ce..50d0722d577c38a4cb3cce35a339795b399161fe 100644 --- a/src/runner_doiact_vec.h +++ b/src/runner_doiact_vec.h @@ -36,9 +36,6 @@ /* Function prototypes. */ void runner_doself1_density_vec(struct runner *r, struct cell *restrict c); void runner_doself2_force_vec(struct runner *r, struct cell *restrict c); -void runner_doself2_force_vec_2(struct runner *r, struct cell *restrict c); -void runner_doself2_force_vec_3(struct runner *r, struct cell *restrict c); -void runner_doself1_density_vec_2(struct runner *r, struct cell *restrict c); void runner_dopair1_density_vec(struct runner *r, struct cell *restrict ci, struct cell *restrict cj); diff --git a/tests/test125cells.c b/tests/test125cells.c index 9594215082281ff87335b893b2b5e4c401c03b25..49a26bcca9f0b938953cdcf0024451e4cfcf1f07 100644 --- a/tests/test125cells.c +++ b/tests/test125cells.c @@ -32,9 +32,9 @@ #include "swift.h" #if defined(WITH_VECTORIZATION) -#define DOSELF2 runner_doself2_force_vec_3 +#define DOSELF2 runner_doself2_force_vec #define DOPAIR2 runner_dopair2_density_vec -#define DOSELF2_NAME "runner_doself2_force_vec_3" +#define DOSELF2_NAME "runner_doself2_force_vec" #define DOPAIR2_NAME "runner_dopair2_force_vec" #endif @@ -441,8 +441,6 @@ void runner_doself1_density(struct runner *r, struct cell *ci); void runner_dopair2_force(struct runner *r, struct cell *ci, struct cell *cj); void runner_doself2_force(struct runner *r, struct cell *ci); void runner_doself2_force_vec(struct runner *r, struct cell *ci); -void runner_doself2_force_vec_2(struct runner *r, struct cell *ci); -void runner_doself2_force_vec_3(struct runner *r, struct cell *ci); /* And go... */ int main(int argc, char *argv[]) {