mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 22:55:12 +00:00
mld2p4-2:
1. Fix inner_mod to avoid duplicate interfaces for MLD_ILU* 2. Fix configry to check for SERIAL_MPI
This commit is contained in:
@@ -858,3 +858,34 @@ CPPFLAGS="$save_CPPFLAGS";
|
||||
CC="$save_CC";
|
||||
])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
|
||||
]
|
||||
)
|
||||
|
||||
@@ -719,6 +719,7 @@ with_psblas
|
||||
with_libs
|
||||
with_umfpack
|
||||
with_umfpackdir
|
||||
enable_serial
|
||||
with_superlu
|
||||
with_superludir
|
||||
with_superludist
|
||||
@@ -1357,6 +1358,13 @@ if test -n "$ac_init_help"; then
|
||||
esac
|
||||
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:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
||||
@@ -4400,7 +4408,27 @@ else
|
||||
UMF_FLAGS=""
|
||||
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
|
||||
if test x"$pac_cv_serial_mpi" == x"yes" ; then
|
||||
|
||||
+124
-124
@@ -938,129 +938,129 @@ module mld_inner_mod
|
||||
end subroutine mld_zumf_bld
|
||||
end interface
|
||||
|
||||
interface mld_ilu0_fact
|
||||
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_
|
||||
integer, intent(in) :: ialg
|
||||
integer, intent(out) :: info
|
||||
type(psb_s_sparse_mat),intent(in) :: a
|
||||
type(psb_s_sparse_mat),intent(inout) :: l,u
|
||||
type(psb_s_sparse_mat),intent(in), optional, target :: blck
|
||||
character, intent(in), optional :: upd
|
||||
real(psb_spk_), intent(inout) :: d(:)
|
||||
end subroutine mld_silu0_fact
|
||||
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_
|
||||
integer, intent(in) :: ialg
|
||||
integer, intent(out) :: info
|
||||
type(psb_d_sparse_mat),intent(in) :: a
|
||||
type(psb_d_sparse_mat),intent(inout) :: l,u
|
||||
type(psb_d_sparse_mat),intent(in), optional, target :: blck
|
||||
character, intent(in), optional :: upd
|
||||
real(psb_dpk_), intent(inout) :: d(:)
|
||||
end subroutine mld_dilu0_fact
|
||||
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_
|
||||
integer, intent(in) :: ialg
|
||||
integer, intent(out) :: info
|
||||
type(psb_c_sparse_mat),intent(in) :: a
|
||||
type(psb_c_sparse_mat),intent(inout) :: l,u
|
||||
type(psb_c_sparse_mat),intent(in), optional, target :: blck
|
||||
character, intent(in), optional :: upd
|
||||
complex(psb_spk_), intent(inout) :: d(:)
|
||||
end subroutine mld_cilu0_fact
|
||||
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_
|
||||
integer, intent(in) :: ialg
|
||||
integer, intent(out) :: info
|
||||
type(psb_z_sparse_mat),intent(in) :: a
|
||||
type(psb_z_sparse_mat),intent(inout) :: l,u
|
||||
type(psb_z_sparse_mat),intent(in), optional, target :: blck
|
||||
character, intent(in), optional :: upd
|
||||
complex(psb_dpk_), intent(inout) :: d(:)
|
||||
end subroutine mld_zilu0_fact
|
||||
end interface
|
||||
|
||||
interface mld_iluk_fact
|
||||
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_
|
||||
integer, intent(in) :: fill_in,ialg
|
||||
integer, intent(out) :: info
|
||||
type(psb_s_sparse_mat),intent(in) :: a
|
||||
type(psb_s_sparse_mat),intent(inout) :: l,u
|
||||
type(psb_s_sparse_mat),intent(in), optional, target :: blck
|
||||
real(psb_spk_), intent(inout) :: d(:)
|
||||
end subroutine mld_siluk_fact
|
||||
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_
|
||||
integer, intent(in) :: fill_in,ialg
|
||||
integer, intent(out) :: info
|
||||
type(psb_d_sparse_mat),intent(in) :: a
|
||||
type(psb_d_sparse_mat),intent(inout) :: l,u
|
||||
type(psb_d_sparse_mat),intent(in), optional, target :: blck
|
||||
real(psb_dpk_), intent(inout) :: d(:)
|
||||
end subroutine mld_diluk_fact
|
||||
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_
|
||||
integer, intent(in) :: fill_in,ialg
|
||||
integer, intent(out) :: info
|
||||
type(psb_c_sparse_mat),intent(in) :: a
|
||||
type(psb_c_sparse_mat),intent(inout) :: l,u
|
||||
type(psb_c_sparse_mat),intent(in), optional, target :: blck
|
||||
complex(psb_spk_), intent(inout) :: d(:)
|
||||
end subroutine mld_ciluk_fact
|
||||
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_
|
||||
integer, intent(in) :: fill_in,ialg
|
||||
integer, intent(out) :: info
|
||||
type(psb_z_sparse_mat),intent(in) :: a
|
||||
type(psb_z_sparse_mat),intent(inout) :: l,u
|
||||
type(psb_z_sparse_mat),intent(in), optional, target :: blck
|
||||
complex(psb_dpk_), intent(inout) :: d(:)
|
||||
end subroutine mld_ziluk_fact
|
||||
end interface
|
||||
|
||||
interface mld_ilut_fact
|
||||
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_
|
||||
integer, intent(in) :: fill_in
|
||||
real(psb_spk_), intent(in) :: thres
|
||||
integer, intent(out) :: info
|
||||
type(psb_s_sparse_mat),intent(in) :: a
|
||||
type(psb_s_sparse_mat),intent(inout) :: l,u
|
||||
type(psb_s_sparse_mat),intent(in), optional, target :: blck
|
||||
real(psb_spk_), intent(inout) :: d(:)
|
||||
end subroutine mld_silut_fact
|
||||
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_
|
||||
integer, intent(in) :: fill_in
|
||||
real(psb_dpk_), intent(in) :: thres
|
||||
integer, intent(out) :: info
|
||||
type(psb_d_sparse_mat),intent(in) :: a
|
||||
type(psb_d_sparse_mat),intent(inout) :: l,u
|
||||
type(psb_d_sparse_mat),intent(in), optional, target :: blck
|
||||
real(psb_dpk_), intent(inout) :: d(:)
|
||||
end subroutine mld_dilut_fact
|
||||
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_
|
||||
integer, intent(in) :: fill_in
|
||||
real(psb_spk_), intent(in) :: thres
|
||||
integer, intent(out) :: info
|
||||
type(psb_c_sparse_mat),intent(in) :: a
|
||||
type(psb_c_sparse_mat),intent(inout) :: l,u
|
||||
type(psb_c_sparse_mat),intent(in), optional, target :: blck
|
||||
complex(psb_spk_), intent(inout) :: d(:)
|
||||
end subroutine mld_cilut_fact
|
||||
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_
|
||||
integer, intent(in) :: fill_in
|
||||
real(psb_dpk_), intent(in) :: thres
|
||||
integer, intent(out) :: info
|
||||
type(psb_z_sparse_mat),intent(in) :: a
|
||||
type(psb_z_sparse_mat),intent(inout) :: l,u
|
||||
type(psb_z_sparse_mat),intent(in), optional, target :: blck
|
||||
complex(psb_dpk_), intent(inout) :: d(:)
|
||||
end subroutine mld_zilut_fact
|
||||
end interface
|
||||
!!$ interface mld_ilu0_fact
|
||||
!!$ 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_
|
||||
!!$ integer, intent(in) :: ialg
|
||||
!!$ integer, intent(out) :: info
|
||||
!!$ type(psb_s_sparse_mat),intent(in) :: a
|
||||
!!$ type(psb_s_sparse_mat),intent(inout) :: l,u
|
||||
!!$ type(psb_s_sparse_mat),intent(in), optional, target :: blck
|
||||
!!$ character, intent(in), optional :: upd
|
||||
!!$ real(psb_spk_), intent(inout) :: d(:)
|
||||
!!$ end subroutine mld_silu0_fact
|
||||
!!$ 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_
|
||||
!!$ integer, intent(in) :: ialg
|
||||
!!$ integer, intent(out) :: info
|
||||
!!$ type(psb_d_sparse_mat),intent(in) :: a
|
||||
!!$ type(psb_d_sparse_mat),intent(inout) :: l,u
|
||||
!!$ type(psb_d_sparse_mat),intent(in), optional, target :: blck
|
||||
!!$ character, intent(in), optional :: upd
|
||||
!!$ real(psb_dpk_), intent(inout) :: d(:)
|
||||
!!$ end subroutine mld_dilu0_fact
|
||||
!!$ 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_
|
||||
!!$ integer, intent(in) :: ialg
|
||||
!!$ integer, intent(out) :: info
|
||||
!!$ type(psb_c_sparse_mat),intent(in) :: a
|
||||
!!$ type(psb_c_sparse_mat),intent(inout) :: l,u
|
||||
!!$ type(psb_c_sparse_mat),intent(in), optional, target :: blck
|
||||
!!$ character, intent(in), optional :: upd
|
||||
!!$ complex(psb_spk_), intent(inout) :: d(:)
|
||||
!!$ end subroutine mld_cilu0_fact
|
||||
!!$ 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_
|
||||
!!$ integer, intent(in) :: ialg
|
||||
!!$ integer, intent(out) :: info
|
||||
!!$ type(psb_z_sparse_mat),intent(in) :: a
|
||||
!!$ type(psb_z_sparse_mat),intent(inout) :: l,u
|
||||
!!$ type(psb_z_sparse_mat),intent(in), optional, target :: blck
|
||||
!!$ character, intent(in), optional :: upd
|
||||
!!$ complex(psb_dpk_), intent(inout) :: d(:)
|
||||
!!$ end subroutine mld_zilu0_fact
|
||||
!!$ end interface
|
||||
!!$
|
||||
!!$ interface mld_iluk_fact
|
||||
!!$ 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_
|
||||
!!$ integer, intent(in) :: fill_in,ialg
|
||||
!!$ integer, intent(out) :: info
|
||||
!!$ type(psb_s_sparse_mat),intent(in) :: a
|
||||
!!$ type(psb_s_sparse_mat),intent(inout) :: l,u
|
||||
!!$ type(psb_s_sparse_mat),intent(in), optional, target :: blck
|
||||
!!$ real(psb_spk_), intent(inout) :: d(:)
|
||||
!!$ end subroutine mld_siluk_fact
|
||||
!!$ 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_
|
||||
!!$ integer, intent(in) :: fill_in,ialg
|
||||
!!$ integer, intent(out) :: info
|
||||
!!$ type(psb_d_sparse_mat),intent(in) :: a
|
||||
!!$ type(psb_d_sparse_mat),intent(inout) :: l,u
|
||||
!!$ type(psb_d_sparse_mat),intent(in), optional, target :: blck
|
||||
!!$ real(psb_dpk_), intent(inout) :: d(:)
|
||||
!!$ end subroutine mld_diluk_fact
|
||||
!!$ 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_
|
||||
!!$ integer, intent(in) :: fill_in,ialg
|
||||
!!$ integer, intent(out) :: info
|
||||
!!$ type(psb_c_sparse_mat),intent(in) :: a
|
||||
!!$ type(psb_c_sparse_mat),intent(inout) :: l,u
|
||||
!!$ type(psb_c_sparse_mat),intent(in), optional, target :: blck
|
||||
!!$ complex(psb_spk_), intent(inout) :: d(:)
|
||||
!!$ end subroutine mld_ciluk_fact
|
||||
!!$ 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_
|
||||
!!$ integer, intent(in) :: fill_in,ialg
|
||||
!!$ integer, intent(out) :: info
|
||||
!!$ type(psb_z_sparse_mat),intent(in) :: a
|
||||
!!$ type(psb_z_sparse_mat),intent(inout) :: l,u
|
||||
!!$ type(psb_z_sparse_mat),intent(in), optional, target :: blck
|
||||
!!$ complex(psb_dpk_), intent(inout) :: d(:)
|
||||
!!$ end subroutine mld_ziluk_fact
|
||||
!!$ end interface
|
||||
!!$
|
||||
!!$ interface mld_ilut_fact
|
||||
!!$ 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_
|
||||
!!$ integer, intent(in) :: fill_in
|
||||
!!$ real(psb_spk_), intent(in) :: thres
|
||||
!!$ integer, intent(out) :: info
|
||||
!!$ type(psb_s_sparse_mat),intent(in) :: a
|
||||
!!$ type(psb_s_sparse_mat),intent(inout) :: l,u
|
||||
!!$ type(psb_s_sparse_mat),intent(in), optional, target :: blck
|
||||
!!$ real(psb_spk_), intent(inout) :: d(:)
|
||||
!!$ end subroutine mld_silut_fact
|
||||
!!$ 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_
|
||||
!!$ integer, intent(in) :: fill_in
|
||||
!!$ real(psb_dpk_), intent(in) :: thres
|
||||
!!$ integer, intent(out) :: info
|
||||
!!$ type(psb_d_sparse_mat),intent(in) :: a
|
||||
!!$ type(psb_d_sparse_mat),intent(inout) :: l,u
|
||||
!!$ type(psb_d_sparse_mat),intent(in), optional, target :: blck
|
||||
!!$ real(psb_dpk_), intent(inout) :: d(:)
|
||||
!!$ end subroutine mld_dilut_fact
|
||||
!!$ 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_
|
||||
!!$ integer, intent(in) :: fill_in
|
||||
!!$ real(psb_spk_), intent(in) :: thres
|
||||
!!$ integer, intent(out) :: info
|
||||
!!$ type(psb_c_sparse_mat),intent(in) :: a
|
||||
!!$ type(psb_c_sparse_mat),intent(inout) :: l,u
|
||||
!!$ type(psb_c_sparse_mat),intent(in), optional, target :: blck
|
||||
!!$ complex(psb_spk_), intent(inout) :: d(:)
|
||||
!!$ end subroutine mld_cilut_fact
|
||||
!!$ 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_
|
||||
!!$ integer, intent(in) :: fill_in
|
||||
!!$ real(psb_dpk_), intent(in) :: thres
|
||||
!!$ integer, intent(out) :: info
|
||||
!!$ type(psb_z_sparse_mat),intent(in) :: a
|
||||
!!$ type(psb_z_sparse_mat),intent(inout) :: l,u
|
||||
!!$ type(psb_z_sparse_mat),intent(in), optional, target :: blck
|
||||
!!$ complex(psb_dpk_), intent(inout) :: d(:)
|
||||
!!$ end subroutine mld_zilut_fact
|
||||
!!$ end interface
|
||||
|
||||
end module mld_inner_mod
|
||||
|
||||
Reference in New Issue
Block a user