Move data from CDEFINES to psb_config.h

randomized
sfilippone 1 year ago
parent 2b23f4bdc2
commit fd90ecb643

@ -84,7 +84,8 @@ cleanlib:
(cd modules; /bin/rm -f *.a *$(.mod) *$(.fh) *.h)
distclean: clean
/bin/rm -f Make.inc util/psb_metis_int.h base/modules/psb_config.h
/bin/rm -f Make.inc util/psb_metis_int.h base/modules/psb_config.h \
base/modules/psb_cxxconfig.h
check: all
make check -C test/serial

@ -1,40 +1,64 @@
#ifndef PSB_CONFIG_H
#define PSB_CONFIG_H
#include <stdint.h>
#ifdef __cplusplus
#include <complex>
#else
#include <math.h>
#include <complex.h>
#endif
#define PSB_ERR_ERROR -1
#define PSB_ERR_SUCCESS 0
@CSERIALMPI@
@IPKDEF@
@LPKDEF@
@CHAVEOPENMP@
@CHAVEMETIS@
@CINTMETIS@
@CREALMETIS@
@CHAVEAMD@
@CHAVECUDA@
@CSHORTVCUDA@
@CVERSIONCUDA@
@CHAVELIBRSB@
typedef int32_t psb_m_t;
typedef int32_t psb_m_t;
#if defined(IPK4) && defined(LPK4)
typedef int32_t psb_i_t;
typedef int32_t psb_l_t;
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;
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;
typedef int64_t psb_i_t;
typedef int64_t psb_l_t;
#else
#endif
typedef int64_t psb_e_t;
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;
typedef float psb_s_t;
typedef double psb_d_t;
#ifdef __cplusplus
typedef std::complex<float> psb_c_t;
typedef std::complex<double> psb_z_t;
#else
typedef float complex psb_c_t;
typedef float complex psb_z_t;
#endif
#endif

115
configure vendored

