 /*******************************************************************************
 program expects npx, npy, npz, n, Nx, Ny, Nz from std::cin
 outputs one line to std::cout 
-# npx npy npz #procs n Nx Ny Nz t_AXPBY t_DOT t_DX t_DY t_ARAKAWA #iterations t_1xELLIPTIC_CG t_DS
+# npx npy npz #procs #threads n Nx Ny Nz t_AXPBY t_DOT t_DX t_DY t_ARAKAWA #iterations t_1xELLIPTIC_CG t_DS
 if Nz == 1, ds is not executed
 Run with: 
 >$ echo npx npy npz n Nx Ny Nz | mpirun -#procs ./cluster_mpib 

    }


    std::cout << std::endl;
    MPI_Finalize();
    return 0;
}

    MPI_Bcast( np, 3, MPI_INT, 0, MPI_COMM_WORLD);
    MPI_Comm comm;
    MPI_Cart_create( MPI_COMM_WORLD, 3, np, periods, true, &comm);

    int num_threads = 1;
#ifdef _OPENMP
    num_threads = omp_get_max_threads( );
#endif //omp
    if(rank==0)std::cout << num_threads<<" ";
    if( rank == 0)
    {
        std::cin >> n >> Nx >> Ny >> Nz;
