|
@@ -1,13 +1,11 @@
|
|
|
# StarPU --- Runtime system for heterogeneous multicore architectures.
|
|
|
#
|
|
|
-# Copyright (C) 2011-2018 Inria
|
|
|
-# Copyright (C) 2009-2019 Université de Bordeaux
|
|
|
-# Copyright (C) 2017 Guillaume Beauchamp
|
|
|
-# Copyright (C) 2018 Federal University of Rio Grande do Sul (UFRGS)
|
|
|
-# Copyright (C) 2018 Umeà University
|
|
|
-# Copyright (C) 2010-2019 CNRS
|
|
|
-# Copyright (C) 2013 Thibaut Lambert
|
|
|
-# Copyright (C) 2011 Télécom-SudParis
|
|
|
+# Copyright (C) 2009-2020 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
|
|
|
+# Copyright (C) 2011 Télécom-SudParis
|
|
|
+# Copyright (C) 2013 Thibaut Lambert
|
|
|
+# Copyright (C) 2017 Guillaume Beauchamp
|
|
|
+# Copyright (C) 2018,2020 Federal University of Rio Grande do Sul (UFRGS)
|
|
|
+# Copyright (C) 2018 Umeà University
|
|
|
#
|
|
|
# StarPU is free software; you can redistribute it and/or modify
|
|
|
# it under the terms of the GNU Lesser General Public License as published by
|
|
@@ -20,7 +18,7 @@
|
|
|
#
|
|
|
# See the GNU Lesser General Public License in COPYING.LGPL for more details.
|
|
|
#
|
|
|
-AC_INIT([StarPU], [1.3.99], [starpu-devel@lists.gforge.inria.fr], [starpu], [http://runtime.bordeaux.inria.fr/StarPU/])
|
|
|
+AC_INIT([StarPU], [1.3.99], [starpu-devel@lists.gforge.inria.fr], [starpu], [http://starpu.gforge.inria.fr/])
|
|
|
AC_CONFIG_SRCDIR(include/starpu.h)
|
|
|
AC_CONFIG_AUX_DIR([build-aux])
|
|
|
|
|
@@ -64,12 +62,7 @@ AC_SUBST([LIBSOCL_INTERFACE_AGE])
|
|
|
|
|
|
AC_CANONICAL_SYSTEM
|
|
|
|
|
|
-dnl Automake 1.11 introduced `silent-rules' and `color-tests'. Use them
|
|
|
-dnl when they're available.
|
|
|
-dnl do not use option subdir-objects, it causes fortran compilation to fail
|
|
|
-m4_ifdef([AM_SILENT_RULES],
|
|
|
- [AM_INIT_AUTOMAKE([1.11 -Wall foreign silent-rules color-tests parallel-tests])],
|
|
|
- [AM_INIT_AUTOMAKE([1.10 -Wall foreign])])
|
|
|
+AM_INIT_AUTOMAKE([1.11 -Wall -Wno-portability foreign silent-rules color-tests parallel-tests subdir-objects])
|
|
|
|
|
|
m4_ifdef([AM_SILENT_RULES],
|
|
|
[AM_SILENT_RULES(yes)])
|
|
@@ -273,34 +266,38 @@ if test x$enable_simgrid = xyes ; then
|
|
|
]
|
|
|
)
|
|
|
AC_CHECK_HEADERS([simgrid/msg.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_MSG_H], [1], [Define to 1 if you have msg.h in simgrid/.])])
|
|
|
+ AC_CHECK_HEADERS([msg/msg.h], [AC_DEFINE([STARPU_HAVE_MSG_MSG_H], [1], [Define to 1 if you have msg.h in msg/.])])
|
|
|
AC_CHECK_HEADERS([simgrid/host.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_HOST_H], [1], [Define to 1 if you have host.h in simgrid/.])])
|
|
|
+ AC_CHECK_HEADERS([xbt/base.h], [AC_DEFINE([STARPU_HAVE_XBT_BASE_H], [1], [Define to 1 if you have base.h in xbt/.])])
|
|
|
+ AC_CHECK_HEADERS([simgrid/version.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_VERSION_H], [1], [Define to 1 if you have version.h in simgrid/.])], [], [[
|
|
|
+ #ifdef STARPU_HAVE_XBT_BASE_H
|
|
|
+ #include <xbt/base.h>
|
|
|
+ #endif
|
|
|
+ ]])
|
|
|
AC_CHECK_HEADERS([simgrid/simdag.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_SIMDAG_H], [1], [Define to 1 if you have simdag.h in simgrid/.])])
|
|
|
AC_CHECK_HEADERS([xbt/synchro.h], [AC_DEFINE([STARPU_HAVE_XBT_SYNCHRO_H], [1], [Define to 1 if you have synchro.h in xbt/.])])
|
|
|
+ AC_CHECK_HEADERS([xbt/config.h], [AC_DEFINE([STARPU_HAVE_XBT_CONFIG_H], [1], [Define to 1 if you have config.h in xbt/.])])
|
|
|
+ AC_CHECK_HEADERS([simgrid/actor.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_ACTOR_H], [1], [Define to 1 if you have actor.h in simgrid/.])])
|
|
|
+ AC_CHECK_HEADERS([simgrid/engine.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_ENGINE_H], [1], [Define to 1 if you have engine.h in simgrid/.])])
|
|
|
+ AC_CHECK_HEADERS([simgrid/semaphore.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_SEMAPHORE_H], [1], [Define to 1 if you have semaphore.h in simgrid/.])])
|
|
|
+ AC_CHECK_HEADERS([simgrid/mutex.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_MUTEX_H], [1], [Define to 1 if you have mutex.h in simgrid/.])])
|
|
|
+ AC_CHECK_HEADERS([simgrid/cond.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_COND_H], [1], [Define to 1 if you have cond.h in simgrid/.])])
|
|
|
+ AC_CHECK_HEADERS([simgrid/barrier.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_BARRIER_H], [1], [Define to 1 if you have barrier.h in simgrid/.])])
|
|
|
+ AC_CHECK_HEADERS([simgrid/engine.h])
|
|
|
+ AC_CHECK_HEADERS([simgrid/zone.h], [AC_DEFINE([STARPU_HAVE_SIMGRID_ZONE_H], [1], [Define to 1 if you have zone.h in simgrid/.])])
|
|
|
AC_CHECK_TYPES([smx_actor_t], [AC_DEFINE([STARPU_HAVE_SMX_ACTOR_T], [1], [Define to 1 if you have the smx_actor_t type.])], [], [[#include <simgrid/simix.h>]])
|
|
|
|
|
|
# Latest functions
|
|
|
- AC_CHECK_FUNCS([MSG_process_attach MSG_zone_get_hosts MSG_process_self_name MSG_process_userdata_init])
|
|
|
- AC_CHECK_FUNCS([xbt_mutex_try_acquire smpi_process_set_user_data sg_zone_get_by_name sg_link_name sg_host_route sg_host_self sg_host_speed simcall_process_create sg_config_continue_after_help])
|
|
|
+ AC_CHECK_FUNCS([MSG_process_attach sg_actor_attach sg_actor_init MSG_zone_get_hosts sg_zone_get_hosts MSG_process_self_name MSG_process_userdata_init sg_actor_data])
|
|
|
+ AC_CHECK_FUNCS([xbt_mutex_try_acquire smpi_process_set_user_data SMPI_thread_create sg_zone_get_by_name sg_link_name sg_host_route sg_host_self sg_host_speed simcall_process_create sg_config_continue_after_help])
|
|
|
+ AC_CHECK_FUNCS([simgrid_init], [AC_DEFINE([STARPU_SIMGRID_HAVE_SIMGRID_INIT], [1], [Define to 1 if you have the `simgrid_init' function.])])
|
|
|
AC_CHECK_FUNCS([xbt_barrier_init], [AC_DEFINE([STARPU_SIMGRID_HAVE_XBT_BARRIER_INIT], [1], [Define to 1 if you have the `xbt_barrier_init' function.])])
|
|
|
+ AC_CHECK_FUNCS([sg_actor_sleep_for sg_actor_self sg_actor_ref sg_host_get_properties sg_host_send_to sg_host_sendto sg_cfg_set_int sg_actor_self_execute sg_actor_execute simgrid_get_clock])
|
|
|
AC_CHECK_DECLS([smpi_process_set_user_data], [], [], [[#include <smpi/smpi.h>]])
|
|
|
|
|
|
# Oldies for compatibility with older simgrid
|
|
|
AC_CHECK_FUNCS([MSG_get_as_by_name MSG_zone_get_by_name MSG_environment_get_routing_root MSG_host_get_speed])
|
|
|
|
|
|
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
|
|
|
- [[
|
|
|
-#ifdef STARPU_HAVE_SIMGRID_MSG_H
|
|
|
-#include <simgrid/msg.h>
|
|
|
-#else
|
|
|
-#include <msg/msg.h>
|
|
|
-#endif
|
|
|
- ]],
|
|
|
- [[msg_host_t foo; ]]
|
|
|
- )],
|
|
|
- [],
|
|
|
- [
|
|
|
- AC_MSG_ERROR(StarPU needs a version of Simgrid which defines the type msg_host_t (should be any version >= 3.8.1))
|
|
|
- ])
|
|
|
AC_DEFINE(STARPU_SIMGRID, [1], [Define this to enable simgrid execution])
|
|
|
# We won't bind or detect anything
|
|
|
with_hwloc=no
|
|
@@ -314,19 +311,23 @@ if test x$enable_simgrid = xyes ; then
|
|
|
if test x$enable_shared = xno ; then
|
|
|
# When linking statically, libtool does not realize we need libstdc++ for simgrid_cpp.cpp
|
|
|
SIMGRID_LIBS="$SIMGRID_LIBS -lstdc++"
|
|
|
- LDFLAGS="$LDFLAGS -lstdc++"
|
|
|
+ LIBS="$LIBS -lstdc++"
|
|
|
fi
|
|
|
|
|
|
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
|
- #ifdef HAVE_SIMGRID_MSG_H
|
|
|
- #include <simgrid/msg.h>
|
|
|
- #include <simgrid/host.h>
|
|
|
- #else
|
|
|
- #include <msg/msg.h>
|
|
|
- #endif
|
|
|
- ]])],,
|
|
|
- CXXFLAGS="-std=c++11 $CXXFLAGS"
|
|
|
- NVCCFLAGS="-std=c++11 $NVCCFLAGS")
|
|
|
+ case \ $CXXFLAGS\ in
|
|
|
+ *\ -std=*\ *) ;;
|
|
|
+ *)
|
|
|
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
|
+ #ifdef STARPU_HAVE_SIMGRID_MSG_H
|
|
|
+ #include <simgrid/msg.h>
|
|
|
+ #include <simgrid/host.h>
|
|
|
+ #else
|
|
|
+ #include <msg/msg.h>
|
|
|
+ #endif
|
|
|
+ ]])],,
|
|
|
+ CXXFLAGS="-std=c++11 $CXXFLAGS")
|
|
|
+ ;;
|
|
|
+ esac
|
|
|
AC_LANG_POP([C++])
|
|
|
AC_ARG_ENABLE(simgrid-mc, [AS_HELP_STRING([--enable-simgrid-mc],
|
|
|
[Enable using Model Checker of simgrid])],
|
|
@@ -334,6 +335,7 @@ if test x$enable_simgrid = xyes ; then
|
|
|
if test x$enable_simgrid_mc = xyes ; then
|
|
|
AC_DEFINE(STARPU_SIMGRID_MC, [1], [Define this to enable Model Checker in simgrid execution])
|
|
|
AC_PATH_PROG([SIMGRID_MC], [simgrid-mc], [no], [$simgrid_dir/bin:$PATH])
|
|
|
+ LDFLAGS="$LDFLAGS -Wl,-znorelro -Wl,-znoseparate-code"
|
|
|
fi
|
|
|
fi
|
|
|
AM_CONDITIONAL(STARPU_SIMGRID_MC, test x$enable_simgrid_mc = xyes)
|
|
@@ -499,7 +501,7 @@ fi
|
|
|
AC_SUBST(CC_OR_MPICC, $cc_or_mpicc)
|
|
|
|
|
|
AC_ARG_ENABLE(mpi-pedantic-isend, [AS_HELP_STRING([--enable-mpi-pedantic-isend],
|
|
|
- [Enable StarPU MPI pedantic isend])],
|
|
|
+ [Prevent StarPU MPI from reading buffers while being sent over MPI])],
|
|
|
enable_mpi_pedantic_isend=$enableval, enable_mpi_pedantic_isend=no)
|
|
|
if test x$enable_mpi_pedantic_isend = xyes; then
|
|
|
AC_DEFINE(STARPU_MPI_PEDANTIC_ISEND, [1], [enable StarPU MPI pedantic isend])
|
|
@@ -697,9 +699,6 @@ if test x$enable_simgrid = xno ; then
|
|
|
fi
|
|
|
|
|
|
AM_CONDITIONAL(STARPU_MPI_CHECK, test x$running_mpi_check = xyes)
|
|
|
-if test x$running_mpi_check = xyes -a x$enable_simgrid = xyes -a x$enable_shared = xyes ; then
|
|
|
- AC_MSG_ERROR([MPI with simgrid can not work with shared libraries, use --disable-shared to fix this])
|
|
|
-fi
|
|
|
if test x$use_mpi = xyes ; then
|
|
|
AC_MSG_CHECKING(whether MPI tests should be run)
|
|
|
AC_MSG_RESULT($running_mpi_check)
|
|
@@ -727,6 +726,19 @@ else
|
|
|
running_mpi_check=no
|
|
|
fi
|
|
|
|
|
|
+if test x$build_mpi_lib = xyes -o x$build_nmad_lib = 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, use --disable-shared to fix this, or disable MPI with --disable-mpi])
|
|
|
+ else
|
|
|
+ CFLAGS="$CFLAGS -fPIC"
|
|
|
+ CXXFLAGS="$CXXFLAGS -fPIC"
|
|
|
+ NVCCFLAGS="$NVCCFLAGS --compiler-options -fPIC"
|
|
|
+ FFLAGS="$FFLAGS -fPIC"
|
|
|
+ fi
|
|
|
+ fi
|
|
|
+fi
|
|
|
+
|
|
|
AM_CONDITIONAL(STARPU_USE_MPI_MPI, test x$build_mpi_lib = xyes)
|
|
|
AM_CONDITIONAL(STARPU_USE_MPI_NMAD, test x$build_nmad_lib = xyes)
|
|
|
AM_CONDITIONAL(STARPU_USE_MPI, test x$build_nmad_lib = xyes -o x$build_mpi_lib = xyes)
|
|
@@ -910,6 +922,12 @@ if test x$have_pthread_setname_np = xyes; then
|
|
|
AC_DEFINE(STARPU_HAVE_PTHREAD_SETNAME_NP,[1],[pthread_setname_np is available])
|
|
|
fi
|
|
|
|
|
|
+if test "x$cross_compiling" = "xno"; then
|
|
|
+ STARPU_INIT_ZERO([[#include <pthread.h>]], pthread_mutex_t, PTHREAD_MUTEX_INITIALIZER)
|
|
|
+ STARPU_INIT_ZERO([[#include <pthread.h>]], pthread_cond_t, PTHREAD_COND_INITIALIZER)
|
|
|
+ STARPU_INIT_ZERO([[#include <pthread.h>]], pthread_rwlock_t, PTHREAD_RWLOCK_INITIALIZER)
|
|
|
+fi
|
|
|
+
|
|
|
# There is no posix_memalign on Mac OS X, only memalign
|
|
|
AC_CHECK_FUNCS([posix_memalign], [AC_DEFINE([STARPU_HAVE_POSIX_MEMALIGN], [1], [Define to 1 if you have the `posix_memalign' function.])])
|
|
|
AC_CHECK_FUNCS([memalign], [AC_DEFINE([STARPU_HAVE_MEMALIGN], [1], [Define to 1 if you have the `memalign' function.])])
|
|
@@ -1013,15 +1031,15 @@ if test "x$enable_hdf5" != xno ; then
|
|
|
enable_include_hdf5=no
|
|
|
for f in $hdf5_inc_dir; do
|
|
|
if test -n "$f" ; then
|
|
|
- SAVED_CFLAGS="${CFLAGS}"
|
|
|
- CFLAGS=-I${f}
|
|
|
+ SAVED_CPPFLAGS="${CPPFLAGS}"
|
|
|
+ CPPFLAGS="$CPPFLAGS -I$f"
|
|
|
AC_CHECK_HEADERS([hdf5.h])
|
|
|
if test "$ac_cv_header_hdf5_h" = "yes" ; then
|
|
|
- CFLAGS="-I${f} ${SAVED_CFLAGS}"
|
|
|
+ CPPFLAGS="-I${f} ${SAVED_CFLAGS}"
|
|
|
enable_include_hdf5=yes
|
|
|
break
|
|
|
else
|
|
|
- CFLAGS=${SAVED_CFLAGS}
|
|
|
+ CPPFLAGS=${SAVED_CPPFLAGS}
|
|
|
fi
|
|
|
unset ac_cv_header_hdf5_h
|
|
|
fi
|
|
@@ -1076,6 +1094,21 @@ STARPU_CHECK_SYNC_FETCH_AND_OR
|
|
|
# This defines HAVE_SYNC_LOCK_TEST_AND_SET
|
|
|
STARPU_CHECK_SYNC_LOCK_TEST_AND_SET
|
|
|
|
|
|
+# This defines HAVE_ATOMIC_COMPARE_EXCHANGE_N
|
|
|
+STARPU_CHECK_ATOMIC_COMPARE_EXCHANGE_N
|
|
|
+
|
|
|
+# This defines HAVE_ATOMIC_EXCHANGE_N
|
|
|
+STARPU_CHECK_ATOMIC_EXCHANGE_N
|
|
|
+
|
|
|
+# This defines HAVE_ATOMIC_FETCH_ADD
|
|
|
+STARPU_CHECK_ATOMIC_FETCH_ADD
|
|
|
+
|
|
|
+# This defines HAVE_ATOMIC_FETCH_OR
|
|
|
+STARPU_CHECK_ATOMIC_FETCH_OR
|
|
|
+
|
|
|
+# This defines HAVE_ATOMIC_TEST_AND_SET
|
|
|
+STARPU_CHECK_ATOMIC_TEST_AND_SET
|
|
|
+
|
|
|
# This defines HAVE_SYNC_SYNCHRONIZE
|
|
|
STARPU_CHECK_SYNC_SYNCHRONIZE
|
|
|
|
|
@@ -1416,6 +1449,25 @@ if test x$enable_cuda = xyes; then
|
|
|
STARPU_CUDA_LDFLAGS="$STARPU_CUDA_LDFLAGS -lcudart"
|
|
|
STARPU_CUFFT_LDFLAGS="-lcufft"
|
|
|
|
|
|
+ AC_LANG_PUSH([C++])
|
|
|
+ case \ $NVCCFLAGS\ in
|
|
|
+ *\ -std=*\ *) ;;
|
|
|
+ *)
|
|
|
+ SAVED_CXX="$CXX"
|
|
|
+ CXX="$NVCC"
|
|
|
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
|
+ #ifdef STARPU_HAVE_SIMGRID_MSG_H
|
|
|
+ #include <simgrid/msg.h>
|
|
|
+ #include <simgrid/host.h>
|
|
|
+ #else
|
|
|
+ #include <msg/msg.h>
|
|
|
+ #endif
|
|
|
+ ]])],,
|
|
|
+ NVCCFLAGS="-std=c++11 $NVCCFLAGS")
|
|
|
+ CXX="$SAVED_CXX"
|
|
|
+ esac
|
|
|
+ AC_LANG_POP([C++])
|
|
|
+
|
|
|
if test "$F77" = "gfortran" -o "$FC" = "gfortran" ; then
|
|
|
STARPU_CUDA_FORTRAN_LDFLAGS="-lgfortran"
|
|
|
AC_SUBST(STARPU_CUDA_FORTRAN_LDFLAGS)
|
|
@@ -1458,7 +1510,7 @@ if test x$enable_cuda = xyes; then
|
|
|
])
|
|
|
],
|
|
|
[
|
|
|
- AC_MSG_ERROR([NVML found, but nvml.h could not be compiled])
|
|
|
+ AC_MSG_WARN([NVML found, but nvml.h could not be compiled])
|
|
|
have_valid_nvml="no"
|
|
|
]
|
|
|
)
|
|
@@ -2176,12 +2228,14 @@ if test x$use_fxt = xyes; then
|
|
|
LDFLAGS="$LDFLAGS $FXT_LDFLAGS"
|
|
|
AC_CHECK_FUNCS([enable_fut_flush])
|
|
|
AC_CHECK_FUNCS([fut_set_filename])
|
|
|
+ AC_CHECK_FUNCS([fut_setup_flush_callback])
|
|
|
LDFLAGS="$save_LDFLAGS"
|
|
|
LIBS="$save_LIBS"
|
|
|
save_CFLAGS="$CFLAGS"
|
|
|
CFLAGS="$CFLAGS $FXT_CFLAGS"
|
|
|
AC_CHECK_DECLS([enable_fut_flush], [], [], [[#include <fut.h>]])
|
|
|
AC_CHECK_DECLS([fut_set_filename], [], [], [[#include <fut.h>]])
|
|
|
+ AC_CHECK_DECLS([fut_setup_flush_callback], [], [], [[#include <fut.h>]])
|
|
|
CFLAGS="$save_CFLAGS"
|
|
|
|
|
|
if test x$enable_simgrid = xyes -a x$enable_shared = xno ; then
|
|
@@ -2190,6 +2244,10 @@ if test x$use_fxt = xyes; then
|
|
|
FXT_LIBS="$(pkg-config --variable=libdir fxt)/libfxt.a -Wl,--as-needed $(pkg-config --libs --static fxt) -Wl,--no-as-needed"
|
|
|
fi
|
|
|
|
|
|
+ AC_CHECK_LIB([papi], [PAPI_library_init],
|
|
|
+ [AC_DEFINE([STARPU_PAPI], [1], [Define to 1 if you have the libpapi library])
|
|
|
+ PAPI_LIBS=-lpapi])
|
|
|
+
|
|
|
##########################################
|
|
|
# Poti is a library to generate paje trace files
|
|
|
##########################################
|
|
@@ -2299,6 +2357,10 @@ fi
|
|
|
AM_CONDITIONAL([STARPU_USE_AYUDAME1], [test "x$enable_ayudame1" = "xyes"])
|
|
|
AM_CONDITIONAL([STARPU_USE_AYUDAME2], [test "x$enable_ayudame2" = "xyes"])
|
|
|
|
|
|
+
|
|
|
+STARPU_FXT_EVENT_DEFINES="`grep -E '#define\s+_STARPU_(MPI_)?FUT_' ${srcdir}/src/common/fxt.h ${srcdir}/mpi/src/starpu_mpi_fxt.h | grep 0x | grep -v 0x1 | cut -d : -f 2`"
|
|
|
+AC_SUBST([STARPU_FXT_EVENT_DEFINES])
|
|
|
+
|
|
|
###############################################################################
|
|
|
# #
|
|
|
# Miscellaneous options for StarPU #
|
|
@@ -3056,6 +3118,14 @@ if test x$blas_lib = xmaybe; then
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
+if test x$blas_lib = xsystem; then
|
|
|
+ AC_CHECK_HEADER([cblas.h], [have_cblas_h=yes], [have_cblas_h=no])
|
|
|
+fi
|
|
|
+AM_CONDITIONAL(STARPU_HAVE_CBLAS_H, test x$have_cblas_h = xyes)
|
|
|
+if test x$have_cblas_h = xyes; then
|
|
|
+ AC_DEFINE(STARPU_HAVE_CBLAS_H, [1], [The blas library has blas.h])
|
|
|
+fi
|
|
|
+
|
|
|
AM_CONDITIONAL(ATLAS_BLAS_LIB, test x$blas_lib = xatlas)
|
|
|
AM_CONDITIONAL(GOTO_BLAS_LIB, test x$blas_lib = xgoto)
|
|
|
AM_CONDITIONAL(MKL_BLAS_LIB, test x$blas_lib = xmkl)
|
|
@@ -3072,9 +3142,15 @@ AC_SUBST(BLAS_LIB,$blas_lib)
|
|
|
# Multiple linear regression #
|
|
|
# #
|
|
|
###############################################################################
|
|
|
+if test x$enable_simgrid = xyes ; then
|
|
|
+ # There is no need for building mlr models in simgrid mode
|
|
|
+ default_enable_mlr=no
|
|
|
+else
|
|
|
+ default_enable_mlr=yes
|
|
|
+fi
|
|
|
AC_ARG_ENABLE(mlr, [AS_HELP_STRING([--disable-mlr],
|
|
|
[Disable multiple linear regression models])],
|
|
|
- enable_mlr=$enableval, enable_mlr=yes)
|
|
|
+ enable_mlr=$enableval, enable_mlr=$default_enable_mlr)
|
|
|
|
|
|
AC_MSG_CHECKING(whether multiple linear regression models are disabled)
|
|
|
if test x$enable_mlr = xyes -a "$starpu_windows" != "yes" ; then
|
|
@@ -3082,6 +3158,9 @@ if test x$enable_mlr = xyes -a "$starpu_windows" != "yes" ; then
|
|
|
install_min_dgels=no
|
|
|
support_mlr=yes
|
|
|
STARPU_SEARCH_LIBS(LAPACK,[dgels_],[lapack],use_system_lapack=yes,,)
|
|
|
+ if test x$blas_lib = xnone ; then
|
|
|
+ use_system_lapack=no
|
|
|
+ fi
|
|
|
if test x$use_system_lapack = xyes; then
|
|
|
AC_DEFINE(STARPU_MLR_MODEL, [1], [use reflapack library])
|
|
|
LDFLAGS="-llapack $LDFLAGS"
|
|
@@ -3205,7 +3284,7 @@ AS_IF([test "$use_hwloc" != "no"],
|
|
|
AM_CONDITIONAL(STARPU_HAVE_HWLOC, test "x$have_valid_hwloc" = "xyes")
|
|
|
# in case hwloc was explicitely required, but is not available, this is an error
|
|
|
AS_IF([test "$use_hwloc" = "yes" -a "$have_valid_hwloc" = "no"],
|
|
|
- [AC_MSG_ERROR([cannot find hwloc])]
|
|
|
+ [AC_MSG_ERROR([cannot find hwloc or pkg-config])]
|
|
|
)
|
|
|
# in case hwloc is not available but was not explicitely disabled, this is an error
|
|
|
AS_IF([test "$have_valid_hwloc" = "no" -a "$use_hwloc" != "no"],
|
|
@@ -3498,7 +3577,7 @@ AM_CONDITIONAL(AVAILABLE_DOC, [test x$available_doc != xno])
|
|
|
###############################################################################
|
|
|
|
|
|
# these are the flags needed for linking libstarpu (and thus also for static linking)
|
|
|
-LIBSTARPU_LDFLAGS="$STARPU_OPENCL_LDFLAGS $STARPU_CUDA_LDFLAGS $HWLOC_LIBS $FXT_LIBS $STARPU_COI_LDFLAGS $STARPU_SCIF_LDFLAGS $STARPU_RCCE_LDFLAGS $STARPU_LEVELDB_LDFLAGS $STARPU_GLPK_LDFLAGS $STARPU_LEVELDB_LDFLAGS $SIMGRID_LIBS $STARPU_BLAS_LDFLAGS $STARPU_OMP_LDFLAGS $DGELS_LIBS"
|
|
|
+LIBSTARPU_LDFLAGS="$STARPU_OPENCL_LDFLAGS $STARPU_CUDA_LDFLAGS $HWLOC_LIBS $FXT_LIBS $PAPI_LIBS $STARPU_COI_LDFLAGS $STARPU_SCIF_LDFLAGS $STARPU_RCCE_LDFLAGS $STARPU_LEVELDB_LDFLAGS $STARPU_GLPK_LDFLAGS $STARPU_LEVELDB_LDFLAGS $SIMGRID_LIBS $STARPU_BLAS_LDFLAGS $STARPU_OMP_LDFLAGS $DGELS_LIBS"
|
|
|
AC_SUBST([LIBSTARPU_LDFLAGS])
|
|
|
|
|
|
LIBSTARPU_LINK=libstarpu-$STARPU_EFFECTIVE_VERSION.la
|
|
@@ -3522,6 +3601,7 @@ AC_CONFIG_COMMANDS([executable-scripts], [
|
|
|
chmod +x tools/starpu_codelet_profile
|
|
|
chmod +x tools/starpu_codelet_histo_profile
|
|
|
chmod +x tools/starpu_mpi_comm_matrix.py
|
|
|
+ chmod +x tools/starpu_fxt_number_events_to_names.py
|
|
|
chmod +x tools/starpu_workers_activity
|
|
|
chmod +x tools/starpu_paje_draw_histogram
|
|
|
chmod +x tools/starpu_paje_state_stats
|
|
@@ -3532,6 +3612,9 @@ AC_CONFIG_COMMANDS([executable-scripts], [
|
|
|
chmod +x doc/doxygen/doxygen_filter.sh
|
|
|
chmod +x doc/doxygen_dev/doxygen_filter.sh
|
|
|
mkdir -p tests/microbenchs
|
|
|
+ test -e tests/microbenchs/tasks_data_overhead.sh || ln -sf $ac_abs_top_srcdir/tests/microbenchs/tasks_data_overhead.sh tests/microbenchs/
|
|
|
+ test -e tests/microbenchs/sync_tasks_data_overhead.sh || ln -sf $ac_abs_top_srcdir/tests/microbenchs/sync_tasks_data_overhead.sh tests/microbenchs/
|
|
|
+ test -e tests/microbenchs/async_tasks_data_overhead.sh || ln -sf $ac_abs_top_srcdir/tests/microbenchs/async_tasks_data_overhead.sh tests/microbenchs/
|
|
|
test -e tests/microbenchs/tasks_size_overhead.sh || ln -sf $ac_abs_top_srcdir/tests/microbenchs/tasks_size_overhead.sh tests/microbenchs/
|
|
|
test -e tests/microbenchs/tasks_size_overhead_sched.sh || ln -sf $ac_abs_top_srcdir/tests/microbenchs/tasks_size_overhead_sched.sh tests/microbenchs/
|
|
|
test -e tests/microbenchs/tasks_size_overhead_scheds.sh || ln -sf $ac_abs_top_srcdir/tests/microbenchs/tasks_size_overhead_scheds.sh tests/microbenchs/
|
|
@@ -3542,6 +3625,8 @@ AC_CONFIG_COMMANDS([executable-scripts], [
|
|
|
test -e tests/microbenchs/parallel_independent_heterogeneous_tasks.sh || ln -sf $ac_abs_top_srcdir/tests/microbenchs/parallel_independent_heterogeneous_tasks.sh tests/microbenchs/
|
|
|
test -e tests/microbenchs/parallel_independent_homogeneous_tasks_data.sh || ln -sf $ac_abs_top_srcdir/tests/microbenchs/parallel_independent_homogeneous_tasks_data.sh tests/microbenchs/
|
|
|
test -e tests/microbenchs/parallel_independent_homogeneous_tasks.sh || ln -sf $ac_abs_top_srcdir/tests/microbenchs/parallel_independent_homogeneous_tasks.sh tests/microbenchs/
|
|
|
+ test -e tests/microbenchs/parallel_redux_homogeneous_tasks_data.sh || ln -sf $ac_abs_top_srcdir/tests/microbenchs/parallel_redux_homogeneous_tasks_data.sh tests/microbenchs/
|
|
|
+ test -e tests/microbenchs/parallel_redux_heterogeneous_tasks_data.sh || ln -sf $ac_abs_top_srcdir/tests/microbenchs/parallel_redux_heterogeneous_tasks_data.sh tests/microbenchs/
|
|
|
mkdir -p tests/datawizard
|
|
|
test -e tests/datawizard/locality.sh || ln -sf $ac_abs_top_srcdir/tests/datawizard/locality.sh tests/datawizard/
|
|
|
mkdir -p tests/overlap
|
|
@@ -3555,6 +3640,8 @@ AC_CONFIG_COMMANDS([executable-scripts], [
|
|
|
test -e examples/lu/lu.sh || ln -sf $ac_abs_top_srcdir/examples/lu/lu.sh examples/lu/
|
|
|
mkdir -p examples/cholesky
|
|
|
test -e examples/cholesky/cholesky.sh || ln -sf $ac_abs_top_srcdir/examples/cholesky/cholesky.sh examples/cholesky/
|
|
|
+ mkdir -p examples/mult
|
|
|
+ test -e examples/mult/sgemm.sh || ln -sf $ac_abs_top_srcdir/examples/mult/sgemm.sh examples/mult/
|
|
|
test -e tools/starpu_paje_draw_histogram.R || ln -sf $ac_abs_top_srcdir/tools/starpu_paje_draw_histogram.R tools/starpu_paje_draw_histogram.R
|
|
|
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
|
|
@@ -3588,6 +3675,7 @@ AC_OUTPUT([
|
|
|
tools/starpu_codelet_profile
|
|
|
tools/starpu_codelet_histo_profile
|
|
|
tools/starpu_mpi_comm_matrix.py
|
|
|
+ tools/starpu_fxt_number_events_to_names.py
|
|
|
tools/starpu_workers_activity
|
|
|
tools/starpu_paje_draw_histogram
|
|
|
tools/starpu_paje_state_stats
|