From a88f4f9c308f46fc321ea4ce67e813aec610641d Mon Sep 17 00:00:00 2001
From: Pedro Gonnet <pedro.gonnet@durham.ac.uk>
Date: Thu, 11 Jul 2013 09:45:11 +0000
Subject: [PATCH] relax pre-fetching a bit.

Former-commit-id: dcbac2f4ed0c6d3738bbf60e731794465fd2f9e2
---
 src/runner.c | 20 ++++----------------
 1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/src/runner.c b/src/runner.c
index 15d9936ad3..b930efd795 100644
--- a/src/runner.c
+++ b/src/runner.c
@@ -532,17 +532,11 @@ void runner_dokick2 ( struct runner *r , struct cell *c ) {
     TIMER_TIC
     
     /* Loop over the particles and kick them. */
-    __builtin_prefetch( &parts[0] , 0 , 1 );
-    __builtin_prefetch( &parts[0].rho_dh , 0 , 1 );
-    __builtin_prefetch( &parts[1] , 0 , 1 );
-    __builtin_prefetch( &parts[1].rho_dh , 0 , 1 );
-    __builtin_prefetch( &parts[2] , 0 , 1 );
-    __builtin_prefetch( &parts[2].rho_dh , 0 , 1 );
     for ( k = 0 ; k < nr_parts ; k++ ) {
 
         /* Get a handle on the part. */
-        __builtin_prefetch( &parts[k+3] , 0 , 1 );
-        __builtin_prefetch( &parts[k+3].rho_dh , 0 , 1 );
+        __builtin_prefetch( &parts[k+1] , 0 , 1 );
+        __builtin_prefetch( &xparts[k+1] , 0 , 1 );
         p = &parts[k];
         xp = &xparts[k];
 
@@ -649,17 +643,11 @@ void runner_dokick1 ( struct runner *r , struct cell *c ) {
         dx_max = 0.0f;
     
         /* Loop over parts. */
-        __builtin_prefetch( &parts[0] , 0 , 1 );
-        __builtin_prefetch( &parts[0].rho_dh , 0 , 1 );
-        __builtin_prefetch( &parts[1] , 0 , 1 );
-        __builtin_prefetch( &parts[1].rho_dh , 0 , 1 );
-        __builtin_prefetch( &parts[2] , 0 , 1 );
-        __builtin_prefetch( &parts[2].rho_dh , 0 , 1 );
         for ( k = 0 ; k < c->count ; k++ ) {
             
             /* Get a handle on the kth particle. */
-            __builtin_prefetch( &parts[k+3] , 0 , 1 );
-            __builtin_prefetch( &parts[k+3].rho_dh , 0 , 1 );
+            __builtin_prefetch( &parts[k+1] , 0 , 1 );
+            __builtin_prefetch( &xparts[k+1] , 0 , 1 );
             p = &parts[k];
             xp = &xparts[k];
             
-- 
GitLab