|
@@ -59,6 +59,9 @@ AC_SUBST([LIBSTARPURM_INTERFACE_AGE])
|
|
|
AC_SUBST([LIBSOCL_INTERFACE_CURRENT])
|
|
|
AC_SUBST([LIBSOCL_INTERFACE_REVISION])
|
|
|
AC_SUBST([LIBSOCL_INTERFACE_AGE])
|
|
|
+AC_SUBST([LIBSTARPUJULIA_INTERFACE_CURRENT])
|
|
|
+AC_SUBST([LIBSTARPUJULIA_INTERFACE_REVISION])
|
|
|
+AC_SUBST([LIBSTARPUJULIA_INTERFACE_AGE])
|
|
|
|
|
|
AC_CANONICAL_SYSTEM
|
|
|
|
|
@@ -88,11 +91,22 @@ AC_CHECK_PROGS(PROG_DATE,gdate date)
|
|
|
dnl locate pkg-config
|
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
|
|
+AC_ARG_ENABLE(simgrid, [AS_HELP_STRING([--enable-simgrid],
|
|
|
+ [Enable simulating execution in simgrid])],
|
|
|
+ enable_simgrid=$enableval, enable_simgrid=no)
|
|
|
+
|
|
|
if test x$enable_perf_debug = xyes; then
|
|
|
enable_shared=no
|
|
|
fi
|
|
|
+
|
|
|
default_enable_mpi_check=maybe
|
|
|
-default_enable_mpi=maybe
|
|
|
+
|
|
|
+if test x$enable_simgrid = xyes ; then
|
|
|
+ default_enable_mpi=no
|
|
|
+else
|
|
|
+ default_enable_mpi=maybe
|
|
|
+fi
|
|
|
+
|
|
|
default_enable_mpi_ft=no
|
|
|
|
|
|
###############################################################################
|
|
@@ -373,6 +387,30 @@ AC_MSG_CHECKING(whether mpicxx is available)
|
|
|
AC_MSG_RESULT($mpicxx_path)
|
|
|
AC_SUBST(MPICXX, $mpicxx_path)
|
|
|
|
|
|
+# Check if mpiexec is available
|
|
|
+if test x$enable_simgrid = xyes ; then
|
|
|
+ DEFAULT_MPIEXEC=smpirun
|
|
|
+ AC_ARG_WITH(smpirun, [AS_HELP_STRING([--with-smpirun[=<name of smpirun or path to smpirun>]], [Name or path of the smpirun helper])], [DEFAULT_MPIEXEC=$withval])
|
|
|
+else
|
|
|
+ DEFAULT_MPIEXEC=mpiexec
|
|
|
+ AC_ARG_WITH(mpiexec, [AS_HELP_STRING([--with-mpiexec=<name of mpiexec or path to mpiexec>], [Name or path of mpiexec])], [DEFAULT_MPIEXEC=$withval])
|
|
|
+fi
|
|
|
+
|
|
|
+case $DEFAULT_MPIEXEC in
|
|
|
+ /*) mpiexec_path="$DEFAULT_MPIEXEC" ;;
|
|
|
+ *) AC_PATH_PROG(mpiexec_path, $DEFAULT_MPIEXEC, [no], [$MPIPATH])
|
|
|
+esac
|
|
|
+AC_MSG_CHECKING(whether mpiexec is available)
|
|
|
+AC_MSG_RESULT($mpiexec_path)
|
|
|
+
|
|
|
+# We test if MPIEXEC exists
|
|
|
+if test ! -x $mpiexec_path; then
|
|
|
+ AC_MSG_RESULT(The mpiexec script '$mpiexec_path' is not valid)
|
|
|
+ default_enable_mpi_check=no
|
|
|
+ mpiexec_path=""
|
|
|
+fi
|
|
|
+AC_SUBST(MPIEXEC,$mpiexec_path)
|
|
|
+
|
|
|
###############################################################################
|
|
|
# #
|
|
|
# MPI #
|
|
@@ -505,32 +543,6 @@ if test x$enable_mpi = xno ; then
|
|
|
running_mpi_check=no
|
|
|
fi
|
|
|
|
|
|
-if test x$enable_mpi = xyes -a x$running_mpi_check = xyes ; then
|
|
|
- # Check if mpiexec is available
|
|
|
- if test x$enable_simgrid = xyes ; then
|
|
|
- DEFAULT_MPIEXEC=smpirun
|
|
|
- AC_ARG_WITH(smpirun, [AS_HELP_STRING([--with-smpirun[=<name of smpirun or path to smpirun>]], [Name or path of the smpirun helper])], [DEFAULT_MPIEXEC=$withval])
|
|
|
- else
|
|
|
- DEFAULT_MPIEXEC=mpiexec
|
|
|
- AC_ARG_WITH(mpiexec, [AS_HELP_STRING([--with-mpiexec=<name of mpiexec or path to mpiexec>], [Name or path of mpiexec])], [DEFAULT_MPIEXEC=$withval])
|
|
|
- fi
|
|
|
-
|
|
|
- case $DEFAULT_MPIEXEC in
|
|
|
- /*) mpiexec_path="$DEFAULT_MPIEXEC" ;;
|
|
|
- *) AC_PATH_PROG(mpiexec_path, $DEFAULT_MPIEXEC, [no], [$MPIPATH])
|
|
|
- esac
|
|
|
- AC_MSG_CHECKING(whether mpiexec is available)
|
|
|
- AC_MSG_RESULT($mpiexec_path)
|
|
|
-
|
|
|
- # We test if MPIEXEC exists
|
|
|
- if test ! -x $mpiexec_path; then
|
|
|
- AC_MSG_RESULT(The mpiexec script '$mpiexec_path' is not valid)
|
|
|
- running_mpi_check=no
|
|
|
- mpiexec_path=""
|
|
|
- fi
|
|
|
- AC_SUBST(MPIEXEC,$mpiexec_path)
|
|
|
-fi
|
|
|
-
|
|
|
AM_CONDITIONAL(STARPU_MPI_CHECK, test x$running_mpi_check = xyes)
|
|
|
AC_MSG_CHECKING(whether MPI tests should be run)
|
|
|
AC_MSG_RESULT($running_mpi_check)
|
|
@@ -553,7 +565,7 @@ fi
|
|
|
if test x$enable_mpi = xyes ; then
|
|
|
if test x$enable_simgrid = xyes ; then
|
|
|
if test x$enable_shared = xyes ; then
|
|
|
- AC_MSG_ERROR([MPI with simgrid can not work with shared libraries, if you need the MPI support, theb use --disable-shared to fix this, else disable MPI with --disable-mpi])
|
|
|
+ AC_MSG_ERROR([MPI with simgrid can not work with shared libraries, if you need the MPI support, then use --disable-shared to fix this, else disable MPI with --disable-mpi])
|
|
|
else
|
|
|
CFLAGS="$CFLAGS -fPIC"
|
|
|
CXXFLAGS="$CXXFLAGS -fPIC"
|
|
@@ -1295,7 +1307,9 @@ AC_MSG_CHECKING(whether CUDA should be used)
|
|
|
AC_MSG_RESULT($enable_cuda)
|
|
|
AC_SUBST(STARPU_USE_CUDA, $enable_cuda)
|
|
|
AM_CONDITIONAL(STARPU_USE_CUDA, test x$enable_cuda = xyes)
|
|
|
+cc_or_nvcc=$CC
|
|
|
if test x$enable_cuda = xyes; then
|
|
|
+ cc_or_nvcc=$NVCC
|
|
|
AC_DEFINE(STARPU_USE_CUDA, [1], [CUDA support is activated])
|
|
|
|
|
|
# On Darwin, the libstdc++ dependency is not automatically added by nvcc
|
|
@@ -1383,6 +1397,8 @@ if test x$enable_cuda = xyes; then
|
|
|
LIBS="${SAVED_LIBS}"
|
|
|
fi
|
|
|
|
|
|
+AC_SUBST(CC_OR_NVCC, $cc_or_nvcc)
|
|
|
+
|
|
|
have_magma=no
|
|
|
if test x$enable_cuda = xyes; then
|
|
|
PKG_CHECK_MODULES([MAGMA], [magma], [
|
|
@@ -3430,6 +3446,27 @@ AM_CONDITIONAL(AVAILABLE_DOC, [test x$available_doc != xno])
|
|
|
|
|
|
###############################################################################
|
|
|
# #
|
|
|
+# Julia #
|
|
|
+# #
|
|
|
+###############################################################################
|
|
|
+AC_ARG_ENABLE(julia, [AS_HELP_STRING([--enable-julia],
|
|
|
+ [enable the Julia extension])],
|
|
|
+ enable_julia=$enableval, enable_julia=no)
|
|
|
+if test "$enable_julia" = "yes" ; then
|
|
|
+ # Check whether the julia compiler is available
|
|
|
+ AC_PATH_PROG(juliapath, julia)
|
|
|
+ AC_MSG_CHECKING(whether julia is available)
|
|
|
+ AC_MSG_RESULT($juliapath)
|
|
|
+ if test ! -x $julia_path ; then
|
|
|
+ AC_MSG_ERROR(Julia compiler '$julia_path' is not valid)
|
|
|
+ enable_julia=no
|
|
|
+ fi
|
|
|
+fi
|
|
|
+AM_CONDITIONAL([STARPU_USE_JULIA], [test "x$enable_julia" = "xyes"])
|
|
|
+AC_SUBST(JULIA, $juliapath)
|
|
|
+
|
|
|
+###############################################################################
|
|
|
+# #
|
|
|
# Final settings #
|
|
|
# #
|
|
|
###############################################################################
|
|
@@ -3508,6 +3545,10 @@ AC_CONFIG_COMMANDS([executable-scripts], [
|
|
|
test -e tools/starpu_paje_state_stats.R || ln -sf $ac_abs_top_srcdir/tools/starpu_paje_state_stats.R tools/starpu_paje_state_stats.R
|
|
|
test -e tools/starpu_trace_state_stats.py || ln -sf $ac_abs_top_srcdir/tools/starpu_trace_state_stats.py tools/starpu_trace_state_stats.py
|
|
|
chmod +x tools/starpu_trace_state_stats.py
|
|
|
+ chmod +x julia/examples/execute.sh
|
|
|
+ for x in julia/examples/check_deps/check_deps.sh julia/examples/mult/mult_starpu.sh julia/examples/mult/perf.sh julia/examples/variable/variable.sh julia/examples/task_insert_color/task_insert_color.sh julia/examples/vector_scal/vector_scal.sh julia/examples/mandelbrot/mandelbrot.sh julia/examples/callback/callback.sh julia/examples/dependency/task_dep.sh julia/examples/dependency/tag_dep.sh julia/examples/dependency/end_dep.sh julia/examples/axpy/axpy.sh; do
|
|
|
+ test -e $x || mkdir -p $(dirname $x) && ln -sf $ac_abs_top_srcdir/$x $(dirname $x)
|
|
|
+ done
|
|
|
])
|
|
|
|
|
|
# Create links to ICD files in build/socl/vendors directory. SOCL will use this
|
|
@@ -3534,7 +3575,6 @@ AC_OUTPUT([
|
|
|
Makefile
|
|
|
src/Makefile
|
|
|
tools/Makefile
|
|
|
- tools/replay-mpi/Makefile
|
|
|
tools/starpu_env
|
|
|
tools/starpu_codelet_profile
|
|
|
tools/starpu_codelet_histo_profile
|
|
@@ -3585,6 +3625,7 @@ AC_OUTPUT([
|
|
|
mpi/src/Makefile
|
|
|
mpi/tests/Makefile
|
|
|
mpi/examples/Makefile
|
|
|
+ mpi/tools/Makefile
|
|
|
sc_hypervisor/Makefile
|
|
|
sc_hypervisor/src/Makefile
|
|
|
sc_hypervisor/examples/Makefile
|
|
@@ -3597,6 +3638,11 @@ AC_OUTPUT([
|
|
|
doc/doxygen_dev/doxygen_filter.sh
|
|
|
tools/msvc/starpu_var.bat
|
|
|
min-dgels/Makefile
|
|
|
+ julia/Makefile
|
|
|
+ julia/src/Makefile
|
|
|
+ julia/src/dynamic_compiler/Makefile
|
|
|
+ julia/examples/Makefile
|
|
|
+ julia/examples/execute.sh
|
|
|
])
|
|
|
|
|
|
AC_MSG_NOTICE([
|
|
@@ -3650,6 +3696,7 @@ AC_MSG_NOTICE([
|
|
|
Native fortran support: $enable_build_fortran
|
|
|
Native MPI fortran support: $use_mpi_fort
|
|
|
Support for multiple linear regression models: $support_mlr
|
|
|
+ JULIA enabled: $enable_julia
|
|
|
])
|
|
|
|
|
|
if test "$build_socl" = "yes" -a "$run_socl_check" = "no" ; then
|