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, &
use elpa1_compute
implicit none
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)
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), intent(out) :: ev(na)
#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
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
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
logical :: useGPU
......@@ -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
real(kind=REAL_DATATYPE), allocatable :: e(:), tau(:)
real(kind=c_double) :: ttt0, ttt1 ! MPI_WTIME always needs double
logical :: success
logical, save :: firstCall = .true.
logical :: wantDebug
......@@ -712,23 +715,26 @@ function solve_evp_real_1stage_single(na, nev, a, lda, ev, q, ldq, nblk, matrixC
use elpa1_compute
implicit none
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)
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), intent(out) :: ev(na)
#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
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
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
real(kind=REAL_DATATYPE), allocatable :: e(:), tau(:)
real(kind=c_double) :: ttt0, ttt1 ! MPI_WTIME always needs double
logical :: success
logical, save :: firstCall = .true.
logical :: wantDebug
integer(kind=ik), intent(in), optional :: THIS_REAL_ELPA_KERNEL_API
integer(kind=ik) :: THIS_REAL_ELPA_KERNEL
logical :: useGPU
......@@ -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
#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
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
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) :: 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
complex(kind=COMPLEX_DATATYPE), allocatable :: tau(:)
real(kind=c_double) :: ttt0, ttt1 ! MPI_WTIME always needs double
logical :: success
logical, save :: firstCall = .true.
logical :: wantDebug
integer(kind=ik), intent(in), optional :: THIS_REAL_ELPA_KERNEL_API
integer(kind=ik) :: THIS_REAL_ELPA_KERNEL
logical :: useGPU
......@@ -1083,13 +1092,19 @@ function solve_evp_complex_1stage_single(na, nev, a, lda, ev, q, ldq, nblk, matr
use elpa1_compute
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
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
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
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) :: 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
complex(kind=COMPLEX_DATATYPE), allocatable :: tau(:)
real(kind=c_double) :: ttt0, ttt1 ! MPI_WTIME always needs double
logical :: success
logical, save :: firstCall = .true.
logical :: wantDebug
integer(kind=ik), intent(in), optional :: THIS_REAL_ELPA_KERNEL_API
integer(kind=ik) :: THIS_REAL_ELPA_KERNEL
logical :: useGPU
......
......@@ -62,15 +62,17 @@
use precision
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
integer(kind=ik) :: l_col(na), p_col(na), l_col_out(na), p_col_out(na)
real(kind=REAL_DATATYPE) :: d(na), e
integer(kind=ik), intent(in) :: l_col(na), p_col(na), l_col_out(na), p_col_out(na)
real(kind=REAL_DATATYPE), intent(inout) :: d(na), e
#ifdef USE_ASSUMED_SIZE
real(kind=REAL_DATATYPE) :: q(ldq,*)
real(kind=REAL_DATATYPE), intent(inout) :: q(ldq,*)
#else
real(kind=REAL_DATATYPE) :: q(ldq,matrixCols)
real(kind=REAL_DATATYPE), intent(inout) :: q(ldq,matrixCols)
#endif
logical, intent(in) :: wantDebug
logical, intent(out) :: success
integer(kind=ik), parameter :: max_strip=128
......@@ -99,8 +101,6 @@
integer(kind=ik) :: idx(na), idx1(na), idx2(na)
integer(kind=ik) :: coltyp(na), idxq1(na), idxq2(na)
logical, intent(in) :: wantDebug
logical, intent(out) :: success
integer(kind=ik) :: istat
character(200) :: errorMessage
......
......@@ -63,21 +63,21 @@ subroutine M_solve_tridi_PRECISION( na, nev, d, e, q, ldq, nblk, matrixCols, mpi
use precision
implicit none
integer(kind=ik) :: na, nev, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols
real(kind=REAL_DATATYPE) :: d(na), e(na)
integer(kind=ik), intent(in) :: na, nev, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols
real(kind=REAL_DATATYPE), intent(inout) :: d(na), e(na)
#ifdef USE_ASSUMED_SIZE
real(kind=REAL_DATATYPE) :: q(ldq,*)
real(kind=REAL_DATATYPE), intent(inout) :: q(ldq,*)
#else
real(kind=REAL_DATATYPE) :: q(ldq,matrixCols)
real(kind=REAL_DATATYPE), intent(inout) :: q(ldq,matrixCols)
#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) :: my_prow, my_pcol, np_rows, np_cols, mpierr
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
character(200) :: errorMessage
......
......@@ -97,14 +97,14 @@
use precision
implicit none
integer(kind=ik) :: na, nqc, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols
complex(kind=COMPLEX_DATATYPE) :: tau(na)
integer(kind=ik), intent(in) :: na, nqc, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols
complex(kind=COMPLEX_DATATYPE), intent(in) :: tau(na)
#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
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
logical, intent(in) :: useGPU
logical, intent(in) :: useGPU
integer(kind=ik) :: max_stored_rows
#ifdef DOUBLE_PRECISION_COMPLEX
......
......@@ -96,14 +96,14 @@
use precision
implicit none
integer(kind=ik) :: na, nqc, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols
real(kind=REAL_DATATYPE) :: tau(na)
integer(kind=ik), intent(in) :: na, nqc, lda, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols
real(kind=REAL_DATATYPE), intent(in) :: tau(na)
#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
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
logical, intent(in) :: useGPU
logical, intent(in) :: useGPU
integer(kind=ik) :: max_stored_rows
......
......@@ -95,11 +95,11 @@
integer(kind=ik), intent(in) :: na, lda, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols
logical, intent(in) :: useGPU
complex(kind=COMPLEX_DATATYPE) :: tau(na)
complex(kind=COMPLEX_DATATYPE), intent(out) :: tau(na)
#ifdef USE_ASSUMED_SIZE
complex(kind=COMPLEX_DATATYPE) :: a_mat(lda,*)
complex(kind=COMPLEX_DATATYPE), intent(inout) :: a_mat(lda,*)
#else
complex(kind=COMPLEX_DATATYPE) :: a_mat(lda,matrixCols)
complex(kind=COMPLEX_DATATYPE), intent(inout) :: a_mat(lda,matrixCols)
#endif
real(kind=REAL_DATATYPE), intent(out) :: d_vec(na), e_vec(na)
......
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