@ -688,10 +688,14 @@ CHAVELIBRSB
RSB_LIBS
LIBDIR
PSBLASRULES
CVERSIONCUDA
CSHORTVCUDA
CHAVECUDA
CHAVEAMD
CREALMETIS
CINTMETIS
CHAVEMETIS
CHAVEOPENMP
CSERIALMPI
LPKDEF
IPKDEF
@ -4640,7 +4644,7 @@ fi
#Note : we miss the name of the Intel C compiler
if test x"$pac_cv_serial_mpi" == x"yes" ; then
FAKEMPI="fakempi.o";
FAKEMPI="psb_fakempi.o";
MPIFC="$FC";
MPICC="$CC";
MPICXX="$CXX";
@ -7283,8 +7287,7 @@ fi
# Custom test : do we have a module or include for MPI Fortran interface?
if test x"$pac_cv_serial_mpi" == x"yes" ; then
FDEFINES="$psblas_cv_define_prepend-DSERIAL_MPI $psblas_cv_define_prepend-DMPI_MOD $FDEFINES";
CDEFINES="-DSERIAL_MPI $CDEFINES"
else
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking MPI Fortran 2008 interface" >&5
printf %s "checking MPI Fortran 2008 interface... " >&6; }
ac_ext=${ac_fc_srcext-f}
@ -7430,7 +7433,6 @@ printf "%s\n" "$as_me: Forcing equal values" >&6;}
fi
FDEFINES="$psblas_cv_define_prepend-DIPK${pac_cv_ipk_size} $FDEFINES";
FDEFINES="$psblas_cv_define_prepend-DLPK${pac_cv_lpk_size} $FDEFINES";
CDEFINES="-DIPK${pac_cv_ipk_size} -DLPK${pac_cv_lpk_size} $CDEFINES"
FLINK="$MPIFC"
if test -e penmp || test -e mp; then
@ -7720,6 +7722,7 @@ fi
if test x"$pac_cv_openmp" == x"yes" ; then
FDEFINES="$psblas_cv_define_prepend-DOPENMP $FDEFINES";
CDEFINES="-DOPENMP $CDEFINES";
CHAVEOPENMP="#define OPENMP"
FCOPT="$FCOPT $pac_cv_openmp_fcopt";
CCOPT="$CCOPT $pac_cv_openmp_ccopt";
CXXOPT="$CXXOPT $pac_cv_openmp_cxxopt";
@ -10152,7 +10155,7 @@ printf "%s\n" "$as_me: Unknown METIS REAL bitsize." >&6;}
fi
if test "x$psblas_cv_have_metis" == "xyes" ; then
FDEFINES="$psblas_cv_define_prepend-DHAVE_METIS $psblas_cv_define_prepend-DMETIS_$pac_cv_metis_idx $psblas_cv_define_prepend-DMETIS_REAL_$pac_cv_metis_real $FDEFINES"
CDEFINES="-DHAVE_METIS_ $psblas_cv_metis_includes $CDEFINES -DMETIS_$pac_cv_metis_idx -DMETIS_REAL_$pac_cv_metis_real"
# CDEFINES="-DHAVE_METIS_ $psblas_cv_metis_includes $CDEFINES -DMETIS_$pac_cv_metis_idx -DMETIS_REAL_$pac_cv_metis_real"
METISINCFILE=$psblas_cv_metisincfile
CHAVEMETIS="#define HAVE_METIS_"
CINTMETIS="#define METIS_$pac_cv_metis_idx"
@ -10366,7 +10369,7 @@ CPPFLAGS="$SAVE_CPPFLAGS";
if test "x$psblas_cv_have_amd" == "xyes" ; then
FDEFINES="$psblas_cv_define_prepend-DHAVE_AMD $FDEFINES"
CDEFINES="-DHAVE_AMD_ $psblas_cv_amd_includes $CDEFINES"
# CDEFINES="-DHAVE_AMD_ $psblas_cv_amd_includes $CDEFINES"
CHAVEAMD="#define HAVE_AMD_"
fi
@ -10385,6 +10388,23 @@ fi
if test "x$pac_cv_cuda" == "xyes"; then
if test "x$pac_cv_ipk_size" != "x4"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: For CUDA I need psb_ipk_ to be 4 bytes but it is $pac_cv_ipk_size, disabling CUDA/SPGPU" >&5
printf "%s\n" "$as_me: For CUDA I need psb_ipk_ to be 4 bytes but it is $pac_cv_ipk_size, disabling CUDA/SPGPU" >&6;}
pac_cv_cuda="no";
HAVE_CUDA="no";
CUDA_CC="";
SPGPU_LIBS="";
CUDAD="";
CUDALD="";
CUDEFINES="";
CUDA_DEFINES="";
CUDA_INCLUDES="";
CUDA_LIBS="";
FCUDEFINES="";
CCUDEFINES="";
CXXCUDEFINES="";
else
# Check whether --with-cudadir was given.
@ -10464,9 +10484,9 @@ LIBS="$SAVE_LIBS"
CPPFLAGS="$SAVE_CPPFLAGS"
if test "x$pac_cv_have_cuda" == "xyes"; then
if test "x$pac_cv_have_cuda" == "xyes"; then
ac_ext=c
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
@ -10597,16 +10617,19 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
LIBS="$SAVE_LIBS"
CPPFLAGS="$SAVE_CPPFLAGS"
HAVE_CUDA="yes";
CUDA_VERSION="$pac_cv_cuda_version";
CUDA_SHORT_VERSION=$(expr $pac_cv_cuda_version / 1000);
CUDA_DEFINES="-DHAVE_CUDA -DCUDA_SHORT_VERSION=${CUDA_SHORT_VERSION} -DCUDA_VERSION=${CUDA_VERSION}";
SPGPU_LIBS="-lspgpu";
CUDAD=cudad;
CUDALD=cudald;
LCUDA="-lpsb_cuda";
EXTRALDLIBS="-lstdc++";
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: At this point GPUTARGET is $CUDAD $CUDALD" >&5
HAVE_CUDA="yes";
CUDA_VERSION="$pac_cv_cuda_version";
CUDA_SHORT_VERSION=$(expr $pac_cv_cuda_version / 1000);
CUDA_DEFINES="-DHAVE_CUDA -DCUDA_SHORT_VERSION=${CUDA_SHORT_VERSION} -DCUDA_VERSION=${CUDA_VERSION}";
CHAVECUDA="#define HAVE_CUDA"
CSHORTVCUDA="#define CUDA_SHORT_VERSION ${CUDA_SHORT_VERSION}"
CVERSIONCUDA="#define CUDA_VERSION ${CUDA_VERSION}"
SPGPU_LIBS="-lspgpu";
CUDAD=cudad;
CUDALD=cudald;
LCUDA="-lpsb_cuda";
EXTRALDLIBS="-lstdc++";
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: At this point GPUTARGET is $CUDAD $CUDALD" >&5
printf "%s\n" "$as_me: At this point GPUTARGET is $CUDAD $CUDALD" >&6;}
@ -10620,42 +10643,22 @@ else $as_nop
fi
if test "x$pac_cv_cudacc" == "x"; then
pac_cv_cudacc="50,60,70,75,80,86";
CUDA_CC="$pac_cv_cudacc";
fi
if (( $pac_cv_cuda_version >= 11070 ))
then
CUDEFINES="--dopt=on";
fi
for cc in `echo $pac_cv_cudacc|sed 's/,/ /gi'`
do
CUDEFINES="$CUDEFINES -gencode arch=compute_$cc,code=sm_$cc";
done
if test "x$pac_cv_cuda_version" != "xunknown"; then
CUDEFINES="$CUDEFINES ${CUDA_DEFINES}"
FCUDEFINES=" ${CUDA_DEFINES}"
CCUDEFINES=" ${CUDA_DEFINES}"
CXXCUDEFINES=" ${CUDA_DEFINES}"
fi
fi
if test "x$pac_cv_ipk_size" != "x4"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: For CUDA I need psb_ipk_ to be 4 bytes but it is $pac_cv_ipk_size, disabling CUDA/SPGPU" >&5
printf "%s\n" "$as_me: For CUDA I need psb_ipk_ to be 4 bytes but it is $pac_cv_ipk_size, disabling CUDA/SPGPU" >&6;}
pac_cv_cuda="no";
HAVE_CUDA="no";
CUDA_CC="";
SPGPU_LIBS="";
CUDAD="";
CUDALD="";
CUDEFINES="";
CUDA_DEFINES="";
CUDA_INCLUDES="";
CUDA_LIBS="";
FCUDEFINES="";
CCUDEFINES="";
CXXCUDEFINES="";
if test "x$pac_cv_cudacc" == "x"; then
pac_cv_cudacc="50,60,70,75,80,86";
CUDA_CC="$pac_cv_cudacc";
fi
if (( $pac_cv_cuda_version >= 11070 ))
then
CUDEFINES="--dopt=on";
fi
for cc in `echo $pac_cv_cudacc|sed 's/,/ /gi'`
do
CUDEFINES="$CUDEFINES -gencode arch=compute_$cc,code=sm_$cc";
done
if test "x$pac_cv_cuda_version" != "xunknown"; then
FCUDEFINES=" ${CUDA_DEFINES}"
fi
fi
fi
fi
@ -11180,6 +11183,10 @@ FDEFINES=$(PSBFDEFINES)

