Commit 1e66b7a6 authored by Andreas Marek's avatar Andreas Marek
Browse files

Timer for MPI communication in elpa_reduce_add_vectors.X90

parent e15648b2
...@@ -90,6 +90,9 @@ subroutine elpa_reduce_add_vectors_complex_single(vmat_s,ld_s,comm_s,vmat_t,ld_t ...@@ -90,6 +90,9 @@ subroutine elpa_reduce_add_vectors_complex_single(vmat_s,ld_s,comm_s,vmat_t,ld_t
! use ELPA1 ! for least_common_multiple ! use ELPA1 ! for least_common_multiple
#ifdef WITH_OPENMP #ifdef WITH_OPENMP
use omp_lib use omp_lib
#endif
#ifdef HAVE_DETAILED_TIMINGS
use timings
#endif #endif
use elpa_mpi use elpa_mpi
#ifdef HAVE_DETAILED_TIMINGS #ifdef HAVE_DETAILED_TIMINGS
...@@ -115,19 +118,28 @@ subroutine elpa_reduce_add_vectors_complex_single(vmat_s,ld_s,comm_s,vmat_t,ld_t ...@@ -115,19 +118,28 @@ subroutine elpa_reduce_add_vectors_complex_single(vmat_s,ld_s,comm_s,vmat_t,ld_t
call timer%start("elpa_reduce_add_vectors_complex_single") call timer%start("elpa_reduce_add_vectors_complex_single")
#endif #endif
#else #else /*COMPLEXCASE == 1 */
#ifdef DOUBLE_PRECISION_REAL #ifdef DOUBLE_PRECISION_REAL
call timer%start("elpa_reduce_add_vectors_double") call timer%start("elpa_reduce_add_vectors_double")
#else #else
call timer%start("elpa_reduce_add_vectors_single") call timer%start("elpa_reduce_add_vectors_single")
#endif #endif
#endif #endif /* COMPLEXCASE == 1 */
#endif /* HAVE_DETAILED_TIMINGS */
#ifdef HAVE_DETAILED_TIMINGS
call timer%start("mpi_communication")
#endif #endif
call mpi_comm_rank(comm_s,myps,mpierr) call mpi_comm_rank(comm_s,myps,mpierr)
call mpi_comm_size(comm_s,nps ,mpierr) call mpi_comm_size(comm_s,nps ,mpierr)
call mpi_comm_rank(comm_t,mypt,mpierr) call mpi_comm_rank(comm_t,mypt,mpierr)
call mpi_comm_size(comm_t,npt ,mpierr) call mpi_comm_size(comm_t,npt ,mpierr)
#ifdef HAVE_DETAILED_TIMINGS
call timer%stop("mpi_communication")
#endif
! Look to elpa_transpose_vectors for the basic idea! ! Look to elpa_transpose_vectors for the basic idea!
...@@ -175,6 +187,9 @@ subroutine elpa_reduce_add_vectors_complex_single(vmat_s,ld_s,comm_s,vmat_t,ld_t ...@@ -175,6 +187,9 @@ subroutine elpa_reduce_add_vectors_complex_single(vmat_s,ld_s,comm_s,vmat_t,ld_t
#endif #endif
#ifdef WITH_MPI #ifdef WITH_MPI
#ifdef HAVE_DETAILED_TIMINGS
call timer%start("mpi_communication")
#endif
#if REALCASE==1 #if REALCASE==1
...@@ -196,6 +211,10 @@ subroutine elpa_reduce_add_vectors_complex_single(vmat_s,ld_s,comm_s,vmat_t,ld_t ...@@ -196,6 +211,10 @@ subroutine elpa_reduce_add_vectors_complex_single(vmat_s,ld_s,comm_s,vmat_t,ld_t
#endif /* COMPLEXCASE == 1 */ #endif /* COMPLEXCASE == 1 */
#ifdef HAVE_DETAILED_TIMINGS
call timer%stop("mpi_communication")
#endif
#else /* WITH_MPI */ #else /* WITH_MPI */
if(k>0) aux2 = aux1 if(k>0) aux2 = aux1
#endif /* WITH_MPI */ #endif /* WITH_MPI */
...@@ -237,7 +256,8 @@ subroutine elpa_reduce_add_vectors_complex_single(vmat_s,ld_s,comm_s,vmat_t,ld_t ...@@ -237,7 +256,8 @@ subroutine elpa_reduce_add_vectors_complex_single(vmat_s,ld_s,comm_s,vmat_t,ld_t
call timer%stop("elpa_reduce_add_vectors_complex_single") call timer%stop("elpa_reduce_add_vectors_complex_single")
#endif #endif
#else #else /* COMPLEXCASE == 1 */
#ifdef DOUBLE_PRECISION_REAL #ifdef DOUBLE_PRECISION_REAL
call timer%stop("elpa_reduce_add_vectors_double") call timer%stop("elpa_reduce_add_vectors_double")
#else #else
...@@ -245,7 +265,7 @@ subroutine elpa_reduce_add_vectors_complex_single(vmat_s,ld_s,comm_s,vmat_t,ld_t ...@@ -245,7 +265,7 @@ subroutine elpa_reduce_add_vectors_complex_single(vmat_s,ld_s,comm_s,vmat_t,ld_t
#endif #endif
#endif #endif
#endif #endif /* HAVE_DETAILED_TIMINGS */
end subroutine end subroutine
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment