Commit 9e3d83a1 authored by Pavel Kus's avatar Pavel Kus
Browse files

some intents (in, out, inout) added. Should be done properly

parent eb4e54e1
...@@ -536,14 +536,18 @@ function solve_evp_real_1stage_double(na, nev, a, lda, ev, q, ldq, nblk, & ...@@ -536,14 +536,18 @@ function solve_evp_real_1stage_double(na, nev, a, lda, ev, q, ldq, nblk, &
use elpa1_compute use elpa1_compute
implicit none implicit none
integer(kind=c_int), intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all integer(kind=c_int), intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all
real(kind=REAL_DATATYPE) :: ev(na) real(kind=REAL_DATATYPE), intent(out) :: ev(na)
#ifdef USE_ASSUMED_SIZE #ifdef USE_ASSUMED_SIZE
real(kind=REAL_DATATYPE) :: a(lda,*), q(ldq,*) real(kind=REAL_DATATYPE), intent(inout) :: a(lda,*)
real(kind=REAL_DATATYPE), intent(out) :: q(ldq,*)
#else #else
real(kind=REAL_DATATYPE) :: a(lda,matrixCols), q(ldq,matrixCols) real(kind=REAL_DATATYPE), intent(inout) :: a(lda,matrixCols)
real(kind=REAL_DATATYPE), intent(out) :: q(ldq,matrixCols)
#endif #endif
integer(kind=ik), intent(in), optional :: THIS_REAL_ELPA_KERNEL_API integer(kind=ik), intent(in), optional :: THIS_REAL_ELPA_KERNEL_API
logical :: success
integer(kind=ik) :: THIS_REAL_ELPA_KERNEL integer(kind=ik) :: THIS_REAL_ELPA_KERNEL
logical :: useGPU logical :: useGPU
...@@ -552,7 +556,6 @@ function solve_evp_real_1stage_double(na, nev, a, lda, ev, q, ldq, nblk, & ...@@ -552,7 +556,6 @@ function solve_evp_real_1stage_double(na, nev, a, lda, ev, q, ldq, nblk, &
integer(kind=c_int) :: my_pe, n_pes, my_prow, my_pcol, mpierr integer(kind=c_int) :: my_pe, n_pes, my_prow, my_pcol, mpierr
real(kind=REAL_DATATYPE), allocatable :: e(:), tau(:) real(kind=REAL_DATATYPE), allocatable :: e(:), tau(:)
real(kind=c_double) :: ttt0, ttt1 ! MPI_WTIME always needs double real(kind=c_double) :: ttt0, ttt1 ! MPI_WTIME always needs double
logical :: success
logical, save :: firstCall = .true. logical, save :: firstCall = .true.
logical :: wantDebug logical :: wantDebug
...@@ -712,23 +715,26 @@ function solve_evp_real_1stage_single(na, nev, a, lda, ev, q, ldq, nblk, matrixC ...@@ -712,23 +715,26 @@ function solve_evp_real_1stage_single(na, nev, a, lda, ev, q, ldq, nblk, matrixC
use elpa1_compute use elpa1_compute
implicit none implicit none
integer(kind=c_int), intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all integer(kind=c_int), intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all
real(kind=REAL_DATATYPE) :: ev(na) real(kind=REAL_DATATYPE), intent(out) :: ev(na)
#ifdef USE_ASSUMED_SIZE #ifdef USE_ASSUMED_SIZE
real(kind=REAL_DATATYPE) :: a(lda,*), q(ldq,*) real(kind=REAL_DATATYPE), intent(inout) :: a(lda,*)
real(kind=REAL_DATATYPE), intent(out) :: q(ldq,*)
#else #else
real(kind=REAL_DATATYPE) :: a(lda,matrixCols), q(ldq,matrixCols) real(kind=REAL_DATATYPE), intent(inout) :: a(lda,matrixCols)
real(kind=REAL_DATATYPE), intent(out) :: q(ldq,matrixCols)
#endif #endif
integer(kind=ik), intent(in), optional :: THIS_REAL_ELPA_KERNEL_API
logical :: success
integer(kind=c_int) :: my_pe, n_pes, my_prow, my_pcol, mpierr integer(kind=c_int) :: my_pe, n_pes, my_prow, my_pcol, mpierr
real(kind=REAL_DATATYPE), allocatable :: e(:), tau(:) real(kind=REAL_DATATYPE), allocatable :: e(:), tau(:)
real(kind=c_double) :: ttt0, ttt1 ! MPI_WTIME always needs double real(kind=c_double) :: ttt0, ttt1 ! MPI_WTIME always needs double
logical :: success
logical, save :: firstCall = .true. logical, save :: firstCall = .true.
logical :: wantDebug logical :: wantDebug
integer(kind=ik), intent(in), optional :: THIS_REAL_ELPA_KERNEL_API
integer(kind=ik) :: THIS_REAL_ELPA_KERNEL integer(kind=ik) :: THIS_REAL_ELPA_KERNEL
logical :: useGPU logical :: useGPU
...@@ -893,11 +899,16 @@ function solve_evp_complex_1stage_double(na, nev, a, lda, ev, q, ldq, nblk, matr ...@@ -893,11 +899,16 @@ function solve_evp_complex_1stage_double(na, nev, a, lda, ev, q, ldq, nblk, matr
integer(kind=c_int), intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all integer(kind=c_int), intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all
#ifdef USE_ASSUMED_SIZE #ifdef USE_ASSUMED_SIZE
complex(kind=COMPLEX_DATATYPE) :: a(lda,*), q(ldq,*) complex(kind=COMPLEX_DATATYPE), intent(inout) :: a(lda,*)
complex(kind=COMPLEX_DATATYPE), intent(out) :: q(ldq,*)
#else #else
complex(kind=COMPLEX_DATATYPE) :: a(lda,matrixCols), q(ldq,matrixCols) complex(kind=COMPLEX_DATATYPE), intent(inout) :: a(lda,matrixCols)
complex(kind=COMPLEX_DATATYPE), intent(out) :: q(ldq,matrixCols)
#endif #endif
real(kind=REAL_DATATYPE) :: ev(na) real(kind=REAL_DATATYPE), intent(out) :: ev(na)
logical :: success
integer(kind=ik), intent(in), optional :: THIS_REAL_ELPA_KERNEL_API
integer(kind=c_int) :: my_pe, n_pes, my_prow, my_pcol, np_rows, np_cols, mpierr integer(kind=c_int) :: my_pe, n_pes, my_prow, my_pcol, np_rows, np_cols, mpierr
integer(kind=c_int) :: l_rows, l_cols, l_cols_nev integer(kind=c_int) :: l_rows, l_cols, l_cols_nev
...@@ -905,11 +916,9 @@ function solve_evp_complex_1stage_double(na, nev, a, lda, ev, q, ldq, nblk, matr ...@@ -905,11 +916,9 @@ function solve_evp_complex_1stage_double(na, nev, a, lda, ev, q, ldq, nblk, matr
complex(kind=COMPLEX_DATATYPE), allocatable :: tau(:) complex(kind=COMPLEX_DATATYPE), allocatable :: tau(:)
real(kind=c_double) :: ttt0, ttt1 ! MPI_WTIME always needs double real(kind=c_double) :: ttt0, ttt1 ! MPI_WTIME always needs double
logical :: success
logical, save :: firstCall = .true. logical, save :: firstCall = .true.
logical :: wantDebug logical :: wantDebug
integer(kind=ik), intent(in), optional :: THIS_REAL_ELPA_KERNEL_API
integer(kind=ik) :: THIS_REAL_ELPA_KERNEL integer(kind=ik) :: THIS_REAL_ELPA_KERNEL
logical :: useGPU logical :: useGPU
...@@ -1083,13 +1092,19 @@ function solve_evp_complex_1stage_single(na, nev, a, lda, ev, q, ldq, nblk, matr ...@@ -1083,13 +1092,19 @@ function solve_evp_complex_1stage_single(na, nev, a, lda, ev, q, ldq, nblk, matr
use elpa1_compute use elpa1_compute
implicit none implicit none
integer(kind=c_int), intent(in) :: na, nev, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all integer(kind=c_int), intent(in) :: na, nev, lda, ldq, nblk, matrixCols
integer(kind=c_int), intent(in) :: mpi_comm_rows, mpi_comm_cols, mpi_comm_all
#ifdef USE_ASSUMED_SIZE #ifdef USE_ASSUMED_SIZE
complex(kind=COMPLEX_DATATYPE) :: a(lda,*), q(ldq,*) complex(kind=COMPLEX_DATATYPE), intent(inout) :: a(lda,*)
complex(kind=COMPLEX_DATATYPE), intent(out) :: q(ldq,*)
#else #else
complex(kind=COMPLEX_DATATYPE) :: a(lda,matrixCols), q(ldq,matrixCols) complex(kind=COMPLEX_DATATYPE), intent(inout) :: a(lda,matrixCols)
complex(kind=COMPLEX_DATATYPE), intent(out) :: q(ldq,matrixCols)
#endif #endif
real(kind=REAL_DATATYPE) :: ev(na) real(kind=REAL_DATATYPE), intent(out) :: ev(na)
integer(kind=ik), intent(in), optional :: THIS_REAL_ELPA_KERNEL_API
logical :: success
integer(kind=c_int) :: my_pe, n_pes, my_prow, my_pcol, np_rows, np_cols, mpierr integer(kind=c_int) :: my_pe, n_pes, my_prow, my_pcol, np_rows, np_cols, mpierr
integer(kind=c_int) :: l_rows, l_cols, l_cols_nev integer(kind=c_int) :: l_rows, l_cols, l_cols_nev
...@@ -1097,11 +1112,9 @@ function solve_evp_complex_1stage_single(na, nev, a, lda, ev, q, ldq, nblk, matr ...@@ -1097,11 +1112,9 @@ function solve_evp_complex_1stage_single(na, nev, a, lda, ev, q, ldq, nblk, matr
complex(kind=COMPLEX_DATATYPE), allocatable :: tau(:) complex(kind=COMPLEX_DATATYPE), allocatable :: tau(:)
real(kind=c_double) :: ttt0, ttt1 ! MPI_WTIME always needs double real(kind=c_double) :: ttt0, ttt1 ! MPI_WTIME always needs double
logical :: success
logical, save :: firstCall = .true. logical, save :: firstCall = .true.
logical :: wantDebug logical :: wantDebug
integer(kind=ik), intent(in), optional :: THIS_REAL_ELPA_KERNEL_API
integer(kind=ik) :: THIS_REAL_ELPA_KERNEL integer(kind=ik) :: THIS_REAL_ELPA_KERNEL
logical :: useGPU logical :: useGPU
......
...@@ -62,15 +62,17 @@ ...@@ -62,15 +62,17 @@
use precision use precision
implicit none implicit none
integer(kind=ik) :: na, nm, ldq, nqoff, nblk, matrixCols, mpi_comm_rows, & integer(kind=ik), intent(in) :: na, nm, ldq, nqoff, nblk, matrixCols, mpi_comm_rows, &
mpi_comm_cols, npc_0, npc_n mpi_comm_cols, npc_0, npc_n
integer(kind=ik) :: l_col(na), p_col(na), l_col_out(na), p_col_out(na) integer(kind=ik), intent(in) :: l_col(na), p_col(na), l_col_out(na), p_col_out(na)
real(kind=REAL_DATATYPE) :: d(na), e real(kind=REAL_DATATYPE), intent(inout) :: d(na), e
#ifdef USE_ASSUMED_SIZE #ifdef USE_ASSUMED_SIZE
real(kind=REAL_DATATYPE) :: q(ldq,*) real(kind=REAL_DATATYPE), intent(inout) :: q(ldq,*)
#else #else
real(kind=REAL_DATATYPE) :: q(ldq,matrixCols) real(kind=REAL_DATATYPE), intent(inout) :: q(ldq,matrixCols)
#endif #endif
logical, intent(in) :: wantDebug
logical, intent(out) :: success
integer(kind=ik), parameter :: max_strip=128 integer(kind=ik), parameter :: max_strip=128
...@@ -99,8 +101,6 @@ ...@@ -99,8 +101,6 @@
integer(kind=ik) :: idx(na), idx1(na), idx2(na) integer(kind=ik) :: idx(na), idx1(na), idx2(na)
integer(kind=ik) :: coltyp(na), idxq1(na), idxq2(na) integer(kind=ik) :: coltyp(na), idxq1(na), idxq2(na)
logical, intent(in) :: wantDebug
logical, intent(out) :: success
integer(kind=ik) :: istat integer(kind=ik) :: istat
character(200) :: errorMessage character(200) :: errorMessage
......
...@@ -63,21 +63,21 @@ subroutine M_solve_tridi_PRECISION( na, nev, d, e, q, ldq, nblk, matrixCols, mpi ...@@ -63,21 +63,21 @@ subroutine M_solve_tridi_PRECISION( na, nev, d, e, q, ldq, nblk, matrixCols, mpi
use precision use precision
implicit none implicit none
integer(kind=ik) :: na, nev, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols integer(kind=ik), intent(in) :: na, nev, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols
real(kind=REAL_DATATYPE) :: d(na), e(na) real(kind=REAL_DATATYPE), intent(inout) :: d(na), e(na)
#ifdef USE_ASSUMED_SIZE #ifdef USE_ASSUMED_SIZE
real(kind=REAL_DATATYPE) :: q(ldq,*) real(kind=REAL_DATATYPE), intent(inout) :: q(ldq,*)
#else #else
real(kind=REAL_DATATYPE) :: q(ldq,matrixCols) real(kind=REAL_DATATYPE), intent(inout) :: q(ldq,matrixCols)
#endif #endif
logical, intent(in) :: wantDebug
logical, intent(out) :: success
integer(kind=ik) :: i, j, n, np, nc, nev1, l_cols, l_rows integer(kind=ik) :: i, j, n, np, nc, nev1, l_cols, l_rows
integer(kind=ik) :: my_prow, my_pcol, np_rows, np_cols, mpierr integer(kind=ik) :: my_prow, my_pcol, np_rows, np_cols, mpierr
integer(kind=ik), allocatable :: limits(:), l_col(:), p_col(:), l_col_bc(:), p_col_bc(:) integer(kind=ik), allocatable :: limits(:), l_col(:), p_col(:), l_col_bc(:), p_col_bc(:)
logical, intent(in) :: wantDebug
logical, intent(out) :: success
integer(kind=ik) :: istat integer(kind=ik) :: istat
character(200) :: errorMessage character(200) :: errorMessage
......
...@@ -97,14 +97,14 @@ ...@@ -97,14 +97,14 @@
use precision use precision
implicit none implicit none
integer(kind=ik) :: na, nqc, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols integer(kind=ik), intent(in) :: na, nqc, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols
complex(kind=COMPLEX_DATATYPE) :: tau(na) complex(kind=COMPLEX_DATATYPE), intent(in) :: tau(na)
#ifdef USE_ASSUMED_SIZE #ifdef USE_ASSUMED_SIZE
complex(kind=COMPLEX_DATATYPE) :: a_mat(lda,*), q_mat(ldq,*) complex(kind=COMPLEX_DATATYPE), intent(inout) :: a_mat(lda,*), q_mat(ldq,*)
#else #else
complex(kind=COMPLEX_DATATYPE) :: a_mat(lda,matrixCols), q_mat(ldq,matrixCols) complex(kind=COMPLEX_DATATYPE), intent(inout) :: a_mat(lda,matrixCols), q_mat(ldq,matrixCols)
#endif #endif
logical, intent(in) :: useGPU logical, intent(in) :: useGPU
integer(kind=ik) :: max_stored_rows integer(kind=ik) :: max_stored_rows
#ifdef DOUBLE_PRECISION_COMPLEX #ifdef DOUBLE_PRECISION_COMPLEX
......
...@@ -96,14 +96,14 @@ ...@@ -96,14 +96,14 @@
use precision use precision
implicit none implicit none
integer(kind=ik) :: na, nqc, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols integer(kind=ik), intent(in) :: na, nqc, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols
real(kind=REAL_DATATYPE) :: tau(na) real(kind=REAL_DATATYPE), intent(in) :: tau(na)
#ifdef USE_ASSUMED_SIZE #ifdef USE_ASSUMED_SIZE
real(kind=REAL_DATATYPE) :: a_mat(lda,*), q_mat(ldq,*) real(kind=REAL_DATATYPE), intent(inout) :: a_mat(lda,*), q_mat(ldq,*)
#else #else
real(kind=REAL_DATATYPE) :: a_mat(lda,matrixCols), q_mat(ldq,matrixCols) real(kind=REAL_DATATYPE), intent(inout) :: a_mat(lda,matrixCols), q_mat(ldq,matrixCols)
#endif #endif
logical, intent(in) :: useGPU logical, intent(in) :: useGPU
integer(kind=ik) :: max_stored_rows integer(kind=ik) :: max_stored_rows
......
...@@ -95,11 +95,11 @@ ...@@ -95,11 +95,11 @@
integer(kind=ik), intent(in) :: na, lda, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols integer(kind=ik), intent(in) :: na, lda, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols
logical, intent(in) :: useGPU logical, intent(in) :: useGPU
complex(kind=COMPLEX_DATATYPE) :: tau(na) complex(kind=COMPLEX_DATATYPE), intent(out) :: tau(na)
#ifdef USE_ASSUMED_SIZE #ifdef USE_ASSUMED_SIZE
complex(kind=COMPLEX_DATATYPE) :: a_mat(lda,*) complex(kind=COMPLEX_DATATYPE), intent(inout) :: a_mat(lda,*)
#else #else
complex(kind=COMPLEX_DATATYPE) :: a_mat(lda,matrixCols) complex(kind=COMPLEX_DATATYPE), intent(inout) :: a_mat(lda,matrixCols)
#endif #endif
real(kind=REAL_DATATYPE), intent(out) :: d_vec(na), e_vec(na) real(kind=REAL_DATATYPE), intent(out) :: d_vec(na), e_vec(na)
......
Supports Markdown
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