a first take at an interface to an MPI lib
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@355 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
e3feb2057c
commit
5b10a066dc
@ -653,6 +653,11 @@ YapInit(yap_init_args *yap_init)
|
|||||||
yap_init->DelayedReleaseLoad
|
yap_init->DelayedReleaseLoad
|
||||||
);
|
);
|
||||||
InitYaamRegs();
|
InitYaamRegs();
|
||||||
|
|
||||||
|
#if HAVE_MPI
|
||||||
|
InitMPI ();
|
||||||
|
#endif
|
||||||
|
|
||||||
if (yap_init->YapPrologBootFile != NULL) {
|
if (yap_init->YapPrologBootFile != NULL) {
|
||||||
/*
|
/*
|
||||||
This must be done before restore, otherwise
|
This must be done before restore, otherwise
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
* File: Yap.proto *
|
* File: Yap.proto *
|
||||||
* mods: *
|
* mods: *
|
||||||
* comments: Function declarations for YAP *
|
* comments: Function declarations for YAP *
|
||||||
* version: $Id: Yapproto.h,v 1.9 2002-02-04 16:12:54 vsc Exp $ *
|
* version: $Id: Yapproto.h,v 1.10 2002-02-11 20:46:41 stasinos Exp $ *
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
/* prototype file for Yap */
|
/* prototype file for Yap */
|
||||||
@ -210,6 +210,11 @@ Term STD_PROTO(NewEmptyTimedVar,(void));
|
|||||||
Term STD_PROTO(ReadTimedVar,(Term));
|
Term STD_PROTO(ReadTimedVar,(Term));
|
||||||
Term STD_PROTO(UpdateTimedVar,(Term, Term));
|
Term STD_PROTO(UpdateTimedVar,(Term, Term));
|
||||||
|
|
||||||
|
#if HAVE_MPI
|
||||||
|
/* mpi.c */
|
||||||
|
void STD_PROTO(InitMPI,(void));
|
||||||
|
#endif
|
||||||
|
|
||||||
/* parser.c */
|
/* parser.c */
|
||||||
int STD_PROTO(IsPrefixOp,(Prop,int *,int *));
|
int STD_PROTO(IsPrefixOp,(Prop,int *,int *));
|
||||||
int STD_PROTO(IsInfixOp,(Prop,int *,int *,int *));
|
int STD_PROTO(IsInfixOp,(Prop,int *,int *,int *));
|
||||||
|
10
Makefile.in
10
Makefile.in
@ -65,7 +65,7 @@ C_PARSER_FLAGS= @C_PARSER_FLAGS@ $(YAP_EXTRAS) $(DEFS) $(CPPFLAGS)
|
|||||||
CPP=@CPP@
|
CPP=@CPP@
|
||||||
DEFS=@DEFS@
|
DEFS=@DEFS@
|
||||||
LIBS=@LIBS@
|
LIBS=@LIBS@
|
||||||
LDFLAGS=@LDFLAGS@
|
LDFLAGS=-Wl,-E @LDFLAGS@
|
||||||
LN_S=@LN_S@
|
LN_S=@LN_S@
|
||||||
M4=@M4@
|
M4=@M4@
|
||||||
GCC=@GCC@
|
GCC=@GCC@
|
||||||
@ -145,7 +145,8 @@ C_SOURCES= \
|
|||||||
$(srcdir)/OPTYap/opt.preds.c $(srcdir)/OPTYap/or.engine.c \
|
$(srcdir)/OPTYap/opt.preds.c $(srcdir)/OPTYap/or.engine.c \
|
||||||
$(srcdir)/OPTYap/or.cowengine.c $(srcdir)/OPTYap/or.sbaengine.c \
|
$(srcdir)/OPTYap/or.cowengine.c $(srcdir)/OPTYap/or.sbaengine.c \
|
||||||
$(srcdir)/OPTYap/or.scheduler.c $(srcdir)/OPTYap/or.cut.c \
|
$(srcdir)/OPTYap/or.scheduler.c $(srcdir)/OPTYap/or.cut.c \
|
||||||
$(srcdir)/OPTYap/tab.tries.c $(srcdir)/OPTYap/tab.suspend.c
|
$(srcdir)/OPTYap/tab.tries.c $(srcdir)/OPTYap/tab.suspend.c \
|
||||||
|
$(srcdir)/library/mpi/mpi.c
|
||||||
|
|
||||||
PL_SOURCES= \
|
PL_SOURCES= \
|
||||||
$(srcdir)/pl/arith.yap $(srcdir)/pl/arrays.yap $(srcdir)/pl/boot.yap \
|
$(srcdir)/pl/arith.yap $(srcdir)/pl/arrays.yap $(srcdir)/pl/boot.yap \
|
||||||
@ -169,7 +170,7 @@ ENGINE_OBJECTS = \
|
|||||||
cdmgr.o cmppreds.o compiler.o computils.o \
|
cdmgr.o cmppreds.o compiler.o computils.o \
|
||||||
corout.o dbase.o errors.o eval.o bignum.o \
|
corout.o dbase.o errors.o eval.o bignum.o \
|
||||||
exec.o grow.o heapgc.o index.o init.o \
|
exec.o grow.o heapgc.o index.o init.o \
|
||||||
iopreds.o depth_bound.o mavar.o modules.o other.o \
|
iopreds.o depth_bound.o mavar.o modules.o mpi.o other.o \
|
||||||
parser.o save.o scanner.o sort.o stdpreds.o sysbits.o tracer.o \
|
parser.o save.o scanner.o sort.o stdpreds.o sysbits.o tracer.o \
|
||||||
unify.o userpreds.o utilpreds.o write.o ypsocks.o ypstdio.o
|
unify.o userpreds.o utilpreds.o write.o ypsocks.o ypstdio.o
|
||||||
|
|
||||||
@ -430,6 +431,9 @@ tab.tries.o: $(srcdir)/OPTYap/tab.tries.c
|
|||||||
tab.suspend.o: $(srcdir)/OPTYap/tab.suspend.c
|
tab.suspend.o: $(srcdir)/OPTYap/tab.suspend.c
|
||||||
$(CC) -c $(CFLAGS) $(srcdir)/OPTYap/tab.suspend.c -o $@
|
$(CC) -c $(CFLAGS) $(srcdir)/OPTYap/tab.suspend.c -o $@
|
||||||
|
|
||||||
|
mpi.o: $(srcdir)/library/mpi/mpi.c
|
||||||
|
$(CC) -c $(CFLAGS) $(srcdir)/library/mpi/mpi.c -o $@
|
||||||
|
|
||||||
|
|
||||||
## CPP'ed files (for macro debugging)
|
## CPP'ed files (for macro debugging)
|
||||||
|
|
||||||
|
10
config.h.in
10
config.h.in
@ -11,6 +11,16 @@
|
|||||||
/* Should we use gmp ? */
|
/* Should we use gmp ? */
|
||||||
#undef HAVE_LIBGMP
|
#undef HAVE_LIBGMP
|
||||||
|
|
||||||
|
/* What MPI libraries are there? */
|
||||||
|
#undef HAVE_LIBMPICH
|
||||||
|
|
||||||
|
/* Should we use MPI ? */
|
||||||
|
#if HAVE_LIBMPICH
|
||||||
|
#define HAVE_MPI 1
|
||||||
|
#else
|
||||||
|
#define HAVE_MPI 0
|
||||||
|
#endif
|
||||||
|
|
||||||
/* does the compiler support inline ? */
|
/* does the compiler support inline ? */
|
||||||
#undef inline
|
#undef inline
|
||||||
|
|
||||||
|
22
configure.in
22
configure.in
@ -69,6 +69,19 @@ AC_ARG_WITH(readline,
|
|||||||
fi,
|
fi,
|
||||||
[yap_cv_readline=yes])
|
[yap_cv_readline=yes])
|
||||||
|
|
||||||
|
AC_ARG_WITH(mpich,
|
||||||
|
[ --with-mpich[=DIR] use MPICH library in DIR],
|
||||||
|
if test $withval = yes; then
|
||||||
|
yap_cv_mpich=yes
|
||||||
|
elif test $withval = no; then
|
||||||
|
yap_cv_mpich=no
|
||||||
|
else
|
||||||
|
yap_cv_mpich=$with_mpich
|
||||||
|
LDFLAGS="$LDFLAGS -L${yap_cv_mpich}/lib"
|
||||||
|
CPPFLAGS="$CPPFLAGS -I${yap_cv_mpich}/include"
|
||||||
|
fi,
|
||||||
|
[yap_cv_mpich=yes])
|
||||||
|
|
||||||
AC_ARG_WITH(heap-space,
|
AC_ARG_WITH(heap-space,
|
||||||
[ --with-heap-space[=space] default heap size in Kbytes],
|
[ --with-heap-space[=space] default heap size in Kbytes],
|
||||||
if test $withval = yes; then
|
if test $withval = yes; then
|
||||||
@ -191,6 +204,7 @@ else
|
|||||||
CFLAGS="-Ae +O3 +Onolimit"
|
CFLAGS="-Ae +O3 +Onolimit"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
dnl LDFLAGS="+e UserCPredicate $LDFLAGS"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
@ -248,6 +262,14 @@ if test "$yap_cv_gmp" != "no"
|
|||||||
then
|
then
|
||||||
AC_CHECK_LIB(gmp,main)
|
AC_CHECK_LIB(gmp,main)
|
||||||
fi
|
fi
|
||||||
|
if test "$yap_cv_mpich" != "no"
|
||||||
|
then
|
||||||
|
AC_CHECK_LIB(mpich,MPI_Init)
|
||||||
|
if test "$ac_cv_lib_mpich_MPI_Init" = yes
|
||||||
|
then
|
||||||
|
LIBS="$LIBS -lpmpich"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
AC_PROG_CPP
|
AC_PROG_CPP
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user