config/pac.m4
 mlprec/mld_c_prec_type.f90
 mlprec/mld_d_prec_type.f90
 mlprec/mld_s_prec_type.f90
 mlprec/mld_z_prec_type.f90

Fix INTENT on prec application
stopcriterion
Salvatore Filippone 9 years ago
parent cd6db8e3ed
commit 43cba92924

@ -141,7 +141,7 @@ dnl Warning : square brackets are EVIL!
[ [
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
program main program main
#if ( __GNUC__ >= 4 && __GNUC_MINOR__ > 2 ) || ( __GNUC__ > 4 ) #if ( __GNUC__ >= 4 && __GNUC_MINOR__ > 6 ) || ( __GNUC__ > 4 )
print *, "ok" print *, "ok"
#else #else
this program will fail this program will fail

@ -645,7 +645,7 @@ contains
subroutine mld_c_apply2v(prec,x,y,desc_data,info,trans,work) subroutine mld_c_apply2v(prec,x,y,desc_data,info,trans,work)
implicit none implicit none
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_cprec_type), intent(in) :: prec class(mld_cprec_type), intent(inout) :: prec
complex(psb_spk_),intent(inout) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
@ -676,7 +676,7 @@ contains
subroutine mld_c_apply1v(prec,x,desc_data,info,trans) subroutine mld_c_apply1v(prec,x,desc_data,info,trans)
implicit none implicit none
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_cprec_type), intent(in) :: prec class(mld_cprec_type), intent(inout) :: prec
complex(psb_spk_),intent(inout) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans

@ -645,7 +645,7 @@ contains
subroutine mld_d_apply2v(prec,x,y,desc_data,info,trans,work) subroutine mld_d_apply2v(prec,x,y,desc_data,info,trans,work)
implicit none implicit none
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_dprec_type), intent(in) :: prec class(mld_dprec_type), intent(inout) :: prec
real(psb_dpk_),intent(inout) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
@ -676,7 +676,7 @@ contains
subroutine mld_d_apply1v(prec,x,desc_data,info,trans) subroutine mld_d_apply1v(prec,x,desc_data,info,trans)
implicit none implicit none
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_dprec_type), intent(in) :: prec class(mld_dprec_type), intent(inout) :: prec
real(psb_dpk_),intent(inout) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans

@ -645,7 +645,7 @@ contains
subroutine mld_s_apply2v(prec,x,y,desc_data,info,trans,work) subroutine mld_s_apply2v(prec,x,y,desc_data,info,trans,work)
implicit none implicit none
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_sprec_type), intent(in) :: prec class(mld_sprec_type), intent(inout) :: prec
real(psb_spk_),intent(inout) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
@ -676,7 +676,7 @@ contains
subroutine mld_s_apply1v(prec,x,desc_data,info,trans) subroutine mld_s_apply1v(prec,x,desc_data,info,trans)
implicit none implicit none
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_sprec_type), intent(in) :: prec class(mld_sprec_type), intent(inout) :: prec
real(psb_spk_),intent(inout) :: x(:) real(psb_spk_),intent(inout) :: x(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans

@ -645,7 +645,7 @@ contains
subroutine mld_z_apply2v(prec,x,y,desc_data,info,trans,work) subroutine mld_z_apply2v(prec,x,y,desc_data,info,trans,work)
implicit none implicit none
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_zprec_type), intent(in) :: prec class(mld_zprec_type), intent(inout) :: prec
complex(psb_dpk_),intent(inout) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
@ -676,7 +676,7 @@ contains
subroutine mld_z_apply1v(prec,x,desc_data,info,trans) subroutine mld_z_apply1v(prec,x,desc_data,info,trans)
implicit none implicit none
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_zprec_type), intent(in) :: prec class(mld_zprec_type), intent(inout) :: prec
complex(psb_dpk_),intent(inout) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans

