From 9d692dc936e3adc29e2e97c34c619b55445980ac Mon Sep 17 00:00:00 2001
From: Pedro Gonnet <pedro.gonnet@durham.ac.uk>
Date: Wed, 28 Aug 2013 09:05:36 +0000
Subject: [PATCH] use unique tags.

Former-commit-id: a92f9cc8f4bbe8e647edeaa098bc7ac6ef2a8450
---
 src/engine.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/engine.c b/src/engine.c
index 52bb316e84..2430d87acf 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -141,16 +141,16 @@ void engine_redistribute ( struct engine *e ) {
             j += counts[ k*nr_nodes + nodeID ];
             }
         if ( k != nodeID && counts[ nodeID*nr_nodes + k ] > 0 ) {
-            if ( MPI_Isend( &parts[i] , sizeof(struct part) * counts[ nodeID*nr_nodes + k ] , MPI_BYTE , k , 0 , MPI_COMM_WORLD , &reqs[4*k] ) != MPI_SUCCESS )
+            if ( MPI_Isend( &parts[i] , sizeof(struct part) * counts[ nodeID*nr_nodes + k ] , MPI_BYTE , k , 2*(nodeID*nr_nodes + k) + 0 , MPI_COMM_WORLD , &reqs[4*k] ) != MPI_SUCCESS )
                 error( "Failed to isend parts to node %i." , k );
-            if ( MPI_Isend( &xparts[i] , sizeof(struct xpart) * counts[ nodeID*nr_nodes + k ] , MPI_BYTE , k , 1 , MPI_COMM_WORLD , &reqs[4*k+1] ) != MPI_SUCCESS )
+            if ( MPI_Isend( &xparts[i] , sizeof(struct xpart) * counts[ nodeID*nr_nodes + k ] , MPI_BYTE , k , 2*(nodeID*nr_nodes + k) + 1 , MPI_COMM_WORLD , &reqs[4*k+1] ) != MPI_SUCCESS )
                 error( "Failed to isend xparts to node %i." , k );
             i += counts[ nodeID*nr_nodes + k ];
             }
         if ( k != nodeID && counts[ k*nr_nodes + nodeID ] > 0 ) {
-            if ( MPI_Irecv( &parts_new[j] , sizeof(struct part) * counts[ k*nr_nodes + nodeID ] , MPI_BYTE , k , 0 , MPI_COMM_WORLD , &reqs[4*k+2] ) != MPI_SUCCESS )
+            if ( MPI_Irecv( &parts_new[j] , sizeof(struct part) * counts[ k*nr_nodes + nodeID ] , MPI_BYTE , k , 2*(k*nr_nodes + nodeID) + 0 , MPI_COMM_WORLD , &reqs[4*k+2] ) != MPI_SUCCESS )
                 error( "Failed to emit irecv of parts from node %i." , k );
-            if ( MPI_Irecv( &xparts_new[j] , sizeof(struct xpart) * counts[ k*nr_nodes + nodeID ] , MPI_BYTE , k , 1 , MPI_COMM_WORLD , &reqs[4*k+3] ) != MPI_SUCCESS )
+            if ( MPI_Irecv( &xparts_new[j] , sizeof(struct xpart) * counts[ k*nr_nodes + nodeID ] , MPI_BYTE , k , 2*(k*nr_nodes + nodeID) + 1 , MPI_COMM_WORLD , &reqs[4*k+3] ) != MPI_SUCCESS )
                 error( "Failed to emit irecv of parts from node %i." , k );
             j += counts[ k*nr_nodes + nodeID ];
             }
-- 
GitLab