mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-17 03:12:15 +00:00
Merge branch 'development' of github.com:sfilippone/psblas3 into development
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
#ifndef PSB_CONFIG_H
|
||||
#define PSB_CONFIG_H
|
||||
#include <stdint.h>
|
||||
#include <math.h>
|
||||
#include <complex.h>
|
||||
|
||||
#define @IPK@
|
||||
#define @LPK@
|
||||
|
||||
|
||||
typedef int32_t psb_m_t;
|
||||
|
||||
#if defined(IPK4) && defined(LPK4)
|
||||
typedef int32_t psb_i_t;
|
||||
typedef int32_t psb_l_t;
|
||||
#elif defined(IPK4) && defined(LPK8)
|
||||
typedef int32_t psb_i_t;
|
||||
typedef int64_t psb_l_t;
|
||||
#elif defined(IPK8) && defined(LPK8)
|
||||
typedef int64_t psb_i_t;
|
||||
typedef int64_t psb_l_t;
|
||||
#else
|
||||
#endif
|
||||
typedef int64_t psb_e_t;
|
||||
|
||||
typedef float psb_s_t;
|
||||
typedef double psb_d_t;
|
||||
typedef float complex psb_c_t;
|
||||
typedef double complex psb_z_t;
|
||||
@@ -1,20 +1,48 @@
|
||||
#ifndef PSB_INTERNALS_H
|
||||
#define PSB_INTERNALS_H
|
||||
#include "psb_config.h"
|
||||
|
||||
/* providing a default mangling scheme */
|
||||
#ifndef LowerUnderscore
|
||||
#ifndef LowerDoubleUnderscore
|
||||
#ifndef LowerCase
|
||||
#ifndef UpperUnderscore
|
||||
#ifndef UpperDoubleUnderscore
|
||||
#ifndef UpperCase
|
||||
#define LowerUnderscore 1 /* 20110404 the default */
|
||||
/* #error "should specify a default mangling scheme" */
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#define MPI_INTEGER 1
|
||||
#define MPI_INTEGER8 2
|
||||
#define MPI_REAL 3
|
||||
#define MPI_DOUBLE 4
|
||||
#define MPI_COMPLEX 5
|
||||
#define MPI_DOUBLE_COMPLEX 6
|
||||
#define MPI_CHARACTER 7
|
||||
#define MPI_LOGICAL 8
|
||||
#define MPI_INTEGER2 9
|
||||
#define MPI_INTEGER4 10
|
||||
#define MPI_COMM_NULL -1
|
||||
#define MPI_COMM_WORLD 1
|
||||
|
||||
|
||||
double mpi_wtime();
|
||||
void mpi_wait(int *request, int* status, int *ierr);
|
||||
void mpi_send(void* buf, int* count, int* datatype,
|
||||
int *dest, int *tag, int *comm, int *ierr);
|
||||
void mpi_isend(void* buf, int* count, int* datatype,
|
||||
int *dest, int *tag, int *comm, int *request,
|
||||
int *ierr);
|
||||
void mpi_irecv(void* buf, int* count, int* datatype,
|
||||
int *src, int *tag, int *comm, int *request,
|
||||
int *ierr);
|
||||
void mpi_alltoall(void* sdb, int* sdc, int* sdt,
|
||||
void* rvb, int* rvc, int* rvt, int* comm, int* ierr);
|
||||
void mpi_alltoallv(void* sdb, int* sdc, int* sdspl, int* sdt,
|
||||
void* rvb, int* rvc, int* rdspl, int* rvt, int* comm, int* ierr);
|
||||
void mpi_gather(void* sdb, int* sdc, int* sdt,
|
||||
void* rvb, int* rvc, int* rvt, int *root, int* comm, int* ierr);
|
||||
void mpi_gatherv(void* sdb, int* sdc, int* sdt,
|
||||
void* rvb, int* rvc, int* rdspl,
|
||||
int* rvt, int* comm, int *root, int* ierr);
|
||||
void mpi_scatter(void* sdb, int* sdc, int* sdt,
|
||||
void* rvb, int* rvc, int* rvt, int *root, int* comm, int* ierr);
|
||||
void mpi_scatterv(void* sdb, int* sdc, int* sdt,
|
||||
void* rvb, int* rvc, int* rdspl,
|
||||
int* rvt, int* comm, int *root, int* ierr);
|
||||
void mpi_allgather(void* sdb, int* sdc, int* sdt,
|
||||
void* rvb, int* rvc, int* rvt, int* comm, int* ierr);
|
||||
void mpi_allgatherv(void* sdb, int* sdc, int* sdt,
|
||||
void* rvb, int* rvc, int* rdspl,
|
||||
int* rvt, int* comm, int* ierr);
|
||||
#endif
|
||||
|
||||
@@ -687,6 +687,8 @@ PRECLIBNAME
|
||||
RSB_LIBS
|
||||
LIBDIR
|
||||
PSBLASRULES
|
||||
LPK
|
||||
IPK
|
||||
FINCLUDES
|
||||
CINCLUDES
|
||||
METIS_LIBS
|
||||
@@ -6816,14 +6818,6 @@ fi
|
||||
###############################################################################
|
||||
# Linking, symbol mangling, and misc tests
|
||||
###############################################################################
|
||||
|
||||
# Note : This is functional to Make.inc rules and structure (see below).
|
||||
#AC_LANG([C])
|
||||
#AC_CHECK_SIZEOF(void *)
|
||||
## Define for platforms with 64 bit (void * ) pointers
|
||||
#if test X"$ac_cv_sizeof_void_p" == X"8" ; then
|
||||
# CDEFINES="-DPtr64Bits $CDEFINES"
|
||||
#fi
|
||||
ac_ext=${ac_fc_srcext-f}
|
||||
ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
|
||||
ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
|
||||
@@ -6983,40 +6977,6 @@ pac_fc_sec_under=${pac_fc_under#*,}
|
||||
pac_fc_sec_under=${pac_fc_sec_under# }
|
||||
pac_fc_under=${pac_fc_under%%,*}
|
||||
pac_fc_under=${pac_fc_under# }
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking defines for C/Fortran name interfaces" >&5
|
||||
printf %s "checking defines for C/Fortran name interfaces... " >&6; }
|
||||
if test "x$pac_fc_case" == "xlower case"; then
|
||||
if test "x$pac_fc_under" == "xunderscore"; then
|
||||
if test "x$pac_fc_sec_under" == "xno extra underscore"; then
|
||||
pac_f_c_names="-DLowerUnderscore"
|
||||
elif test "x$pac_fc_sec_under" == "xextra underscore"; then
|
||||
pac_f_c_names="-DLowerDoubleUnderscore"
|
||||
else
|
||||
pac_f_c_names="-DUNKNOWN"
|
||||
fi
|
||||
elif test "x$pac_fc_under" == "xno underscore"; then
|
||||
pac_f_c_names="-DLowerCase"
|
||||
else
|
||||
pac_f_c_names="-DUNKNOWN"
|
||||
fi
|
||||
elif test "x$pac_fc_case" == "xupper case"; then
|
||||
if test "x$pac_fc_under" == "xunderscore"; then
|
||||
if test "x$pac_fc_sec_under" == "xno extra underscore"; then
|
||||
pac_f_c_names="-DUpperUnderscore"
|
||||
elif test "x$pac_fc_sec_under" == "xextra underscore"; then
|
||||
pac_f_c_names="-DUpperDoubleUnderscore"
|
||||
else
|
||||
pac_f_c_names="-DUNKNOWN"
|
||||
fi
|
||||
elif test "x$pac_fc_under" == "xno underscore"; then
|
||||
pac_f_c_names="-DUpperCase"
|
||||
else
|
||||
pac_f_c_names="-DUNKNOWN"
|
||||
fi
|
||||
else
|
||||
pac_f_c_names="-DUNKNOWN"
|
||||
fi
|
||||
CDEFINES="$pac_f_c_names $CDEFINES"
|
||||
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pac_f_c_names " >&5
|
||||
printf "%s\n" " $pac_f_c_names " >&6; }
|
||||
@@ -7452,6 +7412,8 @@ fi
|
||||
if test x"$pac_cv_lpk_size" == x"" ; then
|
||||
pac_cv_lpk_size=8
|
||||
fi
|
||||
IPK="IPK$pac_cv_ipk_size"
|
||||
LPK="LPK$pac_cv_lpk_size"
|
||||
# Enforce sensible combination
|
||||
if (( $pac_cv_lpk_size < $pac_cv_ipk_size )); then
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: Invalid combination of size specs IPK ${pac_cv_ipk_size} LPK ${pac_cv_lpk_size}. " >&5
|
||||
@@ -11201,6 +11163,8 @@ FDEFINES=$(PSBFDEFINES)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -11209,6 +11173,8 @@ FDEFINES=$(PSBFDEFINES)
|
||||
|
||||
ac_config_files="$ac_config_files Make.inc"
|
||||
|
||||
ac_config_files="$ac_config_files base/modules/psb_config.h"
|
||||
|
||||
ac_config_files="$ac_config_files util/psb_metis_int.h"
|
||||
|
||||
cat >confcache <<\_ACEOF
|
||||
@@ -11953,6 +11919,7 @@ do
|
||||
case $ac_config_target in
|
||||
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
|
||||
"Make.inc") CONFIG_FILES="$CONFIG_FILES Make.inc" ;;
|
||||
"base/modules/psb_config.h") CONFIG_FILES="$CONFIG_FILES base/modules/psb_config.h" ;;
|
||||
"util/psb_metis_int.h") CONFIG_FILES="$CONFIG_FILES util/psb_metis_int.h" ;;
|
||||
|
||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
||||
@@ -12606,7 +12573,7 @@ printf "%s\n" "$as_me:
|
||||
You may want to rerun configure with --with-fcopenacc= " >&6;}
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
###############################################################################
|
||||
|
||||
|
||||
|
||||
+44
-39
@@ -321,45 +321,45 @@ dnl AC_MSG_NOTICE([Fortran name mangling: $ac_cv_fc_mangling])
|
||||
[pac_fc_sec_under=${pac_fc_sec_under# }]
|
||||
[pac_fc_under=${pac_fc_under%%,*}]
|
||||
[pac_fc_under=${pac_fc_under# }]
|
||||
AC_MSG_CHECKING([defines for C/Fortran name interfaces])
|
||||
if test "x$pac_fc_case" == "xlower case"; then
|
||||
if test "x$pac_fc_under" == "xunderscore"; then
|
||||
if test "x$pac_fc_sec_under" == "xno extra underscore"; then
|
||||
pac_f_c_names="-DLowerUnderscore"
|
||||
elif test "x$pac_fc_sec_under" == "xextra underscore"; then
|
||||
pac_f_c_names="-DLowerDoubleUnderscore"
|
||||
else
|
||||
pac_f_c_names="-DUNKNOWN"
|
||||
dnl AC_MSG_NOTICE([Fortran name mangling extra underscore unknown case])
|
||||
fi
|
||||
elif test "x$pac_fc_under" == "xno underscore"; then
|
||||
pac_f_c_names="-DLowerCase"
|
||||
else
|
||||
pac_f_c_names="-DUNKNOWN"
|
||||
dnl AC_MSG_NOTICE([Fortran name mangling underscore unknown case])
|
||||
fi
|
||||
elif test "x$pac_fc_case" == "xupper case"; then
|
||||
if test "x$pac_fc_under" == "xunderscore"; then
|
||||
if test "x$pac_fc_sec_under" == "xno extra underscore"; then
|
||||
pac_f_c_names="-DUpperUnderscore"
|
||||
elif test "x$pac_fc_sec_under" == "xextra underscore"; then
|
||||
pac_f_c_names="-DUpperDoubleUnderscore"
|
||||
else
|
||||
pac_f_c_names="-DUNKNOWN"
|
||||
dnl AC_MSG_NOTICE([Fortran name mangling extra underscore unknown case])
|
||||
fi
|
||||
elif test "x$pac_fc_under" == "xno underscore"; then
|
||||
pac_f_c_names="-DUpperCase"
|
||||
else
|
||||
pac_f_c_names="-DUNKNOWN"
|
||||
dnl AC_MSG_NOTICE([Fortran name mangling underscore unknown case])
|
||||
fi
|
||||
dnl AC_MSG_NOTICE([Fortran name mangling UPPERCASE not handled])
|
||||
else
|
||||
pac_f_c_names="-DUNKNOWN"
|
||||
dnl AC_MSG_NOTICE([Fortran name mangling unknown case])
|
||||
fi
|
||||
CDEFINES="$pac_f_c_names $CDEFINES"
|
||||
dnl AC_MSG_CHECKING([defines for C/Fortran name interfaces])
|
||||
dnl if test "x$pac_fc_case" == "xlower case"; then
|
||||
dnl if test "x$pac_fc_under" == "xunderscore"; then
|
||||
dnl if test "x$pac_fc_sec_under" == "xno extra underscore"; then
|
||||
dnl pac_f_c_names="-DLowerUnderscore"
|
||||
dnl elif test "x$pac_fc_sec_under" == "xextra underscore"; then
|
||||
dnl pac_f_c_names="-DLowerDoubleUnderscore"
|
||||
dnl else
|
||||
dnl pac_f_c_names="-DUNKNOWN"
|
||||
dnl dnl AC_MSG_NOTICE([Fortran name mangling extra underscore unknown case])
|
||||
dnl fi
|
||||
dnl elif test "x$pac_fc_under" == "xno underscore"; then
|
||||
dnl pac_f_c_names="-DLowerCase"
|
||||
dnl else
|
||||
dnl pac_f_c_names="-DUNKNOWN"
|
||||
dnl dnl AC_MSG_NOTICE([Fortran name mangling underscore unknown case])
|
||||
dnl fi
|
||||
dnl elif test "x$pac_fc_case" == "xupper case"; then
|
||||
dnl if test "x$pac_fc_under" == "xunderscore"; then
|
||||
dnl if test "x$pac_fc_sec_under" == "xno extra underscore"; then
|
||||
dnl pac_f_c_names="-DUpperUnderscore"
|
||||
dnl elif test "x$pac_fc_sec_under" == "xextra underscore"; then
|
||||
dnl pac_f_c_names="-DUpperDoubleUnderscore"
|
||||
dnl else
|
||||
dnl pac_f_c_names="-DUNKNOWN"
|
||||
dnl dnl AC_MSG_NOTICE([Fortran name mangling extra underscore unknown case])
|
||||
dnl fi
|
||||
dnl elif test "x$pac_fc_under" == "xno underscore"; then
|
||||
dnl pac_f_c_names="-DUpperCase"
|
||||
dnl else
|
||||
dnl pac_f_c_names="-DUNKNOWN"
|
||||
dnl dnl AC_MSG_NOTICE([Fortran name mangling underscore unknown case])
|
||||
dnl fi
|
||||
dnl dnl AC_MSG_NOTICE([Fortran name mangling UPPERCASE not handled])
|
||||
dnl else
|
||||
dnl pac_f_c_names="-DUNKNOWN"
|
||||
dnl dnl AC_MSG_NOTICE([Fortran name mangling unknown case])
|
||||
dnl fi
|
||||
dnl CDEFINES="$pac_f_c_names $CDEFINES"
|
||||
|
||||
AC_MSG_RESULT([ $pac_f_c_names ])
|
||||
|
||||
@@ -562,6 +562,8 @@ fi
|
||||
if test x"$pac_cv_lpk_size" == x"" ; then
|
||||
pac_cv_lpk_size=8
|
||||
fi
|
||||
IPK="IPK$pac_cv_ipk_size"
|
||||
LPK="LPK$pac_cv_lpk_size"
|
||||
# Enforce sensible combination
|
||||
if (( $pac_cv_lpk_size < $pac_cv_ipk_size )); then
|
||||
AC_MSG_NOTICE([[Invalid combination of size specs IPK ${pac_cv_ipk_size} LPK ${pac_cv_lpk_size}. ]]);
|
||||
@@ -1016,6 +1018,8 @@ FDEFINES=$(PSBFDEFINES)
|
||||
$(CXX) $(CXXOPT) $(CXXINCLUDES) $(CXXDEFINES) -c $< -o $@'
|
||||
|
||||
|
||||
AC_SUBST(IPK)
|
||||
AC_SUBST(LPK)
|
||||
AC_SUBST(PSBLASRULES)
|
||||
AC_SUBST(LIBDIR)
|
||||
AC_SUBST(RSB_LIBS)
|
||||
@@ -1061,6 +1065,7 @@ AC_SUBST(LRSB)
|
||||
# the following files will be created by Automake
|
||||
|
||||
AC_CONFIG_FILES([Make.inc])
|
||||
AC_CONFIG_FILES([base/modules/psb_config.h])
|
||||
AC_CONFIG_FILES([util/psb_metis_int.h])
|
||||
AC_OUTPUT()
|
||||
#AC_OUTPUT(Make.inc Makefile)
|
||||
|
||||
Reference in New Issue
Block a user