Browse Source

Do not hardcode the maximum number of workers in the starpu.h header. Instead,
we use autoconf to compute this number.

Cédric Augonnet 14 years ago
parent
commit
74cc2f1adc
3 changed files with 8 additions and 4 deletions
  1. 7 0
      configure.ac
  2. 0 4
      include/starpu.h
  3. 1 0
      include/starpu_config.h.in

+ 7 - 0
configure.ac

@@ -658,6 +658,13 @@ AC_MSG_RESULT($perf_model_dir)
 AC_CHECK_LIB([rt], [clock_gettime])
 AC_CHECK_FUNCS([clock_gettime])
 
+# Compute the maximum number of workers (we round it to 16 for alignment
+# purposes).
+nmaxworkers=`expr 16 \* \( \( $nmaxcpus + $nmaxcudadev + $nmaxopencldev + 15 \) / 16 \) `
+AC_MSG_CHECKING(Maximum number of workers)
+AC_MSG_RESULT($nmaxworkers)
+AC_DEFINE_UNQUOTED(STARPU_NMAXWORKERS, [$nmaxworkers], [Maximum number of workers])
+
 ###############################################################################
 #                                                                             #
 #                                    MPI                                      #

+ 0 - 4
include/starpu.h

@@ -20,10 +20,6 @@
 #include <stdlib.h>
 #include <stdint.h>
 
-/* Maximum number of workers supported by StarPU, the actual number of worker
- * is given by the startpu_get_worker_count method */
-#define STARPU_NMAXWORKERS	32
-
 #include <starpu_config.h>
 #include <starpu_util.h>
 #include <starpu_data.h>

+ 1 - 0
include/starpu_config.h.in

@@ -39,6 +39,7 @@
 #undef STARPU_NMAXBUFS
 #undef STARPU_MAXCUDADEVS
 #undef STARPU_MAXOPENCLDEVS
+#undef STARPU_NMAXWORKERS
 
 #undef STARPU_HAVE_LIBNUMA