Allow both METIS 4 and METIS 5 interfaces.

new-parstruct
Salvatore Filippone 6 years ago
parent dbfedeebb5
commit 8bd2610b09

@ -1823,8 +1823,8 @@ fi
if test "x$pac_metis_lib_ok" == "xyes" ; then if test "x$pac_metis_lib_ok" == "xyes" ; then
AC_MSG_CHECKING([for METIS_SetDefaultOptions in $LIBS]) AC_MSG_CHECKING([for METIS_SetDefaultOptions in $LIBS])
AC_TRY_LINK_FUNC(METIS_SetDefaultOptions, AC_TRY_LINK_FUNC(METIS_SetDefaultOptions,
[psblas_cv_have_metis=yes;pac_metis_lib_ok=yes; ], [psblas_cv_metis_version="5"; ],
[psblas_cv_have_metis=no;pac_metis_lib_ok="no. Unusable METIS version, sorry."; METIS_LIBS=""]) [psblas_cv_metis_version="4"; ])
AC_MSG_RESULT($pac_metis_lib_ok) AC_MSG_RESULT($pac_metis_lib_ok)
fi fi

6
configure vendored

@ -11378,12 +11378,12 @@ $as_echo "$ac_try_echo") >&5
test "$cross_compiling" = yes || test "$cross_compiling" = yes ||
$as_test_x conftest$ac_exeext $as_test_x conftest$ac_exeext
}; then }; then
psblas_cv_have_metis=yes;pac_metis_lib_ok=yes; psblas_cv_metis_version="5";
else else
$as_echo "$as_me: failed program was:" >&5 $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5 sed 's/^/| /' conftest.$ac_ext >&5
psblas_cv_have_metis=no;pac_metis_lib_ok="no. Unusable METIS version, sorry."; METIS_LIBS="" psblas_cv_metis_version="4";
fi fi
rm -rf conftest.dSYM rm -rf conftest.dSYM
@ -11398,7 +11398,7 @@ CPPFLAGS="$SAVE_CPPFLAGS";
if test "x$psblas_cv_have_metis" == "xyes" ; then if test "x$psblas_cv_have_metis" == "xyes" ; then
FDEFINES="$psblas_cv_define_prepend-DHAVE_METIS $FDEFINES" FDEFINES="$psblas_cv_define_prepend-DHAVE_METIS $FDEFINES"
CDEFINES="-DHAVE_METIS_ $psblas_cv_metis_includes $CDEFINES" CDEFINES="-DHAVE_METIS_ -DMETIS_$psblas_cv_metis_version $psblas_cv_metis_includes $CDEFINES"
fi fi

@ -677,7 +677,7 @@ dnl AC_CHECK_HEADERS([rsb.h], [ LIBS="${LIBS} $want_rsb_libs"], [])
PAC_CHECK_METIS PAC_CHECK_METIS
if test "x$psblas_cv_have_metis" == "xyes" ; then if test "x$psblas_cv_have_metis" == "xyes" ; then
FDEFINES="$psblas_cv_define_prepend-DHAVE_METIS $FDEFINES" FDEFINES="$psblas_cv_define_prepend-DHAVE_METIS $FDEFINES"
CDEFINES="-DHAVE_METIS_ $psblas_cv_metis_includes $CDEFINES" CDEFINES="-DHAVE_METIS_ -DMETIS_$psblas_cv_metis_version $psblas_cv_metis_includes $CDEFINES"
fi fi
PAC_CHECK_AMD PAC_CHECK_AMD

@ -10,6 +10,7 @@ int metis_PartGraphKway_C(int *n, int *ixadj, int *iadj, int *ivwg,
int *graphpart) int *graphpart)
{ {
int res = -1; int res = -1;
#if defined(METIS_5)
idx_t objval = 0; idx_t objval = 0;
idx_t options[METIS_NOPTIONS]; idx_t options[METIS_NOPTIONS];
//printf("Inside Metis/C interface\n"); //printf("Inside Metis/C interface\n");
@ -35,6 +36,23 @@ int metis_PartGraphKway_C(int *n, int *ixadj, int *iadj, int *ivwg,
} else { } else {
return res; return res;
} }
#elif defined(METIS_4)
idxtype objval = 0;
int options[8];
//printf("Inside Metis/C interface\n");
idxtype ncon=1;
int wflag=0;
int numflag=1;
int ecut;
options[0]=0;
METIS_PartGraphKway((int *)n,(idxtype *)ixadj,(idxtype *)iadj,
NULL,NULL,&wflag,&numflag,nparts,options,
&ecut,(idxtype *)graphpart);
return(0);
#elif
choke on me!
#endif
} }

@ -365,9 +365,9 @@ contains
!!$ write(*,*) 'Before allocation',nparts !!$ write(*,*) 'Before allocation',nparts
irpl=irp irpl = irp
jal = ja jal = ja
nl = n nl = n
nptl = nparts nptl = nparts
wgh_ = -1.0 wgh_ = -1.0
if(present(weights)) then if(present(weights)) then

Loading…
Cancel
Save