mld2p4-2:

1. Fix inner_mod to avoid duplicate interfaces for MLD_ILU*
2. Fix configry to check for SERIAL_MPI
stopcriterion
Salvatore Filippone 16 years ago
parent ac62ac7db5
commit dd22c4ca47

@ -858,3 +858,34 @@ CPPFLAGS="$save_CPPFLAGS";
CC="$save_CC"; CC="$save_CC";
])dnl ])dnl
dnl @synopsis PAC_ARG_SERIAL_MPI
dnl
dnl Test for --with-serial-mpi={yes|no}
dnl
dnl
dnl
dnl Example use:
dnl
dnl
dnl @author Salvatore Filippone <salvatore.filippone@uniroma2.it>
dnl
AC_DEFUN([PAC_ARG_SERIAL_MPI],
[
AC_MSG_CHECKING([whether we want serial (fake) mpi])
AC_ARG_ENABLE(serial,
AC_HELP_STRING([--enable-serial],
[Specify whether to enable a fake mpi library to run in serial mode. ]),
[
pac_cv_serial_mpi="yes";
]
dnl ,
dnl [pac_cv_serial_mpi="no";]
)
if test x"$pac_cv_serial_mpi" == x"yes" ; then
AC_MSG_RESULT([yes.])
else
pac_cv_serial_mpi="no";
AC_MSG_RESULT([no.])
fi
]
)

30
configure vendored

@ -719,6 +719,7 @@ with_psblas
with_libs with_libs
with_umfpack with_umfpack
with_umfpackdir with_umfpackdir
enable_serial
with_superlu with_superlu
with_superludir with_superludir
with_superludist with_superludist
@ -1357,6 +1358,13 @@ if test -n "$ac_init_help"; then
esac esac
cat <<\_ACEOF cat <<\_ACEOF
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-serial Specify whether to enable a fake mpi library to run
in serial mode.
Optional Packages: Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
@ -4400,7 +4408,27 @@ else
UMF_FLAGS="" UMF_FLAGS=""
fi fi
PAC_ARG_SERIAL_MPI
{ $as_echo "$as_me:$LINENO: checking whether we want serial (fake) mpi" >&5
$as_echo_n "checking whether we want serial (fake) mpi... " >&6; }
# Check whether --enable-serial was given.
if test "${enable_serial+set}" = set; then
enableval=$enable_serial;
pac_cv_serial_mpi="yes";
fi
if test x"$pac_cv_serial_mpi" == x"yes" ; then
{ $as_echo "$as_me:$LINENO: result: yes." >&5
$as_echo "yes." >&6; }
else
pac_cv_serial_mpi="no";
{ $as_echo "$as_me:$LINENO: result: no." >&5
$as_echo "no." >&6; }
fi
#Note : we miss the name of the Intel C compiler #Note : we miss the name of the Intel C compiler
if test x"$pac_cv_serial_mpi" == x"yes" ; then if test x"$pac_cv_serial_mpi" == x"yes" ; then