@ -124,6 +124,7 @@ program df_sample
if(psb_get_errstatus() /= 0) goto 9999 if(psb_get_errstatus() /= 0) goto 9999
info=psb_success_ info=psb_success_
call psb_set_errverbosity(itwo) call psb_set_errverbosity(itwo)
call psb_cd_set_large_threshold(itwo)
! !
! Hello world ! Hello world
! !
@ -338,6 +339,8 @@ program df_sample
write(psb_out_unit,'("Total memory occupation for A : ",i12)')amatsize write(psb_out_unit,'("Total memory occupation for A : ",i12)')amatsize
write(psb_out_unit,'("Total memory occupation for DESC_A : ",i12)')descsize write(psb_out_unit,'("Total memory occupation for DESC_A : ",i12)')descsize
write(psb_out_unit,'("Total memory occupation for PREC : ",i12)')precsize write(psb_out_unit,'("Total memory occupation for PREC : ",i12)')precsize
write(psb_out_unit,'("Storage format for A : ",a )')a%get_fmt()
write(psb_out_unit,'("Storage format for DESC_A : ",a )')desc_a%get_fmt()
end if end if
call psb_gather(x_col_glob,x_col,desc_a,info,root=psb_root_) call psb_gather(x_col_glob,x_col,desc_a,info,root=psb_root_)

@ -1,9 +1,9 @@
thm_3180k.mtx ! This matrix (and others) from: http://math.nist.gov/MatrixMarket/ or thm1000x600.mtx ! This matrix (and others) from: http://math.nist.gov/MatrixMarket/ or
NONE ! rhs | http://www.cise.ufl.edu/research/sparse/matrices/index.html NONE ! rhs | http://www.cise.ufl.edu/research/sparse/matrices/index.html
MM ! MM !
BICGSTAB ! Iterative method: BiCGSTAB BiCG CGS RGMRES BiCGSTABL CG BICGSTAB ! Iterative method: BiCGSTAB BiCG CGS RGMRES BiCGSTABL CG
CSR ! Storage format: CSR COO JAD CSR ! Storage format: CSR COO JAD
0 ! IPART (partition method): 0 (block) 2 (graph, with Metis) 2 ! IPART (partition method): 0 (block) 2 (graph, with Metis)
2 ! ISTOPC 2 ! ISTOPC
00500 ! ITMAX 00500 ! ITMAX
02 ! ITRACE 02 ! ITRACE
@ -11,7 +11,7 @@ CSR ! Storage format: CSR COO JAD
1.d-5 ! EPS 1.d-5 ! EPS
3L-M-RAS-I-D4 ! Longer descriptive name for preconditioner (up to 20 chars) 3L-M-RAS-I-D4 ! Longer descriptive name for preconditioner (up to 20 chars)
ML ! Preconditioner type: NONE JACOBI BJAC AS ML ML ! Preconditioner type: NONE JACOBI BJAC AS ML
0 ! Number of overlap layers for AS preconditioner 1 ! Number of overlap layers for AS preconditioner
HALO ! AS restriction operator: NONE HALO HALO ! AS restriction operator: NONE HALO
NONE ! AS prolongation operator: NONE SUM AVG NONE ! AS prolongation operator: NONE SUM AVG
ILU ! AS subdomain solver: DSCALE ILU MILU ILUT UMF SLU ILU ! AS subdomain solver: DSCALE ILU MILU ILUT UMF SLU

@ -8,7 +8,7 @@ CSR ! Storage format CSR COO JAD
1.d-6 ! EPS 1.d-6 ! EPS
NL-MUL-RAS-BJAC4-ILU ! Descriptive name for preconditioner (up to 40 chars) NL-MUL-RAS-BJAC4-ILU ! Descriptive name for preconditioner (up to 40 chars)
ML ! Preconditioner NONE JACOBI BJAC AS ML ML ! Preconditioner NONE JACOBI BJAC AS ML
2 ! Number of overlap layers for AS preconditioner at finest level 1 ! Number of overlap layers for AS preconditioner at finest level
HALO ! Restriction operator NONE HALO HALO ! Restriction operator NONE HALO
NONE ! Prolongation operator NONE SUM AVG NONE ! Prolongation operator NONE SUM AVG
ILU ! Subdomain solver DSCALE ILU MILU ILUT UMF SLU ILU ! Subdomain solver DSCALE ILU MILU ILUT UMF SLU

Loading…
Cancel
Save