Commit 42b88054 by Andreas Marek

### cleanup

parent 089ba660
 ... @@ -144,7 +144,7 @@ subroutine solve_tridi_& ... @@ -144,7 +144,7 @@ subroutine solve_tridi_& nev1 = MIN(nev,l_cols) nev1 = MIN(nev,l_cols) endif endif call solve_tridi_col_& call solve_tridi_col_& &PRECISION & &PRECISION & (l_cols, nev1, nc, d(nc+1), e(nc+1), q, ldq, nblk, & (l_cols, nev1, nc, d(nc+1), e(nc+1), q, ldq, nblk, & matrixCols, mpi_comm_rows, wantDebug, success) matrixCols, mpi_comm_rows, wantDebug, success) if (.not.(success)) then if (.not.(success)) then ... @@ -220,7 +220,7 @@ subroutine solve_tridi_& ... @@ -220,7 +220,7 @@ subroutine solve_tridi_& ! Recursively merge sub problems ! Recursively merge sub problems call merge_recursive_& call merge_recursive_& &PRECISION & &PRECISION & (0, np_cols, wantDebug, success) (0, np_cols, wantDebug, success) if (.not.(success)) then if (.not.(success)) then call timer%stop("solve_tridi" // PRECISION_SUFFIX) call timer%stop("solve_tridi" // PRECISION_SUFFIX) ... @@ -238,8 +238,8 @@ subroutine solve_tridi_& ... @@ -238,8 +238,8 @@ subroutine solve_tridi_& contains contains recursive subroutine merge_recursive_& recursive subroutine merge_recursive_& &PRECISION & &PRECISION & (np_off, nprocs, wantDebug, success) (np_off, nprocs, wantDebug, success) use precision use precision #ifdef HAVE_DETAILED_TIMINGS #ifdef HAVE_DETAILED_TIMINGS use timings use timings ... @@ -273,11 +273,11 @@ subroutine solve_tridi_& ... @@ -273,11 +273,11 @@ subroutine solve_tridi_& np2 = nprocs-np1 np2 = nprocs-np1 if (np1 > 1) call merge_recursive_& if (np1 > 1) call merge_recursive_& &PRECISION & &PRECISION & (np_off, np1, wantDebug, success) (np_off, np1, wantDebug, success) if (.not.(success)) return if (.not.(success)) return if (np2 > 1) call merge_recursive_& if (np2 > 1) call merge_recursive_& &PRECISION & &PRECISION & (np_off+np1, np2, wantDebug, success) (np_off+np1, np2, wantDebug, success) if (.not.(success)) return if (.not.(success)) return ... @@ -329,7 +329,7 @@ subroutine solve_tridi_& ... @@ -329,7 +329,7 @@ subroutine solve_tridi_& ! Last merge, result distribution must be block cyclic, noff==0, ! Last merge, result distribution must be block cyclic, noff==0, ! p_col_bc is set so that only nev eigenvalues are calculated ! p_col_bc is set so that only nev eigenvalues are calculated call merge_systems_& call merge_systems_& &PRECISION & &PRECISION & (nlen, nmid, d(noff+1), e(noff+nmid), q, ldq, noff, & (nlen, nmid, d(noff+1), e(noff+nmid), q, ldq, noff, & nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, l_col, p_col, & nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, l_col, p_col, & l_col_bc, p_col_bc, np_off, nprocs, wantDebug, success ) l_col_bc, p_col_bc, np_off, nprocs, wantDebug, success ) ... @@ -337,20 +337,20 @@ subroutine solve_tridi_& ... @@ -337,20 +337,20 @@ subroutine solve_tridi_& else else ! Not last merge, leave dense column distribution ! Not last merge, leave dense column distribution call merge_systems_& call merge_systems_& &PRECISION & &PRECISION & (nlen, nmid, d(noff+1), e(noff+nmid), q, ldq, noff, & (nlen, nmid, d(noff+1), e(noff+nmid), q, ldq, noff, & nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, l_col(noff+1), p_col(noff+1), & nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, l_col(noff+1), p_col(noff+1), & l_col(noff+1), p_col(noff+1), np_off, nprocs, wantDebug, success ) l_col(noff+1), p_col(noff+1), np_off, nprocs, wantDebug, success ) if (.not.(success)) return if (.not.(success)) return endif endif end subroutine merge_recursive_& end subroutine merge_recursive_& &PRECISION &PRECISION end subroutine solve_tridi_& end subroutine solve_tridi_& &PRECISION &PRECISION subroutine solve_tridi_col_& subroutine solve_tridi_col_& &PRECISION & &PRECISION & ( na, nev, nqoff, d, e, q, ldq, nblk, matrixCols, mpi_comm_rows, wantDebug, success ) ( na, nev, nqoff, d, e, q, ldq, nblk, matrixCols, mpi_comm_rows, wantDebug, success ) ! Solves the symmetric, tridiagonal eigenvalue problem on one processor column ! Solves the symmetric, tridiagonal eigenvalue problem on one processor column ... @@ -448,7 +448,7 @@ subroutine solve_tridi_& ... @@ -448,7 +448,7 @@ subroutine solve_tridi_& nlen = limits(n+1)-noff ! Size of subproblem nlen = limits(n+1)-noff ! Size of subproblem call solve_tridi_single_problem_& call solve_tridi_single_problem_& &PRECISION & &PRECISION & (nlen,d(noff+1),e(noff+1), & (nlen,d(noff+1),e(noff+1), & q(nqoff+noff+1,noff+1),ubound(q,dim=1), wantDebug, success) q(nqoff+noff+1,noff+1),ubound(q,dim=1), wantDebug, success) ... @@ -479,7 +479,7 @@ subroutine solve_tridi_& ... @@ -479,7 +479,7 @@ subroutine solve_tridi_& noff = limits(my_prow) ! Start of subproblem noff = limits(my_prow) ! Start of subproblem nlen = limits(my_prow+1)-noff ! Size of subproblem nlen = limits(my_prow+1)-noff ! Size of subproblem call solve_tridi_single_problem_& call solve_tridi_single_problem_& &PRECISION & &PRECISION & (nlen,d(noff+1),e(noff+1),qmat1, & (nlen,d(noff+1),e(noff+1),qmat1, & ubound(qmat1,dim=1), wantDebug, success) ubound(qmat1,dim=1), wantDebug, success) ... @@ -505,11 +505,11 @@ subroutine solve_tridi_& ... @@ -505,11 +505,11 @@ subroutine solve_tridi_& #ifdef WITH_MPI #ifdef WITH_MPI call distribute_global_column_& call distribute_global_column_& &PRECISION & &PRECISION & (qmat2(1,i), q(1,noff+i), nqoff+noff, nlen, my_prow, np_rows, nblk) (qmat2(1,i), q(1,noff+i), nqoff+noff, nlen, my_prow, np_rows, nblk) #else /* WITH_MPI */ #else /* WITH_MPI */ call distribute_global_column_& call distribute_global_column_& &PRECISION & &PRECISION & (qmat1(1,i), q(1,noff+i), nqoff+noff, nlen, my_prow, np_rows, nblk) (qmat1(1,i), q(1,noff+i), nqoff+noff, nlen, my_prow, np_rows, nblk) #endif /* WITH_MPI */ #endif /* WITH_MPI */ enddo enddo ... @@ -554,7 +554,7 @@ subroutine solve_tridi_& ... @@ -554,7 +554,7 @@ subroutine solve_tridi_& p_col_o(nev+1:na) = -1 p_col_o(nev+1:na) = -1 endif endif call merge_systems_& call merge_systems_& &PRECISION & &PRECISION & (nlen, nmid, d(noff+1), e(noff+nmid), q, ldq, nqoff+noff, nblk, & (nlen, nmid, d(noff+1), e(noff+nmid), q, ldq, nqoff+noff, nblk, & matrixCols, mpi_comm_rows, mpi_comm_self, l_col(noff+1), p_col_i(noff+1), & matrixCols, mpi_comm_rows, mpi_comm_self, l_col(noff+1), p_col_i(noff+1), & l_col(noff+1), p_col_o(noff+1), 0, 1, wantDebug, success) l_col(noff+1), p_col_o(noff+1), 0, 1, wantDebug, success) ... @@ -575,10 +575,10 @@ subroutine solve_tridi_& ... @@ -575,10 +575,10 @@ subroutine solve_tridi_& call timer%stop("solve_tridi_col" // PRECISION_SUFFIX) call timer%stop("solve_tridi_col" // PRECISION_SUFFIX) end subroutine solve_tridi_col_& end subroutine solve_tridi_col_& &PRECISION &PRECISION recursive subroutine solve_tridi_single_problem_& recursive subroutine solve_tridi_single_problem_& &PRECISION & &PRECISION & (nlen, d, e, q, ldq, wantDebug, success) (nlen, d, e, q, ldq, wantDebug, success) ! Solves the symmetric, tridiagonal eigenvalue problem on a single processor. ! Solves the symmetric, tridiagonal eigenvalue problem on a single processor. ... @@ -706,5 +706,5 @@ subroutine solve_tridi_& ... @@ -706,5 +706,5 @@ subroutine solve_tridi_& call timer%stop("solve_tridi_single" // PRECISION_SUFFIX) call timer%stop("solve_tridi_single" // PRECISION_SUFFIX) end subroutine solve_tridi_single_problem_& end subroutine solve_tridi_single_problem_& &PRECISION &PRECISION
 ... @@ -493,7 +493,7 @@ ... @@ -493,7 +493,7 @@ #if COMPLEXCASE == 1 #if COMPLEXCASE == 1 call hh_transform_complex_& call hh_transform_complex_& #endif #endif &PRECISION & &PRECISION & (vrl, vnorm2, xf, tau(istep)) (vrl, vnorm2, xf, tau(istep)) ! Scale v_row and store Householder vector for back transformation ! Scale v_row and store Householder vector for back transformation ... @@ -529,9 +529,9 @@ ... @@ -529,9 +529,9 @@ ! Transpose Householder vector v_row -> v_col ! Transpose Householder vector v_row -> v_col call elpa_transpose_vectors_& call elpa_transpose_vectors_& &MATH_DATATYPE& &MATH_DATATYPE& &_& &_& &PRECISION & &PRECISION & (v_row, ubound(v_row,dim=1), mpi_comm_rows, v_col, ubound(v_col,dim=1), mpi_comm_cols, & (v_row, ubound(v_row,dim=1), mpi_comm_rows, v_col, ubound(v_col,dim=1), mpi_comm_cols, & 1, istep-1, 1, nblk) 1, istep-1, 1, nblk) ... @@ -1213,12 +1213,17 @@ ... @@ -1213,12 +1213,17 @@ endif endif #endif #endif #if REALCASE == 1 call timer%stop("tridiag_& call timer%stop("tridiag_real" // PRECISION_SUFFIX) &MATH_DATATYPE& #endif &" // & #if COMPLEXCASE == 1 &PRECISION_SUFFIX & call timer%stop("tridiag_complex" // PRECISION_SUFFIX) ) #endif !#if REALCASE == 1 ! call timer%stop("tridiag_real" // PRECISION_SUFFIX) !#endif !#if COMPLEXCASE == 1 ! call timer%stop("tridiag_complex" // PRECISION_SUFFIX) !#endif ! contains ! contains ! ! ! subroutine print_a(prow, pcol) ! subroutine print_a(prow, pcol) ... ...
 subroutine herm_matrix_allreduce_& subroutine herm_matrix_allreduce_& &PRECISION & &PRECISION & (n,a,lda,ldb,comm) (n,a,lda,ldb,comm) !------------------------------------------------------------------------------- !------------------------------------------------------------------------------- ! herm_matrix_allreduce: Does an mpi_allreduce for a hermitian matrix A. ! herm_matrix_allreduce: Does an mpi_allreduce for a hermitian matrix A. ... @@ -63,6 +63,6 @@ ... @@ -63,6 +63,6 @@ call timer%stop("herm_matrix_allreduce" // PRECISION_SUFFIX) call timer%stop("herm_matrix_allreduce" // PRECISION_SUFFIX) end subroutine herm_matrix_allreduce_& end subroutine herm_matrix_allreduce_& &PRECISION &PRECISION
 ... @@ -63,7 +63,7 @@ ... @@ -63,7 +63,7 @@ call timer%stop("symm_matrix_allreduce" // PRECISION_SUFFIX) call timer%stop("symm_matrix_allreduce" // PRECISION_SUFFIX) end subroutine symm_matrix_allreduce_& end subroutine symm_matrix_allreduce_& &PRECISION &PRECISION
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!