@ -938,129 +938,129 @@ module mld_inner_mod
end subroutine mld_zumf_bld end subroutine mld_zumf_bld
end interface end interface
interface mld_ilu0_fact !!$ interface mld_ilu0_fact
subroutine mld_silu0_fact(ialg,a,l,u,d,info,blck,upd) !!$ subroutine mld_silu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: ialg !!$ integer, intent(in) :: ialg
integer, intent(out) :: info !!$ integer, intent(out) :: info
type(psb_s_sparse_mat),intent(in) :: a !!$ type(psb_s_sparse_mat),intent(in) :: a
type(psb_s_sparse_mat),intent(inout) :: l,u !!$ type(psb_s_sparse_mat),intent(inout) :: l,u
type(psb_s_sparse_mat),intent(in), optional, target :: blck !!$ type(psb_s_sparse_mat),intent(in), optional, target :: blck
character, intent(in), optional :: upd !!$ character, intent(in), optional :: upd
real(psb_spk_), intent(inout) :: d(:) !!$ real(psb_spk_), intent(inout) :: d(:)
end subroutine mld_silu0_fact !!$ end subroutine mld_silu0_fact
subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck,upd) !!$ subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: ialg !!$ integer, intent(in) :: ialg
integer, intent(out) :: info !!$ integer, intent(out) :: info
type(psb_d_sparse_mat),intent(in) :: a !!$ type(psb_d_sparse_mat),intent(in) :: a
type(psb_d_sparse_mat),intent(inout) :: l,u !!$ type(psb_d_sparse_mat),intent(inout) :: l,u
type(psb_d_sparse_mat),intent(in), optional, target :: blck !!$ type(psb_d_sparse_mat),intent(in), optional, target :: blck
character, intent(in), optional :: upd !!$ character, intent(in), optional :: upd
real(psb_dpk_), intent(inout) :: d(:) !!$ real(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_dilu0_fact !!$ end subroutine mld_dilu0_fact
subroutine mld_cilu0_fact(ialg,a,l,u,d,info,blck,upd) !!$ subroutine mld_cilu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: ialg !!$ integer, intent(in) :: ialg
integer, intent(out) :: info !!$ integer, intent(out) :: info
type(psb_c_sparse_mat),intent(in) :: a !!$ type(psb_c_sparse_mat),intent(in) :: a
type(psb_c_sparse_mat),intent(inout) :: l,u !!$ type(psb_c_sparse_mat),intent(inout) :: l,u
type(psb_c_sparse_mat),intent(in), optional, target :: blck !!$ type(psb_c_sparse_mat),intent(in), optional, target :: blck
character, intent(in), optional :: upd !!$ character, intent(in), optional :: upd
complex(psb_spk_), intent(inout) :: d(:) !!$ complex(psb_spk_), intent(inout) :: d(:)
end subroutine mld_cilu0_fact !!$ end subroutine mld_cilu0_fact
subroutine mld_zilu0_fact(ialg,a,l,u,d,info,blck,upd) !!$ subroutine mld_zilu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: ialg !!$ integer, intent(in) :: ialg
integer, intent(out) :: info !!$ integer, intent(out) :: info
type(psb_z_sparse_mat),intent(in) :: a !!$ type(psb_z_sparse_mat),intent(in) :: a
type(psb_z_sparse_mat),intent(inout) :: l,u !!$ type(psb_z_sparse_mat),intent(inout) :: l,u
type(psb_z_sparse_mat),intent(in), optional, target :: blck !!$ type(psb_z_sparse_mat),intent(in), optional, target :: blck
character, intent(in), optional :: upd !!$ character, intent(in), optional :: upd
complex(psb_dpk_), intent(inout) :: d(:) !!$ complex(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_zilu0_fact !!$ end subroutine mld_zilu0_fact
end interface !!$ end interface
!!$
interface mld_iluk_fact !!$ interface mld_iluk_fact
subroutine mld_siluk_fact(fill_in,ialg,a,l,u,d,info,blck) !!$ subroutine mld_siluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: fill_in,ialg !!$ integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info !!$ integer, intent(out) :: info
type(psb_s_sparse_mat),intent(in) :: a !!$ type(psb_s_sparse_mat),intent(in) :: a
type(psb_s_sparse_mat),intent(inout) :: l,u !!$ type(psb_s_sparse_mat),intent(inout) :: l,u
type(psb_s_sparse_mat),intent(in), optional, target :: blck !!$ type(psb_s_sparse_mat),intent(in), optional, target :: blck
real(psb_spk_), intent(inout) :: d(:) !!$ real(psb_spk_), intent(inout) :: d(:)
end subroutine mld_siluk_fact !!$ end subroutine mld_siluk_fact
subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck) !!$ subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: fill_in,ialg !!$ integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info !!$ integer, intent(out) :: info
type(psb_d_sparse_mat),intent(in) :: a !!$ type(psb_d_sparse_mat),intent(in) :: a
type(psb_d_sparse_mat),intent(inout) :: l,u !!$ type(psb_d_sparse_mat),intent(inout) :: l,u
type(psb_d_sparse_mat),intent(in), optional, target :: blck !!$ type(psb_d_sparse_mat),intent(in), optional, target :: blck
real(psb_dpk_), intent(inout) :: d(:) !!$ real(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_diluk_fact !!$ end subroutine mld_diluk_fact
subroutine mld_ciluk_fact(fill_in,ialg,a,l,u,d,info,blck) !!$ subroutine mld_ciluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: fill_in,ialg !!$ integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info !!$ integer, intent(out) :: info
type(psb_c_sparse_mat),intent(in) :: a !!$ type(psb_c_sparse_mat),intent(in) :: a
type(psb_c_sparse_mat),intent(inout) :: l,u !!$ type(psb_c_sparse_mat),intent(inout) :: l,u
type(psb_c_sparse_mat),intent(in), optional, target :: blck !!$ type(psb_c_sparse_mat),intent(in), optional, target :: blck
complex(psb_spk_), intent(inout) :: d(:) !!$ complex(psb_spk_), intent(inout) :: d(:)
end subroutine mld_ciluk_fact !!$ end subroutine mld_ciluk_fact
subroutine mld_ziluk_fact(fill_in,ialg,a,l,u,d,info,blck) !!$ subroutine mld_ziluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: fill_in,ialg !!$ integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info !!$ integer, intent(out) :: info
type(psb_z_sparse_mat),intent(in) :: a !!$ type(psb_z_sparse_mat),intent(in) :: a
type(psb_z_sparse_mat),intent(inout) :: l,u !!$ type(psb_z_sparse_mat),intent(inout) :: l,u
type(psb_z_sparse_mat),intent(in), optional, target :: blck !!$ type(psb_z_sparse_mat),intent(in), optional, target :: blck
complex(psb_dpk_), intent(inout) :: d(:) !!$ complex(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_ziluk_fact !!$ end subroutine mld_ziluk_fact
end interface !!$ end interface
!!$
interface mld_ilut_fact !!$ interface mld_ilut_fact
subroutine mld_silut_fact(fill_in,thres,a,l,u,d,info,blck) !!$ subroutine mld_silut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: fill_in !!$ integer, intent(in) :: fill_in
real(psb_spk_), intent(in) :: thres !!$ real(psb_spk_), intent(in) :: thres
integer, intent(out) :: info !!$ integer, intent(out) :: info
type(psb_s_sparse_mat),intent(in) :: a !!$ type(psb_s_sparse_mat),intent(in) :: a
type(psb_s_sparse_mat),intent(inout) :: l,u !!$ type(psb_s_sparse_mat),intent(inout) :: l,u
type(psb_s_sparse_mat),intent(in), optional, target :: blck !!$ type(psb_s_sparse_mat),intent(in), optional, target :: blck
real(psb_spk_), intent(inout) :: d(:) !!$ real(psb_spk_), intent(inout) :: d(:)
end subroutine mld_silut_fact !!$ end subroutine mld_silut_fact
subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck) !!$ subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: fill_in !!$ integer, intent(in) :: fill_in
real(psb_dpk_), intent(in) :: thres !!$ real(psb_dpk_), intent(in) :: thres
integer, intent(out) :: info !!$ integer, intent(out) :: info
type(psb_d_sparse_mat),intent(in) :: a !!$ type(psb_d_sparse_mat),intent(in) :: a
type(psb_d_sparse_mat),intent(inout) :: l,u !!$ type(psb_d_sparse_mat),intent(inout) :: l,u
type(psb_d_sparse_mat),intent(in), optional, target :: blck !!$ type(psb_d_sparse_mat),intent(in), optional, target :: blck
real(psb_dpk_), intent(inout) :: d(:) !!$ real(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_dilut_fact !!$ end subroutine mld_dilut_fact
subroutine mld_cilut_fact(fill_in,thres,a,l,u,d,info,blck) !!$ subroutine mld_cilut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: fill_in !!$ integer, intent(in) :: fill_in
real(psb_spk_), intent(in) :: thres !!$ real(psb_spk_), intent(in) :: thres
integer, intent(out) :: info !!$ integer, intent(out) :: info
type(psb_c_sparse_mat),intent(in) :: a !!$ type(psb_c_sparse_mat),intent(in) :: a
type(psb_c_sparse_mat),intent(inout) :: l,u !!$ type(psb_c_sparse_mat),intent(inout) :: l,u
type(psb_c_sparse_mat),intent(in), optional, target :: blck !!$ type(psb_c_sparse_mat),intent(in), optional, target :: blck
complex(psb_spk_), intent(inout) :: d(:) !!$ complex(psb_spk_), intent(inout) :: d(:)
end subroutine mld_cilut_fact !!$ end subroutine mld_cilut_fact
subroutine mld_zilut_fact(fill_in,thres,a,l,u,d,info,blck) !!$ subroutine mld_zilut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: fill_in !!$ integer, intent(in) :: fill_in
real(psb_dpk_), intent(in) :: thres !!$ real(psb_dpk_), intent(in) :: thres
integer, intent(out) :: info !!$ integer, intent(out) :: info
type(psb_z_sparse_mat),intent(in) :: a !!$ type(psb_z_sparse_mat),intent(in) :: a
type(psb_z_sparse_mat),intent(inout) :: l,u !!$ type(psb_z_sparse_mat),intent(inout) :: l,u
type(psb_z_sparse_mat),intent(in), optional, target :: blck !!$ type(psb_z_sparse_mat),intent(in), optional, target :: blck
complex(psb_dpk_), intent(inout) :: d(:) !!$ complex(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_zilut_fact !!$ end subroutine mld_zilut_fact
end interface !!$ end interface
end module mld_inner_mod end module mld_inner_mod

Loading…
Cancel
Save