     /**
     * @brief Start timer using MPI_Wtime
     *
-    * @param comm the communicator 
+    * @param comm the communicator
     * @note uses MPI_Barrier(comm)
     */
     void tic( MPI_Comm comm = MPI_COMM_WORLD ){ MPI_Barrier(comm); start = MPI_Wtime();}
     /**
     * @brief Stop timer using MPI_Wtime
     *
-    * @param comm the communicator 
+    * @param comm the communicator
     * @note uses MPI_Barrier(comm)
     */
     void toc( MPI_Comm comm = MPI_COMM_WORLD ){ MPI_Barrier(comm); stop = MPI_Wtime(); }

namespace dg
{
/*! @brief Very simple tool for performance measuring
 * 
 * @code
   dg::Timer t;
   t.tic();

{
  public:
    Timer(){
        cudaEventCreate( &start);
        cudaEventCreate( &stop);
    }
    void tic( cudaStream_t stream = 0){ cudaEventRecord( start, stream);}
    void toc( cudaStream_t stream = 0){
        cudaEventRecord( stop, stream);
        cudaEventSynchronize( stop);
    }
    float diff(){
        float time;
        cudaEventElapsedTime( &time, start, stop);
        return time/1000.;
    }