@ -136,7 +136,7 @@ PAC_ARG_SERIAL_MPI
#Note : we miss the name of the Intel C compiler
if test x"$pac_cv_serial_mpi" == x"yes" ; then
FAKEMPI="fakempi.o";
FAKEMPI="psb_fakempi.o";
MPIFC="$FC";
MPICC="$CC";
MPICXX="$CXX";
@ -541,7 +541,7 @@ fi
# Custom test : do we have a module or include for MPI Fortran interface?
if test x"$pac_cv_serial_mpi" == x"yes" ; then
FDEFINES="$psblas_cv_define_prepend-DSERIAL_MPI $psblas_cv_define_prepend-DMPI_MOD $FDEFINES";
CDEFINES="-DSERIAL_MPI $CDEFINES"
dnl CDEFINES="-DSERIAL_MPI $CDEFINES"
else
PAC_FORTRAN_CHECK_HAVE_MPI_MOD_F08()
if test x"$pac_cv_mpi_f08" == x"yes" ; then
@ -573,13 +573,14 @@ if (( $pac_cv_lpk_size < $pac_cv_ipk_size )); then
fi
FDEFINES="$psblas_cv_define_prepend-DIPK${pac_cv_ipk_size} $FDEFINES";
FDEFINES="$psblas_cv_define_prepend-DLPK${pac_cv_lpk_size} $FDEFINES";
CDEFINES="-DIPK${pac_cv_ipk_size} -DLPK${pac_cv_lpk_size} $CDEFINES"
dnl CDEFINES="-DIPK${pac_cv_ipk_size} -DLPK${pac_cv_lpk_size} $CDEFINES"
FLINK="$MPIFC"
PAC_ARG_OPENMP()
if test x"$pac_cv_openmp" == x"yes" ; then
FDEFINES="$psblas_cv_define_prepend-DOPENMP $FDEFINES";
CDEFINES="-DOPENMP $CDEFINES";
CDEFINES="-DOPENMP $CDEFINES";
CHAVEOPENMP="#define OPENMP"
FCOPT="$FCOPT $pac_cv_openmp_fcopt";
CCOPT="$CCOPT $pac_cv_openmp_ccopt";
CXXOPT="$CXXOPT $pac_cv_openmp_cxxopt";
@ -809,7 +810,7 @@ if test "x$pac_cv_metis_real" == "xunknown" ; then
fi
if test "x$psblas_cv_have_metis" == "xyes" ; then
FDEFINES="$psblas_cv_define_prepend-DHAVE_METIS $psblas_cv_define_prepend-DMETIS_$pac_cv_metis_idx $psblas_cv_define_prepend-DMETIS_REAL_$pac_cv_metis_real $FDEFINES"
CDEFINES="-DHAVE_METIS_ $psblas_cv_metis_includes $CDEFINES -DMETIS_$pac_cv_metis_idx -DMETIS_REAL_$pac_cv_metis_real"
# CDEFINES="-DHAVE_METIS_ $psblas_cv_metis_includes $CDEFINES -DMETIS_$pac_cv_metis_idx -DMETIS_REAL_$pac_cv_metis_real"
METISINCFILE=$psblas_cv_metisincfile
CHAVEMETIS="#define HAVE_METIS_"
CINTMETIS="#define METIS_$pac_cv_metis_idx"
@ -819,52 +820,13 @@ fi
PAC_CHECK_AMD
if test "x$psblas_cv_have_amd" == "xyes" ; then
FDEFINES="$psblas_cv_define_prepend-DHAVE_AMD $FDEFINES"
CDEFINES="-DHAVE_AMD_ $psblas_cv_amd_includes $CDEFINES"
# CDEFINES="-DHAVE_AMD_ $psblas_cv_amd_includes $CDEFINES"
CHAVEAMD="#define HAVE_AMD_"
fi
PAC_ARG_CUDA()
if test "x$pac_cv_cuda" == "xyes"; then
PAC_CHECK_CUDA()
if test "x$pac_cv_have_cuda" == "xyes"; then
PAC_CHECK_CUDA_VERSION()
dnl PAC_CHECK_SPGPU()
HAVE_CUDA="yes";
CUDA_VERSION="$pac_cv_cuda_version";
CUDA_SHORT_VERSION=$(expr $pac_cv_cuda_version / 1000);
CUDA_DEFINES="-DHAVE_CUDA -DCUDA_SHORT_VERSION=${CUDA_SHORT_VERSION} -DCUDA_VERSION=${CUDA_VERSION}";
SPGPU_LIBS="-lspgpu";
CUDAD=cudad;
CUDALD=cudald;
LCUDA="-lpsb_cuda";
EXTRALDLIBS="-lstdc++";
AC_MSG_NOTICE([At this point GPUTARGET is $CUDAD $CUDALD])
PAC_ARG_WITH_CUDACC()
if test "x$pac_cv_cudacc" == "x"; then
pac_cv_cudacc="50,60,70,75,80,86";
CUDA_CC="$pac_cv_cudacc";
fi
if (( $pac_cv_cuda_version >= 11070 ))
then
CUDEFINES="--dopt=on";
fi
for cc in `echo $pac_cv_cudacc|sed 's/,/ /gi'`
do
CUDEFINES="$CUDEFINES -gencode arch=compute_$cc,code=sm_$cc";
done
if test "x$pac_cv_cuda_version" != "xunknown"; then
CUDEFINES="$CUDEFINES ${CUDA_DEFINES}"
FCUDEFINES=" ${CUDA_DEFINES}"
CCUDEFINES=" ${CUDA_DEFINES}"
CXXCUDEFINES=" ${CUDA_DEFINES}"
fi
fi
if test "x$pac_cv_ipk_size" != "x4"; then
AC_MSG_NOTICE([For CUDA I need psb_ipk_ to be 4 bytes but it is $pac_cv_ipk_size, disabling CUDA/SPGPU])
pac_cv_cuda="no";
@ -880,6 +842,48 @@ if test "x$pac_cv_ipk_size" != "x4"; then
FCUDEFINES="";
CCUDEFINES="";
CXXCUDEFINES="";
else
PAC_CHECK_CUDA()
if test "x$pac_cv_have_cuda" == "xyes"; then
PAC_CHECK_CUDA_VERSION()
dnl PAC_CHECK_SPGPU()
HAVE_CUDA="yes";
CUDA_VERSION="$pac_cv_cuda_version";
CUDA_SHORT_VERSION=$(expr $pac_cv_cuda_version / 1000);
CUDA_DEFINES="-DHAVE_CUDA -DCUDA_SHORT_VERSION=${CUDA_SHORT_VERSION} -DCUDA_VERSION=${CUDA_VERSION}";
CHAVECUDA="#define HAVE_CUDA"
CSHORTVCUDA="#define CUDA_SHORT_VERSION ${CUDA_SHORT_VERSION}"
CVERSIONCUDA="#define CUDA_VERSION ${CUDA_VERSION}"
SPGPU_LIBS="-lspgpu";
CUDAD=cudad;
CUDALD=cudald;
LCUDA="-lpsb_cuda";
EXTRALDLIBS="-lstdc++";
AC_MSG_NOTICE([At this point GPUTARGET is $CUDAD $CUDALD])
PAC_ARG_WITH_CUDACC()
if test "x$pac_cv_cudacc" == "x"; then
pac_cv_cudacc="50,60,70,75,80,86";
CUDA_CC="$pac_cv_cudacc";
fi
if (( $pac_cv_cuda_version >= 11070 ))
then
CUDEFINES="--dopt=on";
fi
for cc in `echo $pac_cv_cudacc|sed 's/,/ /gi'`
do
CUDEFINES="$CUDEFINES -gencode arch=compute_$cc,code=sm_$cc";
done
if test "x$pac_cv_cuda_version" != "xunknown"; then
dnl CUDEFINES="$CUDEFINES ${CUDA_DEFINES}"
FCUDEFINES=" ${CUDA_DEFINES}"
dnl CCUDEFINES=" ${CUDA_DEFINES}"
dnl CXXCUDEFINES=" ${CUDA_DEFINES}"
fi
fi
fi
fi
@ -1027,10 +1031,14 @@ FDEFINES=$(PSBFDEFINES)
AC_SUBST(IPKDEF)
AC_SUBST(LPKDEF)
AC_SUBST(CSERIALMPI)
AC_SUBST(CHAVEOPENMP)
AC_SUBST(CHAVEMETIS)
AC_SUBST(CINTMETIS)
AC_SUBST(CREALMETIS)
AC_SUBST(CHAVEAMD)
AC_SUBST(CHAVECUDA)
AC_SUBST(CSHORTVCUDA)
AC_SUBST(CVERSIONCUDA)
AC_SUBST(PSBLASRULES)
AC_SUBST(LIBDIR)
AC_SUBST(RSB_LIBS)
@ -1078,6 +1086,7 @@ AC_SUBST(LRSB)
AC_CONFIG_FILES([Make.inc])
AC_CONFIG_FILES([base/modules/psb_config.h])
dnl AC_CONFIG_FILES([base/modules/psb_cxxconfig.h])
AC_CONFIG_FILES([util/psb_metis_int.h])
AC_OUTPUT()
#AC_OUTPUT(Make.inc Makefile)

Loading…
Cancel
Save