Fixes for compilation with IPK=8

gpucinterfaces
sfilippone 8 months ago
parent d6550abc70
commit 387d6bef74

@ -1,3 +1,4 @@
#if !defined(PSB_IPK8)
subroutine amg_c_slu_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold) subroutine amg_c_slu_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
use psb_base_mod use psb_base_mod
@ -19,7 +20,7 @@ subroutine amg_c_slu_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
type(psb_c_coo_sparse_mat) :: acoo type(psb_c_coo_sparse_mat) :: acoo
integer :: n_row,n_col, nrow_a, nztota integer :: n_row,n_col, nrow_a, nztota
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
integer :: np,me,i, err_act, debug_unit, debug_level integer(psb_ipk_) :: np,me,i, err_act, debug_unit, debug_level
character(len=20) :: name='s_slu_solver_bld', ch_err character(len=20) :: name='s_slu_solver_bld', ch_err
info=psb_success_ info=psb_success_
@ -87,7 +88,7 @@ subroutine amg_c_slu_solver_apply_vect(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_c_vect_type),intent(inout), optional :: initu type(psb_c_vect_type),intent(inout), optional :: initu
integer :: err_act integer(psb_ipk_) :: err_act
character(len=20) :: name='s_slu_solver_apply_vect' character(len=20) :: name='s_slu_solver_apply_vect'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
@ -127,10 +128,10 @@ subroutine amg_c_slu_solver_apply(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
complex(psb_spk_),intent(inout), optional :: initu(:) complex(psb_spk_),intent(inout), optional :: initu(:)
integer :: n_row,n_col integer(psb_ipk_) :: n_row,n_col
complex(psb_spk_), pointer :: ww(:) complex(psb_spk_), pointer :: ww(:)
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
integer :: np,me,i, err_act integer(psb_ipk_) :: np,me,i, err_act
character :: trans_ character :: trans_
character(len=20) :: name='s_slu_solver_apply' character(len=20) :: name='s_slu_solver_apply'
@ -200,3 +201,4 @@ subroutine amg_c_slu_solver_apply(alpha,sv,x,beta,y,desc_data,&
return return
end subroutine amg_c_slu_solver_apply end subroutine amg_c_slu_solver_apply
#endif

@ -1,3 +1,4 @@
#if !defined(PSB_IPK8)
subroutine amg_c_umf_solver_apply(alpha,sv,x,beta,y,desc_data,& subroutine amg_c_umf_solver_apply(alpha,sv,x,beta,y,desc_data,&
& trans,work,info,init,initu) & trans,work,info,init,initu)
use psb_base_mod use psb_base_mod
@ -14,7 +15,7 @@ subroutine amg_c_umf_solver_apply(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
complex(psb_spk_),intent(inout), optional :: initu(:) complex(psb_spk_),intent(inout), optional :: initu(:)
integer :: n_row,n_col integer(psb_ipk_) :: n_row,n_col
complex(psb_spk_), pointer :: ww(:) complex(psb_spk_), pointer :: ww(:)
integer(psb_ipk_) :: i, err_act integer(psb_ipk_) :: i, err_act
character :: trans_ character :: trans_
@ -108,7 +109,7 @@ subroutine amg_c_umf_solver_apply_vect(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_c_vect_type),intent(inout), optional :: initu type(psb_c_vect_type),intent(inout), optional :: initu
integer :: err_act integer(psb_ipk_) :: err_act
character(len=20) :: name='c_umf_solver_apply_vect' character(len=20) :: name='c_umf_solver_apply_vect'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
@ -152,7 +153,7 @@ subroutine amg_c_umf_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
type(psb_c_csc_sparse_mat) :: acsc type(psb_c_csc_sparse_mat) :: acsc
integer :: n_row,n_col, nrow_a, nztota integer :: n_row,n_col, nrow_a, nztota
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
integer :: np,me,i, err_act, debug_unit, debug_level integer(psb_ipk_) :: np,me,i, err_act, debug_unit, debug_level
character(len=20) :: name='c_umf_solver_bld', ch_err character(len=20) :: name='c_umf_solver_bld', ch_err
info=psb_success_ info=psb_success_
@ -200,3 +201,4 @@ subroutine amg_c_umf_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
9999 call psb_error_handler(err_act) 9999 call psb_error_handler(err_act)
return return
end subroutine amg_c_umf_solver_bld end subroutine amg_c_umf_solver_bld
#endif

@ -1,3 +1,4 @@
#if !defined(PSB_IPK8)
subroutine amg_d_slu_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold) subroutine amg_d_slu_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
use psb_base_mod use psb_base_mod
@ -19,7 +20,7 @@ subroutine amg_d_slu_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
type(psb_d_coo_sparse_mat) :: acoo type(psb_d_coo_sparse_mat) :: acoo
integer :: n_row,n_col, nrow_a, nztota integer :: n_row,n_col, nrow_a, nztota
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
integer :: np,me,i, err_act, debug_unit, debug_level integer(psb_ipk_) :: np,me,i, err_act, debug_unit, debug_level
character(len=20) :: name='s_slu_solver_bld', ch_err character(len=20) :: name='s_slu_solver_bld', ch_err
info=psb_success_ info=psb_success_
@ -87,7 +88,7 @@ subroutine amg_d_slu_solver_apply_vect(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_d_vect_type),intent(inout), optional :: initu type(psb_d_vect_type),intent(inout), optional :: initu
integer :: err_act integer(psb_ipk_) :: err_act
character(len=20) :: name='s_slu_solver_apply_vect' character(len=20) :: name='s_slu_solver_apply_vect'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
@ -127,10 +128,10 @@ subroutine amg_d_slu_solver_apply(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
real(psb_dpk_),intent(inout), optional :: initu(:) real(psb_dpk_),intent(inout), optional :: initu(:)
integer :: n_row,n_col integer(psb_ipk_) :: n_row,n_col
real(psb_dpk_), pointer :: ww(:) real(psb_dpk_), pointer :: ww(:)
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
integer :: np,me,i, err_act integer(psb_ipk_) :: np,me,i, err_act
character :: trans_ character :: trans_
character(len=20) :: name='s_slu_solver_apply' character(len=20) :: name='s_slu_solver_apply'
@ -200,3 +201,4 @@ subroutine amg_d_slu_solver_apply(alpha,sv,x,beta,y,desc_data,&
return return
end subroutine amg_d_slu_solver_apply end subroutine amg_d_slu_solver_apply
#endif

@ -1,3 +1,4 @@
#if !defined(PSB_IPK8)
subroutine amg_d_umf_solver_apply(alpha,sv,x,beta,y,desc_data,& subroutine amg_d_umf_solver_apply(alpha,sv,x,beta,y,desc_data,&
& trans,work,info,init,initu) & trans,work,info,init,initu)
use psb_base_mod use psb_base_mod
@ -14,7 +15,7 @@ subroutine amg_d_umf_solver_apply(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
real(psb_dpk_),intent(inout), optional :: initu(:) real(psb_dpk_),intent(inout), optional :: initu(:)
integer :: n_row,n_col integer(psb_ipk_) :: n_row,n_col
real(psb_dpk_), pointer :: ww(:) real(psb_dpk_), pointer :: ww(:)
integer(psb_ipk_) :: i, err_act integer(psb_ipk_) :: i, err_act
character :: trans_ character :: trans_
@ -108,7 +109,7 @@ subroutine amg_d_umf_solver_apply_vect(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_d_vect_type),intent(inout), optional :: initu type(psb_d_vect_type),intent(inout), optional :: initu
integer :: err_act integer(psb_ipk_) :: err_act
character(len=20) :: name='d_umf_solver_apply_vect' character(len=20) :: name='d_umf_solver_apply_vect'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
@ -152,7 +153,7 @@ subroutine amg_d_umf_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
type(psb_d_csc_sparse_mat) :: acsc type(psb_d_csc_sparse_mat) :: acsc
integer :: n_row,n_col, nrow_a, nztota integer :: n_row,n_col, nrow_a, nztota
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
integer :: np,me,i, err_act, debug_unit, debug_level integer(psb_ipk_) :: np,me,i, err_act, debug_unit, debug_level
character(len=20) :: name='d_umf_solver_bld', ch_err character(len=20) :: name='d_umf_solver_bld', ch_err
info=psb_success_ info=psb_success_
@ -200,3 +201,4 @@ subroutine amg_d_umf_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
9999 call psb_error_handler(err_act) 9999 call psb_error_handler(err_act)
return return
end subroutine amg_d_umf_solver_bld end subroutine amg_d_umf_solver_bld
#endif

@ -1,3 +1,4 @@
#if !defined(PSB_IPK8)
subroutine amg_s_slu_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold) subroutine amg_s_slu_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
use psb_base_mod use psb_base_mod
@ -19,7 +20,7 @@ subroutine amg_s_slu_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
type(psb_s_coo_sparse_mat) :: acoo type(psb_s_coo_sparse_mat) :: acoo
integer :: n_row,n_col, nrow_a, nztota integer :: n_row,n_col, nrow_a, nztota
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
integer :: np,me,i, err_act, debug_unit, debug_level integer(psb_ipk_) :: np,me,i, err_act, debug_unit, debug_level
character(len=20) :: name='s_slu_solver_bld', ch_err character(len=20) :: name='s_slu_solver_bld', ch_err
info=psb_success_ info=psb_success_
@ -87,7 +88,7 @@ subroutine amg_s_slu_solver_apply_vect(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_s_vect_type),intent(inout), optional :: initu type(psb_s_vect_type),intent(inout), optional :: initu
integer :: err_act integer(psb_ipk_) :: err_act
character(len=20) :: name='s_slu_solver_apply_vect' character(len=20) :: name='s_slu_solver_apply_vect'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
@ -127,10 +128,10 @@ subroutine amg_s_slu_solver_apply(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
real(psb_spk_),intent(inout), optional :: initu(:) real(psb_spk_),intent(inout), optional :: initu(:)
integer :: n_row,n_col integer(psb_ipk_) :: n_row,n_col
real(psb_spk_), pointer :: ww(:) real(psb_spk_), pointer :: ww(:)
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
integer :: np,me,i, err_act integer(psb_ipk_) :: np,me,i, err_act
character :: trans_ character :: trans_
character(len=20) :: name='s_slu_solver_apply' character(len=20) :: name='s_slu_solver_apply'
@ -200,3 +201,4 @@ subroutine amg_s_slu_solver_apply(alpha,sv,x,beta,y,desc_data,&
return return
end subroutine amg_s_slu_solver_apply end subroutine amg_s_slu_solver_apply
#endif

@ -1,3 +1,4 @@
#if !defined(PSB_IPK8)
subroutine amg_s_umf_solver_apply(alpha,sv,x,beta,y,desc_data,& subroutine amg_s_umf_solver_apply(alpha,sv,x,beta,y,desc_data,&
& trans,work,info,init,initu) & trans,work,info,init,initu)
use psb_base_mod use psb_base_mod
@ -14,7 +15,7 @@ subroutine amg_s_umf_solver_apply(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
real(psb_spk_),intent(inout), optional :: initu(:) real(psb_spk_),intent(inout), optional :: initu(:)
integer :: n_row,n_col integer(psb_ipk_) :: n_row,n_col
real(psb_spk_), pointer :: ww(:) real(psb_spk_), pointer :: ww(:)
integer(psb_ipk_) :: i, err_act integer(psb_ipk_) :: i, err_act
character :: trans_ character :: trans_
@ -108,7 +109,7 @@ subroutine amg_s_umf_solver_apply_vect(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_s_vect_type),intent(inout), optional :: initu type(psb_s_vect_type),intent(inout), optional :: initu
integer :: err_act integer(psb_ipk_) :: err_act
character(len=20) :: name='s_umf_solver_apply_vect' character(len=20) :: name='s_umf_solver_apply_vect'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
@ -152,7 +153,7 @@ subroutine amg_s_umf_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
type(psb_s_csc_sparse_mat) :: acsc type(psb_s_csc_sparse_mat) :: acsc
integer :: n_row,n_col, nrow_a, nztota integer :: n_row,n_col, nrow_a, nztota
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
integer :: np,me,i, err_act, debug_unit, debug_level integer(psb_ipk_) :: np,me,i, err_act, debug_unit, debug_level
character(len=20) :: name='s_umf_solver_bld', ch_err character(len=20) :: name='s_umf_solver_bld', ch_err
info=psb_success_ info=psb_success_
@ -200,3 +201,4 @@ subroutine amg_s_umf_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
9999 call psb_error_handler(err_act) 9999 call psb_error_handler(err_act)
return return
end subroutine amg_s_umf_solver_bld end subroutine amg_s_umf_solver_bld
#endif

@ -1,3 +1,4 @@
#if !defined(PSB_IPK8)
subroutine amg_z_slu_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold) subroutine amg_z_slu_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
use psb_base_mod use psb_base_mod
@ -19,7 +20,7 @@ subroutine amg_z_slu_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
type(psb_z_coo_sparse_mat) :: acoo type(psb_z_coo_sparse_mat) :: acoo
integer :: n_row,n_col, nrow_a, nztota integer :: n_row,n_col, nrow_a, nztota
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
integer :: np,me,i, err_act, debug_unit, debug_level integer(psb_ipk_) :: np,me,i, err_act, debug_unit, debug_level
character(len=20) :: name='s_slu_solver_bld', ch_err character(len=20) :: name='s_slu_solver_bld', ch_err
info=psb_success_ info=psb_success_
@ -87,7 +88,7 @@ subroutine amg_z_slu_solver_apply_vect(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_z_vect_type),intent(inout), optional :: initu type(psb_z_vect_type),intent(inout), optional :: initu
integer :: err_act integer(psb_ipk_) :: err_act
character(len=20) :: name='s_slu_solver_apply_vect' character(len=20) :: name='s_slu_solver_apply_vect'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
@ -127,10 +128,10 @@ subroutine amg_z_slu_solver_apply(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
complex(psb_dpk_),intent(inout), optional :: initu(:) complex(psb_dpk_),intent(inout), optional :: initu(:)
integer :: n_row,n_col integer(psb_ipk_) :: n_row,n_col
complex(psb_dpk_), pointer :: ww(:) complex(psb_dpk_), pointer :: ww(:)
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
integer :: np,me,i, err_act integer(psb_ipk_) :: np,me,i, err_act
character :: trans_ character :: trans_
character(len=20) :: name='s_slu_solver_apply' character(len=20) :: name='s_slu_solver_apply'
@ -200,3 +201,4 @@ subroutine amg_z_slu_solver_apply(alpha,sv,x,beta,y,desc_data,&
return return
end subroutine amg_z_slu_solver_apply end subroutine amg_z_slu_solver_apply
#endif

@ -1,3 +1,4 @@
#if !defined(PSB_IPK8)
subroutine amg_z_umf_solver_apply(alpha,sv,x,beta,y,desc_data,& subroutine amg_z_umf_solver_apply(alpha,sv,x,beta,y,desc_data,&
& trans,work,info,init,initu) & trans,work,info,init,initu)
use psb_base_mod use psb_base_mod
@ -14,7 +15,7 @@ subroutine amg_z_umf_solver_apply(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
complex(psb_dpk_),intent(inout), optional :: initu(:) complex(psb_dpk_),intent(inout), optional :: initu(:)
integer :: n_row,n_col integer(psb_ipk_) :: n_row,n_col
complex(psb_dpk_), pointer :: ww(:) complex(psb_dpk_), pointer :: ww(:)
integer(psb_ipk_) :: i, err_act integer(psb_ipk_) :: i, err_act
character :: trans_ character :: trans_
@ -108,7 +109,7 @@ subroutine amg_z_umf_solver_apply_vect(alpha,sv,x,beta,y,desc_data,&
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_z_vect_type),intent(inout), optional :: initu type(psb_z_vect_type),intent(inout), optional :: initu
integer :: err_act integer(psb_ipk_) :: err_act
character(len=20) :: name='z_umf_solver_apply_vect' character(len=20) :: name='z_umf_solver_apply_vect'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
@ -152,7 +153,7 @@ subroutine amg_z_umf_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
type(psb_z_csc_sparse_mat) :: acsc type(psb_z_csc_sparse_mat) :: acsc
integer :: n_row,n_col, nrow_a, nztota integer :: n_row,n_col, nrow_a, nztota
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
integer :: np,me,i, err_act, debug_unit, debug_level integer(psb_ipk_) :: np,me,i, err_act, debug_unit, debug_level
character(len=20) :: name='z_umf_solver_bld', ch_err character(len=20) :: name='z_umf_solver_bld', ch_err
info=psb_success_ info=psb_success_
@ -200,3 +201,4 @@ subroutine amg_z_umf_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
9999 call psb_error_handler(err_act) 9999 call psb_error_handler(err_act)
return return
end subroutine amg_z_umf_solver_bld end subroutine amg_z_umf_solver_bld
#endif

@ -266,8 +266,9 @@ contains
npdims = 0 npdims = 0
#if defined(PSB_SERIAL_MPI) #if defined(PSB_SERIAL_MPI)
npdims = 1 npdims = 1
#else #else
call mpi_dims_create(np,3,npdims,info) npp = np
call mpi_dims_create(npp,3,npdims,minfo)
#endif #endif
npx = npdims(1) npx = npdims(1)
npy = npdims(2) npy = npdims(2)
@ -734,7 +735,8 @@ contains
#if defined(PSB_SERIAL_MPI) #if defined(PSB_SERIAL_MPI)
npdims = 1 npdims = 1
#else #else
call mpi_dims_create(np,2,npdims,info) npp = np
call mpi_dims_create(npp,3,npdims,minfo)
#endif #endif
npx = npdims(1) npx = npdims(1)
npy = npdims(2) npy = npdims(2)

@ -266,8 +266,9 @@ contains
npdims = 0 npdims = 0
#if defined(PSB_SERIAL_MPI) #if defined(PSB_SERIAL_MPI)
npdims = 1 npdims = 1
#else #else
call mpi_dims_create(np,3,npdims,info) npp = np
call mpi_dims_create(npp,3,npdims,minfo)
#endif #endif
npx = npdims(1) npx = npdims(1)
npy = npdims(2) npy = npdims(2)
@ -734,7 +735,8 @@ contains
#if defined(PSB_SERIAL_MPI) #if defined(PSB_SERIAL_MPI)
npdims = 1 npdims = 1
#else #else
call mpi_dims_create(np,2,npdims,info) npp = np
call mpi_dims_create(npp,3,npdims,minfo)
#endif #endif
npx = npdims(1) npx = npdims(1)
npy = npdims(2) npy = npdims(2)

@ -230,7 +230,8 @@ contains
! A nifty MPI function will split the process list ! A nifty MPI function will split the process list
npdims = 0 npdims = 0
call mpi_dims_create(np,3,npdims,info) npp = np
call mpi_dims_create(npp,3,npdims,minfo)
npx = npdims(1) npx = npdims(1)
npy = npdims(2) npy = npdims(2)
npz = npdims(3) npz = npdims(3)

@ -230,7 +230,8 @@ contains
! A nifty MPI function will split the process list ! A nifty MPI function will split the process list
npdims = 0 npdims = 0
call mpi_dims_create(np,3,npdims,info) npp = np
call mpi_dims_create(npp,3,npdims,minfo)
npx = npdims(1) npx = npdims(1)
npy = npdims(2) npy = npdims(2)
npz = npdims(3) npz = npdims(3)

Loading…
Cancel
Save