Commit dba18ce9 authored by Andreas Marek's avatar Andreas Marek

Remove bandwidth from signature of ELPA2

parent fdcc3339
......@@ -10,7 +10,7 @@
#if COMPLEXCASE == 1
THIS_ELPA_KERNEL_API, &
#endif
useGPU, bandwidth) result(success)
useGPU) result(success)
#ifdef HAVE_DETAILED_TIMINGS
use timings
......@@ -31,7 +31,7 @@
#endif
logical :: useQRActual, useQREnvironment
integer(kind=c_int), intent(in), optional :: bandwidth
integer(kind=c_int) :: bandwidth
integer(kind=c_int), intent(in), optional :: THIS_ELPA_KERNEL_API
integer(kind=c_int) :: THIS_ELPA_KERNEL
......@@ -260,8 +260,8 @@
endif
endif
if(present(bandwidth)) then
bandwidth = -1
if (bandwidth .ne. -1) then
nbw = bandwidth
if ((nbw == 0) .or. (mod(nbw, nblk) .ne. 0)) then
......@@ -449,7 +449,7 @@
stop 1
endif
if(present(bandwidth)) then
if( bandwidth .ne. -1) then
time_evp_back = ttt1-ttts
else
......@@ -492,7 +492,7 @@
&PRECISION " // ": error when deallocating tmat"//errorMessage
stop 1
endif
endif ! not present(bandwidth)
endif
call timer%stop("solve_evp_&
&MATH_DATATYPE&
......
This diff is collapsed.
......@@ -92,7 +92,7 @@ int main(int argc, char** argv) {
int success;
int THIS_COMPLEX_ELPA_KERNEL_API, useGPU, bandwidth;
int THIS_COMPLEX_ELPA_KERNEL_API, useGPU;
#ifdef WITH_MPI
MPI_Init(&argc, &argv);
......@@ -231,12 +231,11 @@ int main(int argc, char** argv) {
mpierr = MPI_Barrier(MPI_COMM_WORLD);
#endif
useGPU = 0;
bandwidth = -1;
THIS_COMPLEX_ELPA_KERNEL_API = ELPA2_COMPLEX_KERNEL_GENERIC;
#ifdef DOUBLE_PRECISION_COMPLEX
success = elpa_solve_evp_complex_2stage_double_precision(na, nev, a, na_rows, ev, z, na_rows, nblk, na_cols, mpi_comm_rows, mpi_comm_cols, my_mpi_comm_world, THIS_COMPLEX_ELPA_KERNEL_API, useGPU, bandwidth);
success = elpa_solve_evp_complex_2stage_double_precision(na, nev, a, na_rows, ev, z, na_rows, nblk, na_cols, mpi_comm_rows, mpi_comm_cols, my_mpi_comm_world, THIS_COMPLEX_ELPA_KERNEL_API, useGPU);
#else
success = elpa_solve_evp_complex_2stage_single_precision(na, nev, a, na_rows, ev, z, na_rows, nblk, na_cols, mpi_comm_rows, mpi_comm_cols, my_mpi_comm_world, THIS_COMPLEX_ELPA_KERNEL_API, useGPU, bandwidth);
success = elpa_solve_evp_complex_2stage_single_precision(na, nev, a, na_rows, ev, z, na_rows, nblk, na_cols, mpi_comm_rows, mpi_comm_cols, my_mpi_comm_world, THIS_COMPLEX_ELPA_KERNEL_API, useGPU);
#endif
if (success != 1) {
......
......@@ -87,7 +87,7 @@ int main(int argc, char** argv) {
int success;
int useQr, THIS_REAL_ELPA_KERNEL_API, useGPU, bandwidth;
int useQr, THIS_REAL_ELPA_KERNEL_API, useGPU;
#ifdef WITH_MPI
MPI_Init(&argc, &argv);
......@@ -218,12 +218,11 @@ int main(int argc, char** argv) {
#endif
useGPU =0 ;
useQr = 0;
bandwidth = -1;
THIS_REAL_ELPA_KERNEL_API = ELPA2_REAL_KERNEL_GENERIC;
#ifdef DOUBLE_PRECISION_REAL
success = elpa_solve_evp_real_2stage_double_precision(na, nev, a, na_rows, ev, z, na_rows, nblk, na_cols, mpi_comm_rows, mpi_comm_cols, my_mpi_comm_world, THIS_REAL_ELPA_KERNEL_API, useQr, useGPU, bandwidth);
success = elpa_solve_evp_real_2stage_double_precision(na, nev, a, na_rows, ev, z, na_rows, nblk, na_cols, mpi_comm_rows, mpi_comm_cols, my_mpi_comm_world, THIS_REAL_ELPA_KERNEL_API, useQr, useGPU);
#else
success = elpa_solve_evp_real_2stage_single_precision(na, nev, a, na_rows, ev, z, na_rows, nblk, na_cols, mpi_comm_rows, mpi_comm_cols, my_mpi_comm_world, THIS_REAL_ELPA_KERNEL_API, useQr, useGPU, bandwidth);
success = elpa_solve_evp_real_2stage_single_precision(na, nev, a, na_rows, ev, z, na_rows, nblk, na_cols, mpi_comm_rows, mpi_comm_cols, my_mpi_comm_world, THIS_REAL_ELPA_KERNEL_API, useQr, useGPU);
#endif
if (success != 1) {
printf("error in ELPA solve \n");
......
......@@ -290,7 +290,7 @@ program test_complex2_double_precision
call mpi_barrier(mpi_comm_world, mpierr) ! for correct timings only
#endif
successELPA = elpa_solve_evp_complex_2stage_double(na, nev, a, na_rows, ev, z, na_rows, nblk, &
na_cols, mpi_comm_rows, mpi_comm_cols, mpi_comm_world, bandwidth=bandwidth)
na_cols, mpi_comm_rows, mpi_comm_cols, mpi_comm_world)
if (.not.(successELPA)) then
write(error_unit,*) "solve_evp_complex_2stage produced an error! Aborting..."
......
......@@ -282,7 +282,7 @@ program test_real2_double_precision
call mpi_barrier(mpi_comm_world, mpierr) ! for correct timings only
#endif
successELPA = elpa_solve_evp_real_2stage_double(na, nev, a, na_rows, ev, z, na_rows, nblk, na_cols, &
mpi_comm_rows, mpi_comm_cols, mpi_comm_world, bandwidth = bandwidth)
mpi_comm_rows, mpi_comm_cols, mpi_comm_world)
if (.not.(successELPA)) then
write(error_unit,*) "solve_evp_real_2stage produced an error! Aborting..."
......
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