From 8a78a9cc0624cf7c20a78bfa31508299e7a4d5e0 Mon Sep 17 00:00:00 2001
From: piacibel <cyrille.piacibello@inria.fr>
Date: Thu, 10 Apr 2014 14:42:18 +0200
Subject: [PATCH] Hybrid Algorithm modified, and Parallel Details paper
 updated, with some tips for using EZTrace on ScalFMM

---
 Doc/Src_tex/ParallelDetails.pdf      |  Bin 265120 -> 280508 bytes
 Doc/Src_tex/ParallelDetails.tex      |  220 +++-
 Src/Core/FFmmAlgorithmThreadProc.hpp | 1476 ++++++++++++++------------
 3 files changed, 979 insertions(+), 717 deletions(-)
 mode change 100755 => 100644 Src/Core/FFmmAlgorithmThreadProc.hpp

diff --git a/Doc/Src_tex/ParallelDetails.pdf b/Doc/Src_tex/ParallelDetails.pdf
index 6ad670aee7216bbe3450fcd1b4d235cbc2e443a2..9c46298ee0600395a6bb9b6433c352b844ca0b16 100755
GIT binary patch
delta 80802
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
a&WKWSdLuWBFps&Vp`kgKs;aBM8y5hQ`1YCr

delta 65637
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
F1pxgVe{cW*

diff --git a/Doc/Src_tex/ParallelDetails.tex b/Doc/Src_tex/ParallelDetails.tex
index 1a81839a7..070d9a4c8 100755
--- a/Doc/Src_tex/ParallelDetails.tex
+++ b/Doc/Src_tex/ParallelDetails.tex
@@ -3,11 +3,12 @@
 \usepackage{listings}
 \usepackage{geometry}
 \usepackage{graphicx}
+\usepackage{tikz}
 \usepackage[hypertexnames=false, pdftex]{hyperref}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % use:$ pdflatex ParallelDetails.tex
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\author{Berenger Bramas, Olivier Coulaud, Cyrille Piacibelo}
+\author{Berenger Bramas, Olivier Coulaud, Cyrille Piacibello}
 \title{ScalFmm - Parallel Algorithms (Draft)}
 \date{\today}
 
@@ -152,26 +153,64 @@ That is the reason why we need to balance the data among nodes.
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \section{Balancing the leaves}
-After sorting, each process has potentially several leaves.
-If we have two processes $P_{i}$ and $P_{j}$ with $i < j$ the sort guarantees that all leaves from node i are inferior than the leaves on the node j in a Morton indexing way.
-But the leaves are randomly distributed among the nodes and we need to balance them.
-It is a simple reordoring of the data, but the data has to stayed sorted.
+After sorting, each process has potentially several leaves.  If we
+have two processes $P_{i}$ and $P_{j}$ with $i < j$ the sort
+guarantees that all leaves from node i are inferior than the leaves on
+the node j in a Morton indexing way.  But the leaves are randomly
+distributed among the nodes and we need to balance them.  It is a
+simple reordoring of the data, but the data has to stayed sorted.
 
 \begin{enumerate}
 \item Each process informs other to tell how many leaves it holds.
-\item Each process compute how many leaves it has to send or to receive from left or right.
+\item Each process compute how many leaves it has to send or to
+  receive from left or right. \label{balRef}
 \end{enumerate}
-At the end of the algorithm our system is completely balanced with the same number of leaves on each process.
+
+At the end of the algorithm our system is completely balanced with the
+same number of leaves on each process.  If another kind of balancing
+algorithm is needed, one can only change the BalanceAlgorithm class
+that is given in parameter to the ArrayToTree static method in the
+step \ref{balRef}.
+
+\subsection{Balancing algorithms supported}
+Any balancing algorithm can be used, but it has to provide at least
+two method, as showed in the class FAbstractBalancingAlgorithm.
+Those methods are :
+\begin{enumerate}
+\item GetLeft : return the number of leaves that will belongs only to
+  proc on the left of given proc.
+\item GetRight : return the number of leaves that will belongs only to
+  proc on the right of given proc.
+\end{enumerate}
+
+In the parameters of those two methods, one can find the total number
+of leaves, the total number of particles, the number of proc, and the
+index of a proc to be treated.
 
 \begin{figure}[h!]
   \begin{center}
     \includegraphics[width=15cm, height=15cm, keepaspectratio=true]{Images/Balance.png}
-    \caption{Balancing Example}
+    \caption{Balancing Example : A process has to send data to the
+      left if its current left limit is upper than its objective
+      limit.  Same in the other side, and we can reverse the calculs
+      to know if a process has to received data.}
   \end{center}
 \end{figure}
 
-A process has to send data to the left if its current left limit is upper than its objective limit.
-Same in the other side, and we can reverse the calculs to know if a process has to received data.
+\clearpage
+\subsection{Mpi calls}
+Once every process know exactly what it needs to compute for itself
+and for any other proc the bound GetRight() and GetLeft(), there is
+only one Mpi communication AllToAll.
+
+To prepare the buffers to be sent and received, each proc count the
+number of leafs (and the size) it holds, and divide them into
+potentially three parts :
+\begin{enumerate}
+\item The datas to send to proc on left (Can be null).
+\item The datas to keep (can be null).
+\item The datas to send to proc on right(can be null).
+\end{enumerate}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -237,10 +276,10 @@ shared cell at a level.
 
 There are to cases : 
 \begin{itemize}
-  \item My first cell is shared means that I need to send the children I have of
-    this cell to the processus on my left.
-  \item My last cell is shared means that I need to receive some
-    children from the processus on my right.
+\item My first cell is shared means that I need to send the children I have of
+  this cell to the processus on my left.
+\item My last cell is shared means that I need to receive some
+  children from the processus on my right.
 \end{itemize}
 
 
@@ -313,6 +352,46 @@ Example :
   \hline
 \end{tabular}
 
+\subsection{Modified M2M}
+The algorithm may not be efficient for special cases. Since the
+communications do not progress (even in asynchrone way) while
+computing the M2M, the algorithm has been modified, in order to set
+one of the OMP thread to the communications.
+
+\begin{algorithm}[H]
+  \RestyleAlgo{boxed}
+  \LinesNumbered
+  \SetAlgoLined
+  \KwData{none}
+  \KwResult{none}
+  \BlankLine
+  \For{idxLevel $\leftarrow$ $Height - 2$ \KwTo 1}{
+    \tcp{pragma omp single}
+    \Begin(To be done by one thread only){ 
+        \uIf{$cells[0]$ not in my working interval}{
+          isend($cells[0].child$)\;
+          hasSend $\leftarrow$ true\;
+        }
+        \uIf{$cells[end]$ in another working interval}{
+          irecv(recvBuffer)\;
+          hasRecv $\leftarrow$ true\;
+        }
+        \emph{Wait send and recv if needed}\;
+        \uIf{hasRecv is true}{
+          M2M($cells[end]$, recvBuffer)\;
+        }
+      }
+      \tcp{pragma omp for}
+      \Begin(To be done by all the other threads){ 
+          \ForAll{Cell c at level idxLevel in working interval}{
+            M2M(c, c.child)\;
+          }
+        }
+  }
+  \BlankLine
+  \caption{Distributed M2M}
+\end{algorithm}
+
 
 \clearpage
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -413,13 +492,25 @@ Finally they send and receive data in an asynchronous way and cover it by the P2
   \BlankLine
   \caption{Distributed P2P}
 \end{algorithm}
+
+\subsection{Shared Memory Version}
+The P2P algorithm is computed once for each pair of leafs belonging to
+the same proc. This means that when a proc will compute the force on
+the particles of leaf $1$ due to the particles of leaf $2$, both leafs
+$1$ and $2$ will be updated.
+
+This way of compute the interaction is faster, but leads to
+concurrency problems.
+
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \section{M2L}
 The M2L operator is relatively similar to the P2P.
-Hence P2P is done at the leaves level, M2L is done on several levels from Height - 2 to 2.
+Hence P2P is done at the leaves level, M2L is done on several levels from $Height - 2$ to 2.
 At each level, a node needs to have access to all the distant neighbors of the cells it is the proprietary and those ones can be hosted by any other node.
 Anyway, each node can compute a part of the M2L with the data it has.
+\subsection{Original Algorithm}
 The algorithm can be viewed as several tasks:
 \begin{enumerate}
 \item Compute to know what data has to be sent
@@ -436,7 +527,7 @@ The algorithm can be viewed as several tasks:
   \KwData{none}
   \KwResult{none}
   \BlankLine
-  \ForAll{Level idxLeve from 2 to Height - 2}{
+  \ForAll{Level idxLevel from 2 to Height - 2}{
     \ForAll{Cell c at level idxLevel}{
       neighborsIndexes $\leftarrow$ $c.potentialDistantNeighbors()$\;
       \ForAll{index in neighborsIndexes}{
@@ -462,6 +553,103 @@ The algorithm can be viewed as several tasks:
   \BlankLine
   \caption{Distributed M2L}
 \end{algorithm}
+
+\subsection{Algorithm Modified}
+The idea in the following version is to cover the communications
+between process with the work (M2L Self) that can be done without
+anything from outside.
+
+\begin{algorithm}[H]
+  \RestyleAlgo{boxed}
+  \LinesNumbered
+  \SetAlgoLined
+  \KwData{none}
+  \KwResult{none}
+  \BlankLine
+  \Begin(To be done by one thread only){ \label{single}
+      \ForAll{Level idxLevel from 2 to Height - 2}{
+        \ForAll{Cell c at level idxLevel}{
+          neighborsIndexes $\leftarrow$ $c.potentialDistantNeighbors()$\;
+          \ForAll{index in neighborsIndexes}{
+            \uIf{index belong to another proc}{
+              isend(c)\;
+              \emph{Mark c as a cell that is linked to another proc}\;
+            }
+          }
+        }
+      }
+      \emph{Wait send and recv if needed}\;
+    }
+    \Begin(To be done by everybody else){\label{multiple}
+        \emph{Normal M2L}\;
+      }
+      \ForAll{Cell c received}{
+        $lightOctree.insert( c )$\;
+      }
+      \ForAll{Level idxLeve from 2 to Height - 1}{
+        \ForAll{Cell c at level idxLevel that are marked}{
+          neighborsIndexes $\leftarrow$ $c.potentialDistantNeighbors()$\;
+          neighbors $\leftarrow$ lightOctree.get(neighborsIndexes)\;
+          M2L( c, neighbors)\;
+        }
+      }
+      \BlankLine
+      \caption{Distributed M2L 2}
+      
+\end{algorithm}
+
+
+\appendix
+
+\clearpage
+\chapter{Cheat sheet about using EZtrace with ViTE on ScalFMM}
+
+In this appendix, one can find usefull information about using EZtrace
+on ScalFMM, and visualisation with ViTE.
+
+\section{EZtrace}
+EZTrace is a tool that aims at generating automatically execution
+trace from HPC (High Performance Computing) programs.
+
+It does not need any source instrumentation.
+Usefull variables :
+
+\begin{itemize}
+\item EZTRACE\_FLUSH : set the value to $1$ in order to flush the
+  event buffer to the disk in case of uge amouts of datas.  
+\item EZTRACE\_TRACE : choice of the type of event one wants to
+  have. Example : EZTRACE\_TRACE="mpi stdio omp memory". Remark : Mpi do a
+  lot of call to pthread, so I suggest to not trace pthread events in
+  order to visualize the results.
+\item EZTRACE\_TRACE\_DIR : path to a directory in wich eztrace will
+  store trace for each MPI Proc. (Set to /lustre/username/smt to avoid
+  overhead)
+\end{itemize}
+
+Once the traces are generated, one need to convert them, in order to
+visualize its.
+
+\section{ViTE}
+ViTE is a high memory consumption software, so in order to use it,
+avoid tracing pthread for example.
+
+One can zoom in and out in the gant chart.
+
+Plugin : One can get a histogram of each proc display the percentage
+of time spend in different section.
+\begin{itemize}
+  \item Got to Preferences $\rightarrow$ Plugin.
+\end{itemize}
+
+Sorting the gant charts : Sometimes the process are badly sorted (like
+0,1,10,11,2,3,4,5,6,7,8,9). It's possible to sort them with the mouse,
+or with editing an xml file : 
+\begin{itemize}
+  \item Got to Preferences $\rightarrow$ Node Selection and then Sort,
+    or export/load xml file .
+\end{itemize}
+
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{thebibliography}{9}
diff --git a/Src/Core/FFmmAlgorithmThreadProc.hpp b/Src/Core/FFmmAlgorithmThreadProc.hpp
old mode 100755
new mode 100644
index d5c13e167..c9da61c88
--- a/Src/Core/FFmmAlgorithmThreadProc.hpp
+++ b/Src/Core/FFmmAlgorithmThreadProc.hpp
@@ -23,6 +23,7 @@
 #include "../Utils/FLog.hpp"
 #include "../Utils/FTrace.hpp"
 #include "../Utils/FTic.hpp"
+#include "../Utils/FMPILog.hpp"
 #include "../Utils/FGlobal.hpp"
 
 #include "../Containers/FBoolArray.hpp"
@@ -61,8 +62,8 @@
  */
 template<class OctreeClass, class CellClass, class ContainerClass, class KernelClass, class LeafClass>
 class FFmmAlgorithmThreadProc : public FAbstractAlgorithm {
-
-  //  const static int MaxSizePerCell = CellClass::GetSize();
+  // Can be deleted
+  // const static int MaxSizePerCell = CellClass::GetSize();
   
   OctreeClass* const tree;                 //< The octree to work on
   KernelClass** kernels;                   //< The kernels
@@ -78,6 +79,8 @@ class FFmmAlgorithmThreadProc : public FAbstractAlgorithm {
   const int idProcess;                //< Id of current process
   
   const int OctreeHeight;            //<Height of the tree
+
+  FMPILog* sharedLogger;             //< Shared Logger to store all the information needed
   
   /** An interval is the morton index interval
    * that a proc use (it holds data in this interval)
@@ -96,7 +99,6 @@ class FFmmAlgorithmThreadProc : public FAbstractAlgorithm {
     return workingIntervalsPerLevel[OctreeHeight * proc + level];
   }
 
-
 public:
   /** Get current proc interval at level */
   Interval& getWorkingInterval( int level){
@@ -117,8 +119,9 @@ public:
     : tree(inTree) , kernels(0), comm(inComm), iterArray(nullptr),numberOfLeafs(0),
       MaxThreads(omp_get_max_threads()), nbProcess(inComm.processCount()), idProcess(inComm.processId()),
       OctreeHeight(tree->getHeight()),intervals(new Interval[inComm.processCount()]),
-      workingIntervalsPerLevel(new Interval[inComm.processCount() * tree->getHeight()]){
-
+      workingIntervalsPerLevel(new Interval[inComm.processCount() * tree->getHeight()])
+  {
+    FLOG(sharedLogger = new FMPILog(comm));
     FAssertLF(tree, "tree cannot be null");
 
     this->kernels = new KernelClass*[MaxThreads];
@@ -146,7 +149,7 @@ public:
    */
   void execute(const unsigned operationsToProceed = FFmmNearAndFarFields){
     FTRACE( FTrace::FFunction functionTrace( __FUNCTION__, "Fmm" , __FILE__ , __LINE__ ) );
-
+    FLOG(sharedLogger->newCounter("Prolog"));
     // Count leaf
     this->numberOfLeafs = 0;
     {
@@ -179,7 +182,6 @@ public:
 	octreeIterator.gotoBottomLeft();
 	octreeIterator.moveUp();
 
-	//Da fck is dat ?!
 	MortonIndex currentLimit = intervals[idProcess-1].max >> 3;
 
 	for(int idxLevel = OctreeHeight - 2 ; idxLevel >= 1 ; --idxLevel){
@@ -198,6 +200,8 @@ public:
       delete[] myIntervals;
     }
 
+    FLOG(sharedLogger->tac("Prolog"));
+
     // run;
     if(operationsToProceed & FFmmP2M) bottomPass();
 
@@ -209,6 +213,7 @@ public:
 
     if((operationsToProceed & FFmmP2P) || (operationsToProceed & FFmmL2P)) directPass();
 
+    
     // delete array
     delete [] iterArray;
     iterArray = 0;
@@ -224,8 +229,8 @@ private:
   void bottomPass(){
     FTRACE( FTrace::FFunction functionTrace(__FUNCTION__, "Fmm" , __FILE__ , __LINE__) );
     FLOG( FLog::Controller.write("\tStart Bottom Pass\n").write(FLog::Flush) );
-    FLOG(FTic counterTime);
-
+    //FLOG(sharedLogger->newCounter(std::string("counterTimeP2M")));
+    
     typename OctreeClass::Iterator octreeIterator(tree);
 
     // Iterate on leafs
@@ -235,7 +240,8 @@ private:
       iterArray[leafs++] = octreeIterator;
     } while(octreeIterator.moveRight());
 
-    FLOG(FTic computationCounter);
+    //FLOG(sharedLogger->newCounter("ParallelSectionP2M"));
+    //FLOG(sharedLogger->newCounter("ParallelSection"));
 #pragma omp parallel
     {
       KernelClass * const myThreadkernels = kernels[omp_get_thread_num()];
@@ -244,11 +250,11 @@ private:
 	myThreadkernels->P2M( iterArray[idxLeafs].getCurrentCell() , iterArray[idxLeafs].getCurrentListSrc());
       }
     }
-    FLOG(computationCounter.tac());
-
-    FLOG( FLog::Controller << "\tFinished (@Bottom Pass (P2M) = "  << counterTime.tacAndElapsed() << " s)\n" );
-    FLOG( FLog::Controller << "\t\t Computation : " << computationCounter.elapsed() << " s\n" );
-   
+    //FLOG(sharedLogger->tac("ParallelSection"));
+    //FLOG(sharedLogger->tac("ParallelSectionP2M"));
+    //FLOG(sharedLogger->tac("counterTimeP2M"));
+    // FLOG( FLog::Controller << "\tFinished (@Bottom Pass (P2M) = "  << counterTime.tacAndElapsed() << " s)\n" );
+    // FLOG( FLog::Controller << "\t\t Computation : " << computationCounter.elapsed() << " s\n" );
   }
 
   /////////////////////////////////////////////////////////////////////////////
@@ -262,9 +268,9 @@ private:
     FLOG( FLog::Controller.write("\tStart Upward Pass\n").write(FLog::Flush); );
     FLOG(FTic counterTime);
     FLOG(FTic computationCounter);
-    FLOG(FTic prepareCounter);
-    FLOG(FTic waitCounter);
-
+    FLOG(FTic singleCounter);
+    FLOG(FTic parallelCounter);
+    
     // Start from leal level - 1
     typename OctreeClass::Iterator octreeIterator(tree);
     octreeIterator.gotoBottomLeft();
@@ -286,10 +292,9 @@ private:
     CellClass recvBufferCells[8];
     
     int firstProcThatSend = idProcess + 1;
-
-    // for each levels
+    FLOG(computationCounter.tic());
+    //Loop for work
     for(int idxLevel = OctreeHeight - 2 ; idxLevel > 1 ; --idxLevel ){
-      // No more work for me
       if(idProcess != 0
 	 && getWorkingInterval((idxLevel+1), idProcess).max <= getWorkingInterval((idxLevel+1), idProcess - 1).max){
 	break;
@@ -303,141 +308,154 @@ private:
       } while(octreeIterator.moveRight());
       avoidGotoLeftIterator.moveUp();
       octreeIterator = avoidGotoLeftIterator;
-
-      // We may need to send something
-      int iterRequests = 0;
+      
       int cellsToSend = -1;
+      int iterRequests = 0;
+     
+      int endIndex = numberOfCells;
+      //Test if i'm not the last, and I need st to compute my last M2M
+      if((idProcess != nbProcess-1) && (getWorkingInterval(idxLevel+1,idProcess+1)).min <= getWorkingInterval(idxLevel+1,idProcess).max){
+	endIndex--;
+      }
 
       while(iterArray[cellsToSend+1].getCurrentGlobalIndex() < getWorkingInterval(idxLevel, idProcess).min){
 	++cellsToSend;
       }
-
-      FTRACE( FTrace::FRegion regionTrace( "Preprocess" , __FUNCTION__ , __FILE__ , __LINE__) );
-
-      FLOG(prepareCounter.tic());
-      if(idProcess != 0
-	 && (getWorkingInterval((idxLevel+1), idProcess).min >>3) <= (getWorkingInterval((idxLevel+1), idProcess - 1).max >>3)){
-	
-	char state = 0;
-	sendBuffer.write(state);
-	
-	const CellClass* const* const child = iterArray[cellsToSend].getCurrentChild();
-	for(int idxChild = 0 ; idxChild < 8 ; ++idxChild){
-	  if( child[idxChild] && getWorkingInterval((idxLevel+1), idProcess).min <= child[idxChild]->getMortonIndex() ){
-	    child[idxChild]->serializeUp(sendBuffer);
-	    state = char(state | (0x1 << idxChild));
+      FLOG(parallelCounter.tic());
+#pragma omp parallel
+      {
+	//This single section is supposed post and receive the comms, and then do the M2M associated with its.
+#pragma omp single
+	{
+	  FLOG(singleCounter.tic());
+	  //Datas needed in several parts of the section
+	  bool hasToReceive;
+	  int endProcThatSend;
+	  
+	  //Post Send
+	  if(idProcess != 0
+	     && (getWorkingInterval((idxLevel+1), idProcess).min >>3) <= (getWorkingInterval((idxLevel+1), idProcess - 1).max >>3)){
 	    
-	  }
-	}
-	sendBuffer.writeAt(0,state);
-	
-	while( sendToProc && iterArray[cellsToSend].getCurrentGlobalIndex() <= getWorkingInterval(idxLevel , sendToProc - 1).max){
-	  --sendToProc;
-	}
-
-	MPI_Isend(sendBuffer.data(), sendBuffer.getSize(), MPI_PACKED, sendToProc, 
-		  FMpi::TagFmmM2M, comm.getComm(), &requests[iterRequests++]);
-	
-      }
-      // We may need to receive something
-      bool hasToReceive = false;
-      int endProcThatSend = firstProcThatSend;
-
-      if(idProcess != nbProcess - 1){ // if I'm the last one (idProcess == nbProcess-1), I shall not receive anything in a M2M
-	while(firstProcThatSend < nbProcess
-	      && (getWorkingInterval((idxLevel+1), firstProcThatSend).max) <= (getWorkingInterval((idxLevel+1), idProcess).max)){
-	  // Second condition :: while firstProcThatSend max morton index is < to myself max interval
-	  ++firstProcThatSend;
-	}
-
-	if(firstProcThatSend < nbProcess &&
-	   (getWorkingInterval((idxLevel+1), firstProcThatSend).min >>3) <= (getWorkingInterval((idxLevel+1) , idProcess).max>>3) ){
-
-	  endProcThatSend = firstProcThatSend;
-
-	  while( endProcThatSend < nbProcess &&
-		 (getWorkingInterval((idxLevel+1) ,endProcThatSend).min >>3) <= (getWorkingInterval((idxLevel+1) , idProcess).max>>3)){
-	    ++endProcThatSend;
-	  }
-
-
-	  if(firstProcThatSend != endProcThatSend){
-	    hasToReceive = true;
+	    char state = 0;
+	    sendBuffer.write(state);
+	    
+	    const CellClass* const* const child = iterArray[cellsToSend].getCurrentChild();
+	    for(int idxChild = 0 ; idxChild < 8 ; ++idxChild){
+	      if( child[idxChild] && getWorkingInterval((idxLevel+1), idProcess).min <= child[idxChild]->getMortonIndex() ){
+		child[idxChild]->serializeUp(sendBuffer);
+		state = char(state | (0x1 << idxChild));
+		
+	      }
+	    }
+	    sendBuffer.writeAt(0,state);
 	    
-	    for(int idxProc = firstProcThatSend ; idxProc < endProcThatSend ; ++idxProc ){
-	      MPI_Irecv(&recvBuffer.data()[idxProc * recvBufferOffset], recvBufferOffset, MPI_PACKED,
-			idxProc, FMpi::TagFmmM2M, comm.getComm(), &requests[iterRequests++]);
+	    while( sendToProc && iterArray[cellsToSend].getCurrentGlobalIndex() <= getWorkingInterval(idxLevel , sendToProc - 1).max){
+	      --sendToProc;
 	    }
+	    
+	    MPI_Isend(sendBuffer.data(), sendBuffer.getSize(), MPI_PACKED, sendToProc, 
+		      FMpi::TagFmmM2M, comm.getComm(), &requests[iterRequests++]);
+	    
 	  }
-	}
-      }
-      
-      FLOG(prepareCounter.tac());
-      FTRACE( regionTrace.end() );
-
-      // Compute
-      const int endIndex = (hasToReceive?numberOfCells-1:numberOfCells);
-      FLOG(computationCounter.tic());
-#pragma omp parallel
-      {
-	KernelClass& myThreadkernels = (*kernels[omp_get_thread_num()]);
-#pragma omp for nowait
-	for( int idxCell = cellsToSend + 1 ; idxCell < endIndex ; ++idxCell){
-	  myThreadkernels.M2M( iterArray[idxCell].getCurrentCell() , iterArray[idxCell].getCurrentChild(), idxLevel);
-	}
-      }
-      FLOG(computationCounter.tac());
-
-      // Are we sending or waiting anything?
-      if(iterRequests){
-	FLOG(waitCounter.tic());
-	MPI_Waitall( iterRequests, requests, status);
-	FLOG(waitCounter.tac());
-
-	// we were receiving data
-	if( hasToReceive ){
-	  CellClass* currentChild[8];
-	  memcpy(currentChild, iterArray[numberOfCells - 1].getCurrentChild(), 8 * sizeof(CellClass*));
-	  
-	  // retreive data and merge my child and the child from others
-	  for(int idxProc = firstProcThatSend ; idxProc < endProcThatSend ; ++idxProc){
-	    recvBuffer.seek(idxProc * recvBufferOffset);
-	    int state = int(recvBuffer.getValue<char>());
+	  //Post receive
+	  {
+	    // We may need to receive something
+	    hasToReceive = false;
+	    endProcThatSend = firstProcThatSend;
 	    
-	    int position = 0;
-	    while( state && position < 8){
-	      while(!(state & 0x1)){
-		state >>= 1;
-		++position;
+	    if(idProcess != nbProcess - 1){ // if I'm the last one (idProcess == nbProcess-1), I shall not receive anything in a M2M
+	      while(firstProcThatSend < nbProcess
+		    && (getWorkingInterval((idxLevel+1), firstProcThatSend).max) <= (getWorkingInterval((idxLevel+1), idProcess).max)){
+		// Second condition :: while firstProcThatSend max morton index is < to myself max interval
+		++firstProcThatSend;
 	      }
 	      
-	      FAssertLF(!currentChild[position], "Already has a cell here");
-	      
-	      recvBufferCells[position].deserializeUp(recvBuffer);
-	      currentChild[position] = (CellClass*) &recvBufferCells[position];
-	      
-	      state >>= 1;
-	      ++position;
+	      if(firstProcThatSend < nbProcess &&
+		 (getWorkingInterval((idxLevel+1), firstProcThatSend).min >>3) <= (getWorkingInterval((idxLevel+1) , idProcess).max>>3) ){
+		
+		endProcThatSend = firstProcThatSend;
+		
+		while( endProcThatSend < nbProcess &&
+		       (getWorkingInterval((idxLevel+1) ,endProcThatSend).min >>3) <= (getWorkingInterval((idxLevel+1) , idProcess).max>>3)){
+		  ++endProcThatSend;
+		}
+		
+		
+		if(firstProcThatSend != endProcThatSend){
+		  hasToReceive = true;
+		  
+		  for(int idxProc = firstProcThatSend ; idxProc < endProcThatSend ; ++idxProc ){
+		    MPI_Irecv(&recvBuffer.data()[idxProc * recvBufferOffset], recvBufferOffset, MPI_PACKED,
+			      idxProc, FMpi::TagFmmM2M, comm.getComm(), &requests[iterRequests++]);
+		  }
+		}
+	      }
 	    }
 	  }
+	  //Wait For the comms, and do the work
+	  {
+	    // Are we sending or waiting anything?
+	    if(iterRequests){
+	      //FLOG(sharedLogger->tic("waitCounterM2M"));
+	      MPI_Waitall( iterRequests, requests, status);
+	      //FLOG(sharedLogger->tac("waitCounterM2M"));
+	      // we were receiving data
+	      if( hasToReceive ){
+		CellClass* currentChild[8];
+		memcpy(currentChild, iterArray[numberOfCells - 1].getCurrentChild(), 8 * sizeof(CellClass*));
+		
+		// retreive data and merge my child and the child from others
+		for(int idxProc = firstProcThatSend ; idxProc < endProcThatSend ; ++idxProc){
+		  recvBuffer.seek(idxProc * recvBufferOffset);
+		  int state = int(recvBuffer.getValue<char>());
+		  
+		  int position = 0;
+		  while( state && position < 8){
+		    while(!(state & 0x1)){
+		      state >>= 1;
+		      ++position;
+		    }
+		    
+		    FAssertLF(!currentChild[position], "Already has a cell here");
+		    
+		    recvBufferCells[position].deserializeUp(recvBuffer);
+		    currentChild[position] = (CellClass*) &recvBufferCells[position];
+		    
+		    state >>= 1;
+		    ++position;
+		  }
+		}
 
-	  // Finally compute
-	  FLOG(computationCounter.tic());
-	  (*kernels[0]).M2M( iterArray[numberOfCells - 1].getCurrentCell() , currentChild, idxLevel);
-	  FLOG(computationCounter.tac());
-
-	  firstProcThatSend = endProcThatSend - 1;
+		// Finally compute
+		//FLOG(sharedLogger->tic("ParallelSectionM2M"));
+		(*kernels[0]).M2M( iterArray[numberOfCells - 1].getCurrentCell() , currentChild, idxLevel);
+		//FLOG(sharedLogger->tac("ParallelSectionM2M"));
+		
+		firstProcThatSend = endProcThatSend - 1;
+	      }
+	    }
+	  }
+	  sendBuffer.reset();
+	  recvBuffer.seek(0);
+	  FLOG(singleCounter.tac());
+	}//End Of Single section
+		
+	KernelClass& myThreadkernels = (*kernels[omp_get_thread_num()]);
+#pragma omp for nowait
+	for( int idxCell = cellsToSend+1 ; idxCell < endIndex ; ++idxCell){
+	  myThreadkernels.M2M( iterArray[idxCell].getCurrentCell() , iterArray[idxCell].getCurrentChild(), idxLevel);
 	}
-      }
-      sendBuffer.reset();
-      recvBuffer.seek(0);
+      }//End of parallel section
+      FLOG(parallelCounter.tac());
     }
+    
 
-
-    FLOG( FLog::Controller << "\tFinished (@Upward Pass (M2M) = "  << counterTime.tacAndElapsed() << " s)\n" );
-    FLOG( FLog::Controller << "\t\t Computation : " << computationCounter.cumulated() << " s\n" );
-    FLOG( FLog::Controller << "\t\t Prepare : " << prepareCounter.cumulated() << " s\n" );
-    FLOG( FLog::Controller << "\t\t Wait : " << waitCounter.cumulated() << " s\n" );
+    FLOG(counterTime.tac());
+    FLOG(computationCounter.tac());
+    FLOG( FLog::Controller << "\tFinished (@Upward Pass (M2M) = "  << counterTime.elapsed() << " s)\n" );
+    FLOG( FLog::Controller << "\t\t Computation : " << computationCounter.elapsed() << " s\n" );
+    FLOG( FLog::Controller << "\t\t Wait : " << singleCounter.cumulated() << " s\n" );
+    FLOG( FLog::Controller << "\t\t Wait : " << parallelCounter.cumulated() << " s\n" );
   }
 
   /////////////////////////////////////////////////////////////////////////////
@@ -452,10 +470,11 @@ private:
     FLOG( FLog::Controller.write("\tStart Downward Pass (M2L)\n").write(FLog::Flush); );
     FLOG(FTic counterTime);
     FLOG(FTic computationCounter);
-    FLOG(FTic sendCounter);
-    FLOG(FTic receiveCounter);
-    FLOG(FTic prepareCounter);
+    FLOG(FTic singleCounter);
     FLOG(FTic gatherCounter);
+    FLOG(FTic m2lSelf);
+    FLOG(FTic m2lFar);
+    FLOG(FTic sendCounter);
 
     //////////////////////////////////////////////////////////////////
     // First know what to send to who
@@ -470,307 +489,326 @@ private:
     FBoolArray** const leafsNeedOther = new FBoolArray*[OctreeHeight];
     memset(leafsNeedOther, 0, sizeof(FBoolArray*) * OctreeHeight);
 
-    {
-      FTRACE( FTrace::FRegion regionTrace( "Preprocess" , __FUNCTION__ , __FILE__ , __LINE__) );
-      FLOG(prepareCounter.tic());
-
-      // To know if a leaf has been already sent to a proc
-      bool*const alreadySent = new bool[nbProcess];
-      memset(alreadySent, 0, sizeof(bool) * nbProcess);
+    //Variables needed in multiple omp sections
+    int iterRequest;
+    MPI_Request * requests;
+    MPI_Status * status;
+    int* globalReceiveMap;
+    FMpiBufferWriter** sendBuffer;
+    FMpiBufferReader** recvBuffer;
 
-      typename OctreeClass::Iterator octreeIterator(tree);
-      octreeIterator.moveDown();
-      typename OctreeClass::Iterator avoidGotoLeftIterator(octreeIterator);
-      // for each levels
-      for(int idxLevel = 2 ; idxLevel < OctreeHeight ; ++idxLevel ){
-	if(idProcess != 0
-	   && getWorkingInterval(idxLevel, idProcess).max <= getWorkingInterval(idxLevel, idProcess - 1).max){
+#pragma omp parallel
+    {
+#pragma omp single nowait 
+      {
+	FTRACE( FTrace::FRegion regionTrace( "Preprocess" , __FUNCTION__ , __FILE__ , __LINE__) );
+	FLOG(singleCounter.tic());
+	
+	// To know if a leaf has been already sent to a proc
+	bool*const alreadySent = new bool[nbProcess];
+	memset(alreadySent, 0, sizeof(bool) * nbProcess);
+	
+	typename OctreeClass::Iterator octreeIterator(tree);
+	octreeIterator.moveDown();
+	typename OctreeClass::Iterator avoidGotoLeftIterator(octreeIterator);
+	// for each levels
+	for(int idxLevel = 2 ; idxLevel < OctreeHeight ; ++idxLevel ){
+	  if(idProcess != 0
+	     && getWorkingInterval(idxLevel, idProcess).max <= getWorkingInterval(idxLevel, idProcess - 1).max){
+	    avoidGotoLeftIterator.moveDown();
+	    octreeIterator = avoidGotoLeftIterator;
+	    
+	    continue;
+	  }
+	  
+	  int numberOfCells = 0;
+	  
+	  while(octreeIterator.getCurrentGlobalIndex() <  getWorkingInterval(idxLevel , idProcess).min){
+	    octreeIterator.moveRight();
+	  }
+	  
+	  // for each cells
+	  do{
+	    iterArray[numberOfCells] = octreeIterator;
+	    ++numberOfCells;
+	  } while(octreeIterator.moveRight());
 	  avoidGotoLeftIterator.moveDown();
 	  octreeIterator = avoidGotoLeftIterator;
-
-	  continue;
-	}
-
-	int numberOfCells = 0;
-
-	while(octreeIterator.getCurrentGlobalIndex() <  getWorkingInterval(idxLevel , idProcess).min){
-	  octreeIterator.moveRight();
-	}
-
-	// for each cells
-	do{
-	  iterArray[numberOfCells] = octreeIterator;
-	  ++numberOfCells;
-	} while(octreeIterator.moveRight());
-	avoidGotoLeftIterator.moveDown();
-	octreeIterator = avoidGotoLeftIterator;
-
-	leafsNeedOther[idxLevel] = new FBoolArray(numberOfCells);
-
-
-	// Which cell potentialy needs other data and in the same time
-	// are potentialy needed by other
-	MortonIndex neighborsIndexes[189];
-	for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
-	  // Find the M2L neigbors of a cell
-	  const int counter = iterArray[idxCell].getCurrentGlobalCoordinate().getInteractionNeighbors(idxLevel, neighborsIndexes);
-
-	  memset(alreadySent, false, sizeof(bool) * nbProcess);
-	  bool needOther = false;
-	  // Test each negibors to know which one do not belong to us
-	  for(int idxNeigh = 0 ; idxNeigh < counter ; ++idxNeigh){
-	    if(neighborsIndexes[idxNeigh] < getWorkingInterval(idxLevel , idProcess).min
-	       || (getWorkingInterval(idxLevel , idProcess).max) < neighborsIndexes[idxNeigh]){
-	      int procToReceive = idProcess;
-	      while( 0 != procToReceive && neighborsIndexes[idxNeigh] < getWorkingInterval(idxLevel , procToReceive).min ){
-		--procToReceive;
-	      }
-	      while( procToReceive != nbProcess -1 && (getWorkingInterval(idxLevel , procToReceive).max) < neighborsIndexes[idxNeigh]){
-		++procToReceive;
-	      }
-	      // Maybe already sent to that proc?
-	      if( !alreadySent[procToReceive]
-		  && getWorkingInterval(idxLevel , procToReceive).min <= neighborsIndexes[idxNeigh]
-		  && neighborsIndexes[idxNeigh] <= getWorkingInterval(idxLevel , procToReceive).max){
-
-		alreadySent[procToReceive] = true;
-
-		needOther = true;
-
-		toSend[idxLevel * nbProcess + procToReceive].push(iterArray[idxCell]);
-		++indexToSend[idxLevel * nbProcess + procToReceive];
+	  
+	  leafsNeedOther[idxLevel] = new FBoolArray(numberOfCells);
+	  
+	  
+	  // Which cell potentialy needs other data and in the same time
+	  // are potentialy needed by other
+	  MortonIndex neighborsIndexes[189];
+	  for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
+	    // Find the M2L neigbors of a cell
+	    const int counter = iterArray[idxCell].getCurrentGlobalCoordinate().getInteractionNeighbors(idxLevel, neighborsIndexes);
+	    
+	    memset(alreadySent, false, sizeof(bool) * nbProcess);
+	    bool needOther = false;
+	    // Test each negibors to know which one do not belong to us
+	    for(int idxNeigh = 0 ; idxNeigh < counter ; ++idxNeigh){
+	      if(neighborsIndexes[idxNeigh] < getWorkingInterval(idxLevel , idProcess).min
+		 || (getWorkingInterval(idxLevel , idProcess).max) < neighborsIndexes[idxNeigh]){
+		int procToReceive = idProcess;
+		while( 0 != procToReceive && neighborsIndexes[idxNeigh] < getWorkingInterval(idxLevel , procToReceive).min ){
+		  --procToReceive;
+		}
+		while( procToReceive != nbProcess -1 && (getWorkingInterval(idxLevel , procToReceive).max) < neighborsIndexes[idxNeigh]){
+		  ++procToReceive;
+		}
+		// Maybe already sent to that proc?
+		if( !alreadySent[procToReceive]
+		    && getWorkingInterval(idxLevel , procToReceive).min <= neighborsIndexes[idxNeigh]
+		    && neighborsIndexes[idxNeigh] <= getWorkingInterval(idxLevel , procToReceive).max){
+		  
+		  alreadySent[procToReceive] = true;
+		  
+		  needOther = true;
+		  
+		  toSend[idxLevel * nbProcess + procToReceive].push(iterArray[idxCell]);
+		  ++indexToSend[idxLevel * nbProcess + procToReceive];
+		}
 	      }
 	    }
+	    if(needOther){
+	      leafsNeedOther[idxLevel]->set(idxCell,true);
+	    }
+	    
 	  }
-	  if(needOther){
-	    leafsNeedOther[idxLevel]->set(idxCell,true);
-	  }
-
+	  
 	}
 
-      }
-      FLOG(prepareCounter.tac());
-
-      delete[] alreadySent;
-    }
-
-    //////////////////////////////////////////////////////////////////
-    // Gather this information
-    //////////////////////////////////////////////////////////////////
-
-    FLOG(gatherCounter.tic());
-    // All process say to each others
-    // what the will send to who
-    int*const globalReceiveMap = new int[nbProcess * nbProcess * OctreeHeight];
-    memset(globalReceiveMap, 0, sizeof(int) * nbProcess * nbProcess * OctreeHeight);
-    FMpi::MpiAssert( MPI_Allgather( indexToSend, nbProcess * OctreeHeight, MPI_INT, globalReceiveMap, nbProcess * OctreeHeight, MPI_INT, comm.getComm()),  __LINE__ );
-    FLOG(gatherCounter.tac());
-
-
-    //////////////////////////////////////////////////////////////////
-    // Send and receive for real
-    //////////////////////////////////////////////////////////////////
-
-    FLOG(sendCounter.tic());
-    // Then they can send and receive (because they know what they will receive)
-    // To send in asynchrone way
-    MPI_Request*const requests = new MPI_Request[2 * nbProcess * OctreeHeight];
-    MPI_Status*const status = new MPI_Status[2 * nbProcess * OctreeHeight];
-    int iterRequest = 0;
-
-    const int SizeOfCellToSend = sizeof(MortonIndex) + sizeof(int) + MaxSizePerCell;
-
-    FMpiBufferWriter**const sendBuffer = new FMpiBufferWriter*[nbProcess * OctreeHeight];
-    memset(sendBuffer, 0, sizeof(FMpiBufferWriter*) * nbProcess * OctreeHeight);
+	delete[] alreadySent;
+      
 
-    FMpiBufferReader**const recvBuffer = new FMpiBufferReader*[nbProcess * OctreeHeight];
-    memset(recvBuffer, 0, sizeof(FMpiBufferReader*) * nbProcess * OctreeHeight);
+	//////////////////////////////////////////////////////////////////
+	// Gather this information
+	//////////////////////////////////////////////////////////////////
+	
+	FLOG(gatherCounter.tic());
+	// All process say to each others
+	// what the will send to who
+	globalReceiveMap = new int[nbProcess * nbProcess * OctreeHeight];
+	memset(globalReceiveMap, 0, sizeof(int) * nbProcess * nbProcess * OctreeHeight);
+	FMpi::MpiAssert( MPI_Allgather( indexToSend, nbProcess * OctreeHeight, MPI_INT, globalReceiveMap, nbProcess * OctreeHeight, MPI_INT, comm.getComm()),  __LINE__ );
+	FLOG(gatherCounter.tac());
+	
 
+	//////////////////////////////////////////////////////////////////
+	// Send and receive for real
+	//////////////////////////////////////////////////////////////////
+	
+	FLOG(sendCounter.tic());
+	// Then they can send and receive (because they know what they will receive)
+	// To send in asynchrone way
+	requests = new MPI_Request[2 * nbProcess * OctreeHeight];
+	status = new MPI_Status[2 * nbProcess * OctreeHeight];
+	iterRequest = 0;
+
+	const int SizeOfCellToSend = int(sizeof(MortonIndex) + sizeof(int) + MaxSizePerCell);
+	
+	sendBuffer = new FMpiBufferWriter*[nbProcess * OctreeHeight];
+	memset(sendBuffer, 0, sizeof(FMpiBufferWriter*) * nbProcess * OctreeHeight);
+	
+	recvBuffer = new FMpiBufferReader*[nbProcess * OctreeHeight];
+	memset(recvBuffer, 0, sizeof(FMpiBufferReader*) * nbProcess * OctreeHeight);
 
-    for(int idxLevel = 2 ; idxLevel < OctreeHeight ; ++idxLevel ){
-      for(int idxProc = 0 ; idxProc < nbProcess ; ++idxProc){
-	const int toSendAtProcAtLevel = indexToSend[idxLevel * nbProcess + idxProc];
-	if(toSendAtProcAtLevel != 0){
-	  sendBuffer[idxLevel * nbProcess + idxProc] = new FMpiBufferWriter(comm.getComm(),toSendAtProcAtLevel * SizeOfCellToSend);
-
-	  for(int idxLeaf = 0 ; idxLeaf < toSendAtProcAtLevel; ++idxLeaf){
-	    const MortonIndex cellIndex = toSend[idxLevel * nbProcess + idxProc][idxLeaf].getCurrentGlobalIndex();
-	    sendBuffer[idxLevel * nbProcess + idxProc]->write(cellIndex);
-	    toSend[idxLevel * nbProcess + idxProc][idxLeaf].getCurrentCell()->serializeUp(*sendBuffer[idxLevel * nbProcess + idxProc]);
+    
+	for(int idxLevel = 2 ; idxLevel < OctreeHeight ; ++idxLevel ){
+	  for(int idxProc = 0 ; idxProc < nbProcess ; ++idxProc){
+	    const int toSendAtProcAtLevel = indexToSend[idxLevel * nbProcess + idxProc];
+	    if(toSendAtProcAtLevel != 0){
+	      sendBuffer[idxLevel * nbProcess + idxProc] = new FMpiBufferWriter(comm.getComm(),toSendAtProcAtLevel * SizeOfCellToSend);
+	      
+	      for(int idxLeaf = 0 ; idxLeaf < toSendAtProcAtLevel; ++idxLeaf){
+		const MortonIndex cellIndex = toSend[idxLevel * nbProcess + idxProc][idxLeaf].getCurrentGlobalIndex();
+		sendBuffer[idxLevel * nbProcess + idxProc]->write(cellIndex);
+		toSend[idxLevel * nbProcess + idxProc][idxLeaf].getCurrentCell()->serializeUp(*sendBuffer[idxLevel * nbProcess + idxProc]);
+	      }
+	      
+	      FMpi::MpiAssert( MPI_Isend( sendBuffer[idxLevel * nbProcess + idxProc]->data(), 
+					  sendBuffer[idxLevel * nbProcess + idxProc]->getSize(),MPI_PACKED, idxProc, 
+					  FMpi::TagLast + idxLevel, comm.getComm(), &requests[iterRequest++]) , __LINE__ );
+	    }
+	    
+	    const int toReceiveFromProcAtLevel = globalReceiveMap[(idxProc * nbProcess * OctreeHeight) + idxLevel * nbProcess + idProcess];
+	    if(toReceiveFromProcAtLevel){
+	      recvBuffer[idxLevel * nbProcess + idxProc] = new FMpiBufferReader(comm.getComm(),toReceiveFromProcAtLevel * SizeOfCellToSend);
+	      
+	      FMpi::MpiAssert( MPI_Irecv(recvBuffer[idxLevel * nbProcess + idxProc]->data(),
+					 recvBuffer[idxLevel * nbProcess + idxProc]->getCapacity(), MPI_PACKED,idxProc, 
+					 FMpi::TagLast + idxLevel, comm.getComm(), &requests[iterRequest++]) , __LINE__ );
+	    }
 	  }
-	  
-	  FMpi::MpiAssert( MPI_Isend( sendBuffer[idxLevel * nbProcess + idxProc]->data(), 
-				      sendBuffer[idxLevel * nbProcess + idxProc]->getSize(),MPI_PACKED, idxProc, 
-				      FMpi::TagLast + idxLevel, comm.getComm(), &requests[iterRequest++]) , __LINE__ );
 	}
-
-	const int toReceiveFromProcAtLevel = globalReceiveMap[(idxProc * nbProcess * OctreeHeight) + idxLevel * nbProcess + idProcess];
-	if(toReceiveFromProcAtLevel){
-	  recvBuffer[idxLevel * nbProcess + idxProc] = new FMpiBufferReader(comm.getComm(),toReceiveFromProcAtLevel * SizeOfCellToSend);
-
-	  FMpi::MpiAssert( MPI_Irecv(recvBuffer[idxLevel * nbProcess + idxProc]->data(),
-				     recvBuffer[idxLevel * nbProcess + idxProc]->getCapacity(), MPI_PACKED,idxProc, 
-				     FMpi::TagLast + idxLevel, comm.getComm(), &requests[iterRequest++]) , __LINE__ );
+	FLOG(sendCounter.tac());
+	{
+	  //////////////////////////////////////////////////////////////////
+	  // Wait received data and compute
+	  //////////////////////////////////////////////////////////////////
+	  
+	  // Wait to receive every things (and send every things)
+	  MPI_Waitall(iterRequest, requests, status);
 	}
-      }
-    }
-    FLOG(sendCounter.tac());
-
-    //////////////////////////////////////////////////////////////////
-    // Do M2L
-    //////////////////////////////////////////////////////////////////
-
-    {
-      FTRACE( FTrace::FRegion regionTrace("Compute", __FUNCTION__ , __FILE__ , __LINE__) );
-      typename OctreeClass::Iterator octreeIterator(tree);
-      octreeIterator.moveDown();
-      typename OctreeClass::Iterator avoidGotoLeftIterator(octreeIterator);
-      // Now we can compute all the data
-      // for each levels
-      for(int idxLevel = 2 ; idxLevel < OctreeHeight ; ++idxLevel ){
-	if(idProcess != 0
-	   && getWorkingInterval(idxLevel, idProcess).max <= getWorkingInterval(idxLevel, idProcess - 1).max){
-
+	FLOG(singleCounter.tac());
+      }//End of Single section
+      
+      //////////////////////////////////////////////////////////////////
+      // Do M2L SELF
+      //////////////////////////////////////////////////////////////////
+      FLOG(m2lSelf.tic());
+      {
+	FTRACE( FTrace::FRegion regionTrace("Compute", __FUNCTION__ , __FILE__ , __LINE__) );
+	typename OctreeClass::Iterator octreeIterator(tree);
+	octreeIterator.moveDown();
+	typename OctreeClass::Iterator avoidGotoLeftIterator(octreeIterator);
+	// Now we can compute all the data
+	// for each levels
+	for(int idxLevel = 2 ; idxLevel < OctreeHeight ; ++idxLevel ){
+	  if(idProcess != 0
+	     && getWorkingInterval(idxLevel, idProcess).max <= getWorkingInterval(idxLevel, idProcess - 1).max){
+	    
+	    avoidGotoLeftIterator.moveDown();
+	    octreeIterator = avoidGotoLeftIterator;
+	    
+	    continue;
+	  }
+	  
+	  int numberOfCells = 0;
+	  while(octreeIterator.getCurrentGlobalIndex() <  getWorkingInterval(idxLevel , idProcess).min){
+	    octreeIterator.moveRight();
+	  }
+	  // for each cells
+	  do{
+	    iterArray[numberOfCells] = octreeIterator;
+	    ++numberOfCells;
+	  } while(octreeIterator.moveRight());
 	  avoidGotoLeftIterator.moveDown();
 	  octreeIterator = avoidGotoLeftIterator;
+	  
+	  FLOG(computationCounter.tic());
+	  //FLOG(sharedLogger->tic("ParallelSection"));
+	  //FLOG(sharedLogger->newCounter("TestParallelM2L"));
 
-	  continue;
-	}
-
-	int numberOfCells = 0;
-	while(octreeIterator.getCurrentGlobalIndex() <  getWorkingInterval(idxLevel , idProcess).min){
-	  octreeIterator.moveRight();
-	}
-	// for each cells
-	do{
-	  iterArray[numberOfCells] = octreeIterator;
-	  ++numberOfCells;
-	} while(octreeIterator.moveRight());
-	avoidGotoLeftIterator.moveDown();
-	octreeIterator = avoidGotoLeftIterator;
-
-	FLOG(computationCounter.tic());
-#pragma omp parallel
-	{
-	  KernelClass * const myThreadkernels = kernels[omp_get_thread_num()];
-	  const CellClass* neighbors[343];
-
-#pragma omp for  schedule(dynamic) nowait
-	  for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
-	    const int counter = tree->getInteractionNeighbors(neighbors,  iterArray[idxCell].getCurrentGlobalCoordinate(), idxLevel);
-	    if(counter) myThreadkernels->M2L( iterArray[idxCell].getCurrentCell() , neighbors, counter, idxLevel);
+	  {
+	    KernelClass * const myThreadkernels = kernels[omp_get_thread_num()];
+	    const CellClass* neighbors[343];
+	    
+#pragma omp for schedule(dynamic) //nowait 
+	    for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
+	      const int counter = tree->getInteractionNeighbors(neighbors,  iterArray[idxCell].getCurrentGlobalCoordinate(), idxLevel);
+	      if(counter) myThreadkernels->M2L( iterArray[idxCell].getCurrentCell() , neighbors, counter, idxLevel);
+	    }
+	    myThreadkernels->finishedLevelM2L(idxLevel);
 	  }
-
-	  myThreadkernels->finishedLevelM2L(idxLevel);
+	  //FLOG(sharedLogger->tac("TestParallelM2L"));
+	  FLOG(computationCounter.tac());
+	  //FLOG(sharedLogger->tac("ParallelSection"));
 	}
-	FLOG(computationCounter.tac());
       }
+      FLOG(m2lSelf.tac());
     }
+        
+    
+    FTRACE( FTrace::FRegion regionTrace("Compute Received data", __FUNCTION__ , __FILE__ , __LINE__) );
+    
+    typename OctreeClass::Iterator octreeIterator(tree);
+    octreeIterator.moveDown();
+    typename OctreeClass::Iterator avoidGotoLeftIterator(octreeIterator);
+    // compute the second time
+    // for each levels
+    for(int idxLevel = 2 ; idxLevel < OctreeHeight ; ++idxLevel ){
+      if(idProcess != 0
+	 && getWorkingInterval(idxLevel, idProcess).max <= getWorkingInterval(idxLevel, idProcess - 1).max){
+	  
+	avoidGotoLeftIterator.moveDown();
+	octreeIterator = avoidGotoLeftIterator;
+	  
+	continue;
+      }
 
-    //////////////////////////////////////////////////////////////////
-    // Wait received data and compute
-    //////////////////////////////////////////////////////////////////
-
-    // Wait to receive every things (and send every things)
-    MPI_Waitall(iterRequest, requests, status);
-
-    {
-      FTRACE( FTrace::FRegion regionTrace("Compute Received data", __FUNCTION__ , __FILE__ , __LINE__) );
-      FLOG(receiveCounter.tic());
-      typename OctreeClass::Iterator octreeIterator(tree);
-      octreeIterator.moveDown();
-      typename OctreeClass::Iterator avoidGotoLeftIterator(octreeIterator);
-      // compute the second time
-      // for each levels
-      for(int idxLevel = 2 ; idxLevel < OctreeHeight ; ++idxLevel ){
-	if(idProcess != 0
-	   && getWorkingInterval(idxLevel, idProcess).max <= getWorkingInterval(idxLevel, idProcess - 1).max){
-
-	  avoidGotoLeftIterator.moveDown();
-	  octreeIterator = avoidGotoLeftIterator;
-
-	  continue;
-	}
-
-	// put the received data into a temporary tree
-	FLightOctree<CellClass> tempTree;
-	for(int idxProc = 0 ; idxProc < nbProcess ; ++idxProc){
-	  const int toReceiveFromProcAtLevel = globalReceiveMap[(idxProc * nbProcess * OctreeHeight) + idxLevel * nbProcess + idProcess];
+      // put the received data into a temporary tree
+      FLightOctree<CellClass> tempTree;
+      for(int idxProc = 0 ; idxProc < nbProcess ; ++idxProc){
+	const int toReceiveFromProcAtLevel = globalReceiveMap[(idxProc * nbProcess * OctreeHeight) + idxLevel * nbProcess + idProcess];
 
-	  for(int idxCell = 0 ; idxCell < toReceiveFromProcAtLevel ; ++idxCell){
-	    const MortonIndex cellIndex = recvBuffer[idxLevel * nbProcess + idxProc]->FMpiBufferReader::getValue<MortonIndex>();
+	for(int idxCell = 0 ; idxCell < toReceiveFromProcAtLevel ; ++idxCell){
+	  const MortonIndex cellIndex = recvBuffer[idxLevel * nbProcess + idxProc]->FMpiBufferReader::getValue<MortonIndex>();
 
-	    CellClass* const newCell = new CellClass;
-	    newCell->setMortonIndex(cellIndex);
-	    newCell->deserializeUp(*recvBuffer[idxLevel * nbProcess + idxProc]);
+	  CellClass* const newCell = new CellClass;
+	  newCell->setMortonIndex(cellIndex);
+	  newCell->deserializeUp(*recvBuffer[idxLevel * nbProcess + idxProc]);
 	    
-	    tempTree.insertCell(cellIndex, idxLevel, newCell);
-	  }
+	  tempTree.insertCell(cellIndex, idxLevel, newCell);
 	}
+      }
 
+      // take cells from our octree only if they are
+      // linked to received data
+      int numberOfCells = 0;
+      int realCellId = 0;
 
-	// take cells from our octree only if they are
-	// linked to received data
-	int numberOfCells = 0;
-	int realCellId = 0;
-
-	while(octreeIterator.getCurrentGlobalIndex() <  getWorkingInterval(idxLevel , idProcess).min){
-	  octreeIterator.moveRight();
+      while(octreeIterator.getCurrentGlobalIndex() <  getWorkingInterval(idxLevel , idProcess).min){
+	octreeIterator.moveRight();
+      }
+      // for each cells
+      do{
+	// copy cells that need data from others
+	if(leafsNeedOther[idxLevel]->get(realCellId++)){
+	  iterArray[numberOfCells++] = octreeIterator;
 	}
-	// for each cells
-	do{
-	  // copy cells that need data from others
-	  if(leafsNeedOther[idxLevel]->get(realCellId++)){
-	    iterArray[numberOfCells++] = octreeIterator;
-	  }
-	} while(octreeIterator.moveRight());
-	avoidGotoLeftIterator.moveDown();
-	octreeIterator = avoidGotoLeftIterator;
+      } while(octreeIterator.moveRight());
+      avoidGotoLeftIterator.moveDown();
+      octreeIterator = avoidGotoLeftIterator;
 
-	delete leafsNeedOther[idxLevel];
-	leafsNeedOther[idxLevel] = 0;
+      delete leafsNeedOther[idxLevel];
+      leafsNeedOther[idxLevel] = 0;
 
-	// Compute this cells
-	FLOG(computationCounter.tic());
+      // Compute this cells
+      FLOG(computationCounter.tic());
+      //FLOG(sharedLogger->tic("ParallelSection"));
+      FLOG(m2lFar.tic());
 #pragma omp parallel
-	{
-	  KernelClass * const myThreadkernels = kernels[omp_get_thread_num()];
-	  MortonIndex neighborsIndex[189];
-	  int neighborsPosition[189];
-	  const CellClass* neighbors[343];
+      {
+	KernelClass * const myThreadkernels = kernels[omp_get_thread_num()];
+	MortonIndex neighborsIndex[189];
+	int neighborsPosition[189];
+	const CellClass* neighbors[343];
 
 #pragma omp for schedule(dynamic) nowait
-	  for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
-	    // compute indexes
-	    memset(neighbors, 0, 343 * sizeof(CellClass*));
-	    const int counterNeighbors = iterArray[idxCell].getCurrentGlobalCoordinate().getInteractionNeighbors(idxLevel, neighborsIndex, neighborsPosition);
-
-	    int counter = 0;
-	    // does we receive this index from someone?
-	    for(int idxNeig = 0 ;idxNeig < counterNeighbors ; ++idxNeig){
-	      if(neighborsIndex[idxNeig] < (getWorkingInterval(idxLevel , idProcess).min)
-		 || (getWorkingInterval(idxLevel , idProcess).max) < neighborsIndex[idxNeig]){
-
-		CellClass*const otherCell = tempTree.getCell(neighborsIndex[idxNeig], idxLevel);
-
-		if(otherCell){
-		  //otherCell->setMortonIndex(neighborsIndex[idxNeig]);
-		  neighbors[ neighborsPosition[idxNeig] ] = otherCell;
-		  ++counter;
-		}
+	for(int idxCell = 0 ; idxCell < numberOfCells ; ++idxCell){
+	  // compute indexes
+	  memset(neighbors, 0, 343 * sizeof(CellClass*));
+	  const int counterNeighbors = iterArray[idxCell].getCurrentGlobalCoordinate().getInteractionNeighbors(idxLevel, neighborsIndex, neighborsPosition);
+
+	  int counter = 0;
+	  // does we receive this index from someone?
+	  for(int idxNeig = 0 ;idxNeig < counterNeighbors ; ++idxNeig){
+	    if(neighborsIndex[idxNeig] < (getWorkingInterval(idxLevel , idProcess).min)
+	       || (getWorkingInterval(idxLevel , idProcess).max) < neighborsIndex[idxNeig]){
+
+	      CellClass*const otherCell = tempTree.getCell(neighborsIndex[idxNeig], idxLevel);
+
+	      if(otherCell){
+		//otherCell->setMortonIndex(neighborsIndex[idxNeig]);
+		neighbors[ neighborsPosition[idxNeig] ] = otherCell;
+		++counter;
 	      }
 	    }
-	    // need to compute
-	    if(counter){
-	      myThreadkernels->M2L( iterArray[idxCell].getCurrentCell() , neighbors, counter, idxLevel);
-	    }
 	  }
-
-	  myThreadkernels->finishedLevelM2L(idxLevel);
+	  // need to compute
+	  if(counter){
+	    myThreadkernels->M2L( iterArray[idxCell].getCurrentCell() , neighbors, counter, idxLevel);
+	  }
 	}
-	FLOG(computationCounter.tac());
+
+	myThreadkernels->finishedLevelM2L(idxLevel);
       }
-      FLOG(receiveCounter.tac());
+      //FLOG(sharedLogger->tac("ParallelSection"));
+      FLOG(computationCounter.tac());
+      FLOG(m2lFar.tac());
     }
 
     for(int idxComm = 0 ; idxComm < nbProcess * OctreeHeight; ++idxComm){
@@ -790,16 +828,17 @@ private:
 
     FLOG( FLog::Controller << "\tFinished (@Downward Pass (M2L) = "  << counterTime.tacAndElapsed() << " s)\n" );
     FLOG( FLog::Controller << "\t\t Computation : " << computationCounter.cumulated() << " s\n" );
-    FLOG( FLog::Controller << "\t\t Send : " << sendCounter.cumulated() << " s\n" );
-    FLOG( FLog::Controller << "\t\t Receive : " << receiveCounter.cumulated() << " s\n" );
-    FLOG( FLog::Controller << "\t\t Gather : " << gatherCounter.cumulated() << " s\n" );
-    FLOG( FLog::Controller << "\t\t Prepare : " << prepareCounter.cumulated() << " s\n" );
+    FLOG( FLog::Controller << "\t\t Single : " << singleCounter.cumulated() << " s\n" );
+    FLOG( FLog::Controller << "\t\t M2L Self : " << m2lSelf.cumulated() << " s\n" );
+    FLOG( FLog::Controller << "\t\t M2L Far : " << m2lFar.cumulated() << " s\n" );
+    FLOG( FLog::Controller << "\t\t M2L Gather : " << gatherCounter.elapsed() << " s\n" );
+    FLOG( FLog::Controller << "\t\t M2L Send : " << sendCounter.elapsed() << " s\n" );
   }
 
   //////////////////////////////////////////////////////////////////
   // ---------------- L2L ---------------
   //////////////////////////////////////////////////////////////////
-
+  
   void downardPass(){ // second L2L
     const int MaxSizePerCell = CellClass::GetSize();
     FTRACE( FTrace::FFunction functionTrace(__FUNCTION__, "Fmm" , __FILE__ , __LINE__) );
@@ -813,10 +852,10 @@ private:
     typename OctreeClass::Iterator octreeIterator(tree);
     octreeIterator.moveDown();
     typename OctreeClass::Iterator avoidGotoLeftIterator(octreeIterator);
-
+    
     MPI_Request*const requests = new MPI_Request[nbProcess];
     MPI_Status*const status = new MPI_Status[nbProcess];
-
+    
     const int heightMinusOne = OctreeHeight - 1;
 
     FMpiBufferWriter sendBuffer(comm.getComm(),MaxSizePerCell);
@@ -847,51 +886,75 @@ private:
 	++firstCellWork;
       }
 
-      bool needToRecv = false;
-      int iterRequests = 0;
-
-      FLOG(prepareCounter.tic());
-
-      // do we need to receive one or zeros cell
-      if(idProcess != 0
-	 && (getWorkingInterval((idxLevel + 1) , idProcess).min >> 3 ) <= (getWorkingInterval((idxLevel+1) , idProcess - 1).max >> 3 ) ){
-	needToRecv = true;
-
+#pragma omp parallel
+      {
+#pragma omp single
+	{
+	  bool needToRecv = false;
+	  int iterRequests = 0;
 
-	MPI_Irecv( recvBuffer.data(), recvBuffer.getCapacity(), MPI_PACKED, MPI_ANY_SOURCE,
-		   FMpi::TagFmmL2L, comm.getComm(), &requests[iterRequests++]);
-      }
+	  FLOG(prepareCounter.tic());
+	  
+	  // do we need to receive one or zeros cell
+	  if(idProcess != 0
+	     && (getWorkingInterval((idxLevel + 1) , idProcess).min >> 3 ) <= (getWorkingInterval((idxLevel+1) , idProcess - 1).max >> 3 ) ){
+	    needToRecv = true;
 
 
-      if(idProcess != nbProcess - 1){
-	int firstProcThatRecv = idProcess + 1;
-	while( firstProcThatRecv < nbProcess &&
-	       getWorkingInterval((idxLevel + 1) , firstProcThatRecv).max <= getWorkingInterval((idxLevel+1) , idProcess).max){
-	  ++firstProcThatRecv;
-	}
+	    MPI_Irecv( recvBuffer.data(), recvBuffer.getCapacity(), MPI_PACKED, MPI_ANY_SOURCE,
+		       FMpi::TagFmmL2L, comm.getComm(), &requests[iterRequests++]);
+	  }
 
-	int endProcThatRecv = firstProcThatRecv;
-	while( endProcThatRecv < nbProcess &&
-	       (getWorkingInterval((idxLevel + 1) , endProcThatRecv).min >> 3) <= (getWorkingInterval((idxLevel+1) , idProcess).max >> 3) ){
-	  ++endProcThatRecv;
-	}
+	  
+	  if(idProcess != nbProcess - 1){
+	    int firstProcThatRecv = idProcess + 1;
+	    while( firstProcThatRecv < nbProcess &&
+		   getWorkingInterval((idxLevel + 1) , firstProcThatRecv).max <= getWorkingInterval((idxLevel+1) , idProcess).max){
+	      ++firstProcThatRecv;
+	    }
 
-	if(firstProcThatRecv != endProcThatRecv){
-	  iterArray[numberOfCells - 1].getCurrentCell()->serializeDown(sendBuffer);
+	    int endProcThatRecv = firstProcThatRecv;
+	    while( endProcThatRecv < nbProcess &&
+		   (getWorkingInterval((idxLevel + 1) , endProcThatRecv).min >> 3) <= (getWorkingInterval((idxLevel+1) , idProcess).max >> 3) ){
+	      ++endProcThatRecv;
+	    }
+	    
+	    if(firstProcThatRecv != endProcThatRecv){
+	      iterArray[numberOfCells - 1].getCurrentCell()->serializeDown(sendBuffer);
 
-	  for(int idxProc = firstProcThatRecv ; idxProc < endProcThatRecv ; ++idxProc ){
+	      for(int idxProc = firstProcThatRecv ; idxProc < endProcThatRecv ; ++idxProc ){
 
-	    MPI_Isend(sendBuffer.data(), sendBuffer.getSize(), MPI_PACKED, idxProc,
-		      FMpi::TagFmmL2L, comm.getComm(), &requests[iterRequests++]);
+		MPI_Isend(sendBuffer.data(), sendBuffer.getSize(), MPI_PACKED, idxProc,
+			  FMpi::TagFmmL2L, comm.getComm(), &requests[iterRequests++]);
+	      }
+	      
+	    }
 	  }
+	  
+	  // are we sending or receiving?
+	  if(iterRequests){
+	    
+	    // process
+	    FLOG(waitCounter.tic());
+	    MPI_Waitall( iterRequests, requests, status);
+	    FLOG(waitCounter.tac());
+	    
+	    if(needToRecv){
+	      // Need to compute
+	      FLOG(computationCounter.tic());
+	      iterArray[firstCellWork].getCurrentCell()->deserializeDown(recvBuffer);
+	      
+	      kernels[0]->L2L( iterArray[firstCellWork].getCurrentCell() , iterArray[firstCellWork].getCurrentChild(), idxLevel);
+	      FLOG(computationCounter.tac());
+	    }
+	  }
+	  
+	}//End Of Single Section
+	FLOG(prepareCounter.tac());
 
-	}
-      }
-      FLOG(prepareCounter.tac());
-
-      FLOG(computationCounter.tic());
-#pragma omp parallel
-      {
+	FLOG(computationCounter.tic());
+	//FLOG(sharedLogger->tic("ParallelSection"));
+	//#pragma omp parallel
 	KernelClass& myThreadkernels = (*kernels[omp_get_thread_num()]);
 #pragma omp for nowait
 	for(int idxCell = firstCellWork + 1 ; idxCell < numberOfCells ; ++idxCell){
@@ -899,24 +962,7 @@ private:
 	}
       }
       FLOG(computationCounter.tac());
-
-      // are we sending or receiving?
-      if(iterRequests){
-
-	// process
-	FLOG(waitCounter.tic());
-	MPI_Waitall( iterRequests, requests, status);
-	FLOG(waitCounter.tac());
-
-	if(needToRecv){
-	  // Need to compute
-	  FLOG(computationCounter.tic());
-	  iterArray[firstCellWork].getCurrentCell()->deserializeDown(recvBuffer);
-
-	  kernels[0]->L2L( iterArray[firstCellWork].getCurrentCell() , iterArray[firstCellWork].getCurrentChild(), idxLevel);
-	  FLOG(computationCounter.tac());
-	}
-      }
+      //FLOG(sharedLogger->tac("ParallelSection"));
 
       sendBuffer.reset();
       recvBuffer.seek(0);
@@ -941,6 +987,7 @@ private:
     ContainerClass* targets;
     ContainerClass* sources;
   };
+  
   /** P2P */
   void directPass(){
     FTRACE( FTrace::FFunction functionTrace(__FUNCTION__, "Fmm" , __FILE__ , __LINE__) );
@@ -949,9 +996,11 @@ private:
     FLOG( FTic prepareCounter);
     FLOG( FTic gatherCounter);
     FLOG( FTic waitCounter);
+    FLOG(FTic computation2Counter);
+    FLOG(FTic computationCounter);
 
     ///////////////////////////////////////////////////
-    // Prepare data to send receive
+    // Prepar data to send receive
     ///////////////////////////////////////////////////
     FLOG(prepareCounter.tic());
 
@@ -973,158 +1022,40 @@ private:
      */
     int*const globalReceiveMap = new int[nbProcess * nbProcess];
     memset(globalReceiveMap, 0, sizeof(int) * nbProcess * nbProcess);
+    
+    FVector<LeafData> * leafsNeedOtherData;
+    LeafData* leafsDataArray;
+    OctreeClass* otherP2Ptree;
 
     FBoolArray leafsNeedOther(this->numberOfLeafs);
     int countNeedOther = 0;
-
-    {
-      FTRACE( FTrace::FRegion regionTrace( "Preprocess" , __FUNCTION__ , __FILE__ , __LINE__) );
-      // Copy leafs
-      {
-	typename OctreeClass::Iterator octreeIterator(tree);
-	octreeIterator.gotoBottomLeft();
-	int idxLeaf = 0;
-	do{
-	  this->iterArray[idxLeaf++] = octreeIterator;
-	} while(octreeIterator.moveRight());
-      }
-
-      // Number of cells max
-      //const int limite = 1 << (this->OctreeHeight - 1);
-      // pointer to send
-      FVector<typename OctreeClass::Iterator>*const toSend = new FVector<typename OctreeClass::Iterator>[nbProcess];
-
-      // array that will be send to other processus for them to build the globalReceiveMap
-      int partsToSend[nbProcess];
-      memset(partsToSend, 0, sizeof(int) * nbProcess);
-
-      // To know if a leaf has been already sent to a proc
-      int alreadySent[nbProcess];
-
-      //Will store the indexes of the neighbors of current cell
-      MortonIndex indexesNeighbors[26];
-      //Obviously unused
-      //int uselessIndexArray[26];
-
-      for(int idxLeaf = 0 ; idxLeaf < this->numberOfLeafs ; ++idxLeaf){
-	memset(alreadySent, 0, sizeof(int) * nbProcess);
-	bool needOther = false;
-	//Get the neighbors of current cell in indexesNeighbors, and their number in neighCount
-	const int neighCount = (iterArray[idxLeaf].getCurrentGlobalCoordinate()).getNeighborsIndexes(OctreeHeight,indexesNeighbors);
-	//Loop over the neighbor leafs
-	for(int idxNeigh = 0 ; idxNeigh < neighCount ; ++idxNeigh){
-	  //Test if leaf belongs to someone else (false if it's mine)
-	  if(indexesNeighbors[idxNeigh] < (intervals[idProcess].min) || (intervals[idProcess].max) < indexesNeighbors[idxNeigh]){
-	    needOther = true;
-	    
-	    // find the proc that will need current leaf
-	    int procToReceive = idProcess;
-	    while( procToReceive != 0 && indexesNeighbors[idxNeigh] < intervals[procToReceive].min){
-	      --procToReceive; //scroll process "before" current process
-	    }
-	    
-	    while( procToReceive != nbProcess - 1 && (intervals[procToReceive].max) < indexesNeighbors[idxNeigh]){
-	      ++procToReceive;//scroll process "after" current process
-	    }
-	    //  Test : Not Already Send && USELESS TEST ?
-	    if( !alreadySent[procToReceive] && intervals[procToReceive].min <= indexesNeighbors[idxNeigh] && indexesNeighbors[idxNeigh] <= intervals[procToReceive].max){
-
-	      alreadySent[procToReceive] = 1;
-	      toSend[procToReceive].push( iterArray[idxLeaf] );
-	      partsToSend[procToReceive] += iterArray[idxLeaf].getCurrentListSrc()->getSavedSize();
-	      partsToSend[procToReceive] += int(sizeof(MortonIndex));
-	    }
-	  }
-	}
-
-	if(needOther){ //means that something need to be sent (or received)
-	  leafsNeedOther.set(idxLeaf,true);
-	  ++countNeedOther;
-	}
-      }
-
-      // No idea why it is mandatory there, could it be a few line before, 
-      for(int idxProc = 0 ; idxProc < nbProcess ; ++idxProc){
-	if(partsToSend[idxProc]){
-	  partsToSend[idxProc] += int(sizeof(int));
-	}
-      }
-      
-      //Share to all processus globalReceiveMap
-      FLOG(gatherCounter.tic());
-      FMpi::MpiAssert( MPI_Allgather( partsToSend, nbProcess, MPI_INT, globalReceiveMap, nbProcess, MPI_INT, comm.getComm()),  __LINE__ );
-      FLOG(gatherCounter.tac());
-      
-      {//TODO : remove 
-	//Print the globalReceiveMap for Process 0
-	// if(idProcess == 0)
-	//   {
-	//     printf("\n Proc 0 :: \n");
-	//     for(int u = 0 ; u < nbProcess ; ++u){
-	//       for(int v = 0 ; v < nbProcess ; ++v){
-	// 	printf("\t %d",globalReceiveMap[u*nbProcess+v]);
-	//       }
-	//       printf("\n");
-	//     }
-	//   }
-      }
-      
-
-      //Prepare receive
-      for(int idxProc = 0 ; idxProc < nbProcess ; ++idxProc){
-      	if(globalReceiveMap[idxProc * nbProcess + idProcess]){ //if idxProc has sth for me.
-      	  //allocate buffer of right size
-      	  recvBuffer[idxProc] = new FMpiBufferReader(comm.getComm(),globalReceiveMap[idxProc * nbProcess + idProcess]);
-      	  FMpi::MpiAssert( MPI_Irecv(recvBuffer[idxProc]->data(), recvBuffer[idxProc]->getCapacity(), MPI_PACKED,
-      				     idxProc, FMpi::TagFmmP2P, comm.getComm(), &requests[iterRequest++]) , __LINE__ );
-      	}
-      }
-      
-      nbMessagesToRecv = iterRequest;
-      // Prepare send
-      for(int idxProc = 0 ; idxProc < nbProcess ; ++idxProc){
-	if(toSend[idxProc].getSize() != 0){
-	  sendBuffer[idxProc] = new FMpiBufferWriter(comm.getComm(),globalReceiveMap[idProcess*nbProcess+idxProc]); 
-	  // << is equivalent to write().
-	  (*sendBuffer[idxProc]) << toSend[idxProc].getSize();
-	  for(int idxLeaf = 0 ; idxLeaf < toSend[idxProc].getSize() ; ++idxLeaf){
-	    (*sendBuffer[idxProc]) << toSend[idxProc][idxLeaf].getCurrentGlobalIndex();
-	    toSend[idxProc][idxLeaf].getCurrentListSrc()->save(*sendBuffer[idxProc]);
-	  }
-	  //TEST BERENGER
-	  //if(sendBuffer[idxProc]->getSize() != partsToSend[idxProc]){
-	  FMpi::MpiAssert( MPI_Isend( sendBuffer[idxProc]->data(), sendBuffer[idxProc]->getSize() , MPI_PACKED ,
-				      idxProc, FMpi::TagFmmP2P, comm.getComm(), &requests[iterRequest++]) , __LINE__ );
-	  
-	}
-      }
-      
-      delete[] toSend;
-    }
-    FLOG(prepareCounter.tac());
-
+    
     ///////////////////////////////////////////////////
     // Prepare data for thread P2P
     ///////////////////////////////////////////////////
-
+    
     // init
     const int LeafIndex = OctreeHeight - 1;
     const int SizeShape = 3*3*3;
-
+    
     int shapeLeaf[SizeShape];
     memset(shapeLeaf,0,SizeShape*sizeof(int));
+    
+    leafsDataArray = new LeafData[this->numberOfLeafs];
 
-    LeafData* const leafsDataArray = new LeafData[this->numberOfLeafs];
+    leafsNeedOtherData = new FVector<LeafData>(countNeedOther);
 
-    FVector<LeafData> leafsNeedOtherData(countNeedOther);
 
+    // This first part is sequential, we split the datas between
+    // colors to avoid writing concurrency later with omp threads
+    
     // split data
     {
       FTRACE( FTrace::FRegion regionTrace( "Split" , __FUNCTION__ , __FILE__ , __LINE__) );
 
       typename OctreeClass::Iterator octreeIterator(tree);
       octreeIterator.gotoBottomLeft();
-
+      
       // to store which shape for each leaf
       typename OctreeClass::Iterator* const myLeafs = new typename OctreeClass::Iterator[this->numberOfLeafs];
       int*const shapeType = new int[this->numberOfLeafs];
@@ -1155,7 +1086,7 @@ private:
 	leafsDataArray[startPosAtShape[shapePosition]].cell = myLeafs[idxInArray].getCurrentCell();
 	leafsDataArray[startPosAtShape[shapePosition]].targets = myLeafs[idxInArray].getCurrentListTargets();
 	leafsDataArray[startPosAtShape[shapePosition]].sources = myLeafs[idxInArray].getCurrentListSrc();
-	if( leafsNeedOther.get(idxLeaf) ) leafsNeedOtherData.push(leafsDataArray[startPosAtShape[shapePosition]]);
+	if( leafsNeedOther.get(idxLeaf) ) leafsNeedOtherData->push(leafsDataArray[startPosAtShape[shapePosition]]);
 
 	++startPosAtShape[shapePosition];
       }
@@ -1163,143 +1094,288 @@ private:
       delete[] shapeType;
       delete[] myLeafs;
     }
-
-
-    //////////////////////////////////////////////////////////
-    // Computation P2P that DO NOT need others data
-    //////////////////////////////////////////////////////////
-    FTRACE( FTrace::FRegion regionP2PTrace("Compute P2P", __FUNCTION__ , __FILE__ , __LINE__) );
-
-    FLOG(FTic computationCounter);
-
+    
+    //At this point, we start with the parallel section
+    //One thread will be in charge of communication
+    //Two comm : AllGather then iSend and IRecv 
 #pragma omp parallel
     {
+#pragma omp single nowait
+      {
+	FTRACE( FTrace::FRegion regionTrace( "Preprocess" , __FUNCTION__ , __FILE__ , __LINE__) );
+	// Copy leafs
+	{
+	  typename OctreeClass::Iterator octreeIterator(tree);
+	  octreeIterator.gotoBottomLeft();
+	  int idxLeaf = 0;
+	  do{
+	    this->iterArray[idxLeaf++] = octreeIterator;
+	  } while(octreeIterator.moveRight());
+	}
+	
+	// Number of cells max
+	//const int limite = 1 << (this->OctreeHeight - 1);
+	// pointer to send
+	FVector<typename OctreeClass::Iterator>*const toSend = new FVector<typename OctreeClass::Iterator>[nbProcess];
+	
+	// array that will be send to other processus for them to build the globalReceiveMap
+	int partsToSend[nbProcess];
+	memset(partsToSend, 0, sizeof(int) * nbProcess);
+	
+	// To know if a leaf has been already sent to a proc
+	int alreadySent[nbProcess];
+	
+	//Will store the indexes of the neighbors of current cell
+	MortonIndex indexesNeighbors[26];
+	//Obviously unused
+	//int uselessIndexArray[26];
+	
+	for(int idxLeaf = 0 ; idxLeaf < this->numberOfLeafs ; ++idxLeaf){
+	  memset(alreadySent, 0, sizeof(int) * nbProcess);
+	  bool needOther = false;
+	  //Get the neighbors of current cell in indexesNeighbors, and their number in neighCount
+	  const int neighCount = (iterArray[idxLeaf].getCurrentGlobalCoordinate()).getNeighborsIndexes(OctreeHeight,indexesNeighbors);
+	  //Loop over the neighbor leafs
+	  for(int idxNeigh = 0 ; idxNeigh < neighCount ; ++idxNeigh){
+	    //Test if leaf belongs to someone else (false if it's mine)
+	    if(indexesNeighbors[idxNeigh] < (intervals[idProcess].min) || (intervals[idProcess].max) < indexesNeighbors[idxNeigh]){
+	      needOther = true;
+	    
+	      // find the proc that will need current leaf
+	      int procToReceive = idProcess;
+	      while( procToReceive != 0 && indexesNeighbors[idxNeigh] < intervals[procToReceive].min){
+		--procToReceive; //scroll process "before" current process
+	      }
+	    
+	      while( procToReceive != nbProcess - 1 && (intervals[procToReceive].max) < indexesNeighbors[idxNeigh]){
+		++procToReceive;//scroll process "after" current process
+	      }
+	      //  Test : Not Already Send && USELESS TEST ?
+	      if( !alreadySent[procToReceive] && intervals[procToReceive].min <= indexesNeighbors[idxNeigh] && indexesNeighbors[idxNeigh] <= intervals[procToReceive].max){
+	      
+		alreadySent[procToReceive] = 1;
+		toSend[procToReceive].push( iterArray[idxLeaf] );
+		partsToSend[procToReceive] += iterArray[idxLeaf].getCurrentListSrc()->getSavedSize();
+		partsToSend[procToReceive] += int(sizeof(MortonIndex));
+	      }
+	    }
+	  }
+	
+	  if(needOther){ //means that something need to be sent (or received)
+	    leafsNeedOther.set(idxLeaf,true);
+	    ++countNeedOther;
+	  }
+	}
+      
+	// No idea why it is mandatory there, could it be a few line before, 
+	for(int idxProc = 0 ; idxProc < nbProcess ; ++idxProc){
+	  if(partsToSend[idxProc]){
+	    partsToSend[idxProc] += int(sizeof(int));
+	  }
+	}
+      
+	//Share to all processus globalReceiveMap
+	FLOG(gatherCounter.tic());
+	FMpi::MpiAssert( MPI_Allgather( partsToSend, nbProcess, MPI_INT, globalReceiveMap, nbProcess, MPI_INT, comm.getComm()),  __LINE__ );
+	FLOG(gatherCounter.tac());
+      
+	{//TODO : remove 
+	  //Print the globalReceiveMap for Process 0
+	  // if(idProcess == 0)
+// 	    {
+// 	      printf("\n Proc 0 :: \n");
+// 	      for(int u = 0 ; u < nbProcess ; ++u){
+// 	        for(int v = 0 ; v < nbProcess ; ++v){
+// 	  	printf("\t %d",globalReceiveMap[u*nbProcess+v]);
+// 	        }
+// 	        printf("\n");
+// 	      }
+// 	    }
+	
+	}
+      
+      
+	//Prepare receive
+	for(int idxProc = 0 ; idxProc < nbProcess ; ++idxProc){
+	  if(globalReceiveMap[idxProc * nbProcess + idProcess]){ //if idxProc has sth for me.
+	    //allocate buffer of right size
+	    recvBuffer[idxProc] = new FMpiBufferReader(comm.getComm(),globalReceiveMap[idxProc * nbProcess + idProcess]);
+	    FMpi::MpiAssert( MPI_Irecv(recvBuffer[idxProc]->data(), recvBuffer[idxProc]->getCapacity(), MPI_PACKED,
+				       idxProc, FMpi::TagFmmP2P, comm.getComm(), &requests[iterRequest++]) , __LINE__ );
+	  }
+	}
+      
+	nbMessagesToRecv = iterRequest;
+	// Prepare send
+	for(int idxProc = 0 ; idxProc < nbProcess ; ++idxProc){
+	  if(toSend[idxProc].getSize() != 0){
+	    sendBuffer[idxProc] = new FMpiBufferWriter(comm.getComm(),globalReceiveMap[idProcess*nbProcess+idxProc]); 
+	    // << is equivalent to write().
+	    (*sendBuffer[idxProc]) << toSend[idxProc].getSize();
+	    for(int idxLeaf = 0 ; idxLeaf < toSend[idxProc].getSize() ; ++idxLeaf){
+	      (*sendBuffer[idxProc]) << toSend[idxProc][idxLeaf].getCurrentGlobalIndex();
+	      toSend[idxProc][idxLeaf].getCurrentListSrc()->save(*sendBuffer[idxProc]);
+	    }
+	    //TEST BERENGER
+	    //if(sendBuffer[idxProc]->getSize() != partsToSend[idxProc]){
+	    FMpi::MpiAssert( MPI_Isend( sendBuffer[idxProc]->data(), sendBuffer[idxProc]->getSize() , MPI_PACKED ,
+					idxProc, FMpi::TagFmmP2P, comm.getComm(), &requests[iterRequest++]) , __LINE__ );
+	  
+	  }
+	}
+      
+	delete[] toSend;
+	//////////////////////////////////////////////////////////
+	// Waitsend receive
+	//////////////////////////////////////////////////////////
+
+	FLOG(computation2Counter.tic());
+
+	// Create an octree with leaves from others
+	otherP2Ptree = new OctreeClass( tree->getHeight(), tree->getSubHeight(), tree->getBoxWidth(), tree->getBoxCenter() );
+	int complete = 0;
+	int*const indexMessage = new int[nbProcess * 2];
+	while( complete != iterRequest){
+	  memset(indexMessage, 0, sizeof(int) * nbProcess * 2);
+	  int countMessages = 0;
+	  // Wait data
+	  FLOG(waitCounter.tic());
+	  MPI_Waitsome(iterRequest, requests, &countMessages, indexMessage, status);
+    
+	  FLOG(waitCounter.tac());
+	  complete += countMessages;
+    
+    
+	  for(int idxRcv = 0 ; idxRcv < countMessages ; ++idxRcv){
+	    if( indexMessage[idxRcv] < nbMessagesToRecv ){
+	      const int idxProc = status[idxRcv].MPI_SOURCE;
+	      int nbLeaves;
+	      (*recvBuffer[idxProc]) >> nbLeaves;
+	      for(int idxLeaf = 0 ; idxLeaf < nbLeaves ; ++idxLeaf){
+		MortonIndex leafIndex;
+		(*recvBuffer[idxProc]) >> leafIndex;
+		otherP2Ptree->createLeaf(leafIndex)->getSrc()->restore((*recvBuffer[idxProc]));
+	      }
+	      delete recvBuffer[idxProc];
+	      recvBuffer[idxProc] = 0;
+	    }
+	  }
+	}
+	delete[] indexMessage;
+  
+      }//End single section
+
+      FLOG(prepareCounter.tac());
+    
+      //////////////////////////////////////////////////////////
+      // Computation P2P that DO NOT need others data
+      //////////////////////////////////////////////////////////
+      FTRACE( FTrace::FRegion regionP2PTrace("Compute P2P", __FUNCTION__ , __FILE__ , __LINE__) );
+
+      FLOG(computationCounter.tic());
+      //FLOG(sharedLogger->tic("ParallelSection"));
+      //#pragma omp parallel
+      //{
       KernelClass& myThreadkernels = (*kernels[omp_get_thread_num()]);
       // There is a maximum of 26 neighbors
       ContainerClass* neighbors[27];
       int previous = 0;
-
+    
       for(int idxShape = 0 ; idxShape < SizeShape ; ++idxShape){
 	const int endAtThisShape = shapeLeaf[idxShape] + previous;
-
-#pragma omp for
+	// #pragma omp single
+	// 	{
+	// 	  char file[5];
+	// 	  sprintf(file,"re%d",idProcess);
+	// 	  FILE * fd = fopen(file,"a+");
+	// 	  fprintf(fd,"Proc %d \t, Color : %d, from %d to %d, total %d \n",idProcess,idxShape,previous,endAtThisShape,endAtThisShape-previous);
+	// 	  fclose(fd);
+	// 	}
+#pragma omp for schedule(auto) 
 	for(int idxLeafs = previous ; idxLeafs < endAtThisShape ; ++idxLeafs){
 	  LeafData& currentIter = leafsDataArray[idxLeafs];
 	  myThreadkernels.L2P(currentIter.cell, currentIter.targets);
-
+	
 	  // need the current particles and neighbors particles
 	  const int counter = tree->getLeafsNeighbors(neighbors, currentIter.coord, LeafIndex);
 	  myThreadkernels.P2P( currentIter.coord,currentIter.targets,
 			       currentIter.sources, neighbors, counter);
 	}
-
+      
 	previous = endAtThisShape;
       }
-    }
-    FLOG(computationCounter.tac());
-    FTRACE( regionP2PTrace.end() );
-
-    //////////////////////////////////////////////////////////
-    // Waitsend receive
-    //////////////////////////////////////////////////////////
-
-    FLOG(FTic computation2Counter);
-
-    // Create an octree with leaves from others
-    OctreeClass otherP2Ptree( tree->getHeight(), tree->getSubHeight(), tree->getBoxWidth(), tree->getBoxCenter() );
-    int complete = 0;
-    int*const indexMessage = new int[nbProcess * 2];
-    while( complete != iterRequest){
-      memset(indexMessage, 0, sizeof(int) * nbProcess * 2);
-      int countMessages = 0;
-      // Wait data
-      FLOG(waitCounter.tic());
-      MPI_Waitsome(iterRequest, requests, &countMessages, indexMessage, status);
+      //}
+    
+      //FLOG(sharedLogger->tac("ParallelSection"));
+      FLOG(computationCounter.tac());
+      FTRACE( regionP2PTrace.end() );
       
-      FLOG(waitCounter.tac());
-      complete += countMessages;
-
-
-      for(int idxRcv = 0 ; idxRcv < countMessages ; ++idxRcv){
-	if( indexMessage[idxRcv] < nbMessagesToRecv ){
-	  const int idxProc = status[idxRcv].MPI_SOURCE;
-	  int nbLeaves;
-	  (*recvBuffer[idxProc]) >> nbLeaves;
-	  for(int idxLeaf = 0 ; idxLeaf < nbLeaves ; ++idxLeaf){
-	    MortonIndex leafIndex;
-	    (*recvBuffer[idxProc]) >> leafIndex;
-	    otherP2Ptree.createLeaf(leafIndex)->getSrc()->restore((*recvBuffer[idxProc]));
-	  }
-	  delete recvBuffer[idxProc];
-	  recvBuffer[idxProc] = 0;
-	}
-      }
-    }
-    delete[] indexMessage;
-
-    //////////////////////////////////////////////////////////
-    // Computation P2P that need others data
-    //////////////////////////////////////////////////////////
-
-    FTRACE( FTrace::FRegion regionOtherTrace("Compute P2P Other", __FUNCTION__ , __FILE__ , __LINE__) );
-    FLOG( computation2Counter.tic() );
-
-#pragma omp parallel
-    {
-      KernelClass& myThreadkernels = (*kernels[omp_get_thread_num()]);
-      // There is a maximum of 26 neighbors
-      ContainerClass* neighbors[27];
-      MortonIndex indexesNeighbors[27];
-      int indexArray[26];
-      // Box limite
-      const int nbLeafToProceed = leafsNeedOtherData.getSize();
-
-#pragma omp for
-      for(int idxLeafs = 0 ; idxLeafs < nbLeafToProceed ; ++idxLeafs){
-	LeafData currentIter = leafsNeedOtherData[idxLeafs];
-
-	// need the current particles and neighbors particles
-	int counter = 0;
-	memset( neighbors, 0, sizeof(ContainerClass*) * 27);
-
-	// Take possible data
-	const int nbNeigh = currentIter.coord.getNeighborsIndexes(OctreeHeight, indexesNeighbors, indexArray);
-
-	for(int idxNeigh = 0 ; idxNeigh < nbNeigh ; ++idxNeigh){
-	  if(indexesNeighbors[idxNeigh] < (intervals[idProcess].min) || (intervals[idProcess].max) < indexesNeighbors[idxNeigh]){
-	    ContainerClass*const hypotheticNeighbor = otherP2Ptree.getLeafSrc(indexesNeighbors[idxNeigh]);
-	    if(hypotheticNeighbor){
-	      neighbors[ indexArray[idxNeigh] ] = hypotheticNeighbor;
-	      ++counter;
+      
+      //////////////////////////////////////////////////////////
+      // Computation P2P that need others data
+      //////////////////////////////////////////////////////////
+      
+      FTRACE( FTrace::FRegion regionOtherTrace("Compute P2P Other", __FUNCTION__ , __FILE__ , __LINE__) );
+      //FLOG( computation2Counter.tic() );
+      //FLOG(sharedLogger->tic("ParallelSection"));
+      //#pragma omp parallel
+      {
+	/*KernelClass& myThreadkernels = (*kernels[omp_get_thread_num()]);*/
+	// There is a maximum of 26 neighbors
+	/*ContainerClass* neighbors[27];*/
+	MortonIndex indexesNeighbors[27];
+	int indexArray[26];
+	// Box limite
+	const int nbLeafToProceed = leafsNeedOtherData->getSize();
+	
+#pragma omp for schedule(auto) nowait
+	for(int idxLeafs = 0 ; idxLeafs < nbLeafToProceed ; ++idxLeafs){
+	  LeafData currentIter = (*leafsNeedOtherData)[idxLeafs];
+	  
+	  // need the current particles and neighbors particles
+	  int counter = 0;
+	  memset( neighbors, 0, sizeof(ContainerClass*) * 27);
+	  
+	  // Take possible data
+	  const int nbNeigh = currentIter.coord.getNeighborsIndexes(OctreeHeight, indexesNeighbors, indexArray);
+	  
+	  for(int idxNeigh = 0 ; idxNeigh < nbNeigh ; ++idxNeigh){
+	    if(indexesNeighbors[idxNeigh] < (intervals[idProcess].min) || (intervals[idProcess].max) < indexesNeighbors[idxNeigh]){
+	      ContainerClass*const hypotheticNeighbor = otherP2Ptree->getLeafSrc(indexesNeighbors[idxNeigh]);
+	      if(hypotheticNeighbor){
+		neighbors[ indexArray[idxNeigh] ] = hypotheticNeighbor;
+		++counter;
+	      }
 	    }
 	  }
-	}
-
-	myThreadkernels.P2PRemote( currentIter.cell->getCoordinate(), currentIter.targets,
-				   currentIter.sources, neighbors, counter);
+	  
+	  myThreadkernels.P2PRemote( currentIter.cell->getCoordinate(), currentIter.targets,
+				     currentIter.sources, neighbors, counter);
+	}//End For
+	
       }
-
-    }
-
+    }//End parallel section
+    //FLOG(sharedLogger->tac("ParallelSection"));
+    
     for(int idxProc = 0 ; idxProc < nbProcess ; ++idxProc){
       delete sendBuffer[idxProc];
       delete recvBuffer[idxProc];
     }
     delete[] globalReceiveMap;
     delete[] leafsDataArray;
-
+    
     FLOG(computation2Counter.tac());
-
-
+    
+    
     FLOG( FLog::Controller << "\tFinished (@Direct Pass (L2P + P2P) = "  << counterTime.tacAndElapsed() << " s)\n" );
     FLOG( FLog::Controller << "\t\t Computation L2P + P2P : " << computationCounter.elapsed() << " s\n" );
     FLOG( FLog::Controller << "\t\t Computation P2P 2 : " << computation2Counter.elapsed() << " s\n" );
     FLOG( FLog::Controller << "\t\t Prepare P2P : " << prepareCounter.elapsed() << " s\n" );
     FLOG( FLog::Controller << "\t\t Gather P2P : " << gatherCounter.elapsed() << " s\n" );
     FLOG( FLog::Controller << "\t\t Wait : " << waitCounter.elapsed() << " s\n" );
-
+    
   }
-
+  
 };
 
 
@@ -1308,5 +1384,3 @@ private:
 
 
 #endif //FFMMALGORITHMTHREAD_HPP
-
-
-- 
GitLab