瀏覽代碼

Merge branch 'master' of git+ssh://scm.gforge.inria.fr/gitroot/starpu/starpu

Samuel Thibault 5 年之前
父節點
當前提交
e229a0fa58

+ 0 - 8
doc/doxygen/Makefile.am

@@ -96,16 +96,8 @@ chapters =	\
 	chapters/code/disk_copy.c \
 	chapters/code/disk_compute.c \
 	chapters/code/nf_initexit.f90 \
-	chapters/api/codelet_and_tasks.doxy \
 	chapters/api/fft_support.doxy \
-	chapters/api/mpi.doxy \
-	chapters/api/opencl_extensions.doxy \
-	chapters/api/openmp_runtime_support.doxy \
-	chapters/api/mic_extensions.doxy \
-	chapters/api/scheduling_contexts.doxy \
-	chapters/api/scheduling_policy.doxy \
 	chapters/api/versioning.doxy \
-	chapters/api/workers.doxy \
 	chapters/api/threads.doxy
 
 images = 	\

+ 2 - 2
doc/doxygen/chapters/450_native_fortran_support.doxy

@@ -25,7 +25,7 @@ Every symbol of the Native Fortran support API is prefixed by
 
 Note: Mixing uses of <c>fstarpu_</c> and <c>starpu_</c>
 symbols in the same Fortran code has unspecified behaviour.
-See \ref APIMIX for a discussion about valid and unspecified
+See \ref NFAPIMIX for a discussion about valid and unspecified
 combinations.
 
 \section NFImplementation Implementation Details and Specificities
@@ -40,7 +40,7 @@ standard. It has currently been tested successfully with GNU GFortran 4.9,
 GFortran 5.x, GFortran 6.x and the Intel Fortran Compiler >= 2016. It is known
 not to work with GNU GFortran < 4.9, Intel Fortran Compiler < 2016.
 
-See Section \ref OldFortran on information on how to write StarPU
+See Section \ref NFOldFortran on information on how to write StarPU
 Fortran code with older compilers.
 
 \subsection NFConfiguration Configuration

+ 7 - 0
doc/doxygen/chapters/501_environment_variables.doxy

@@ -757,6 +757,13 @@ and allows studying scheduling overhead of the runtime system. However,
 it also makes simulation non-deterministic.
 </dd>
 
+<dt>STARPU_SINK</dt>
+<dd>
+\anchor STARPU_SINK
+\addindex __env__STARPU_SINK
+Variable defined by StarPU when running MPI Xeon PHI on the sink.
+</dd>
+
 </dl>
 
 \section MiscellaneousAndDebug Miscellaneous And Debug

+ 8 - 1
doc/doxygen/chapters/510_configure_options.doxy

@@ -726,12 +726,19 @@ exploring various execution paths.
 <dd>
 \anchor enable-calibration-heuristic
 \addindex __configure__--enable-calibration-heuristic
-Allows to set the maximum authorized percentage of deviation
+Allow to set the maximum authorized percentage of deviation
 for the history-based calibrator of StarPU. A correct value
 of this parameter must be in [0..100]. The default value of
 this parameter is 10. Experimental.
 </dd>
 
+<dt>--disable-mlr</dt>
+<dd>
+\anchor disable-mlr
+\addindex __configure__--disable-mlr
+Allow to disable multiple linear regression models (see \ref PerformanceModelExample)
+</dd>
+
 </dl>
 
 */

+ 0 - 25
doc/doxygen/chapters/api/codelet_and_tasks.doxy

@@ -1,25 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2009-2020  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
- *
- * 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
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-/*! \ingroup API_Codelet_And_Tasks
-
-\def STARPU_NMAXBUFS
-\ingroup API_Codelet_And_Tasks
-Define the maximum number of buffers that tasks will be able to take
-as parameters. The default value is 8, it can be changed by using the
-configure option \ref enable-maxbuffers "--enable-maxbuffers".
-
-*/

+ 0 - 28
doc/doxygen/chapters/api/mic_extensions.doxy

@@ -1,28 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2009-2020  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
- *
- * 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
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-/*! \ingroup API_MIC_Extensions
-
-\def STARPU_USE_MIC
-\ingroup API_MIC_Extensions
-Defined when StarPU has been installed with MIC support.
-It should be used in your code to detect the availability of MIC.
-
-\def STARPU_MAXMICDEVS
-\ingroup API_MIC_Extensions
-Define the maximum number of MIC devices that are supported by StarPU.
-
-*/

+ 0 - 34
doc/doxygen/chapters/api/mpi.doxy

@@ -1,34 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2009-2020  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
- *
- * 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
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-/*! \ingroup API_MPI_Support MPI Support
-
-\def STARPU_USE_MPI
-\ingroup API_MPI_Support
-Defined when StarPU has been installed with MPI support. It should be
-used in your code to detect the availability of MPI.
-
-@name MPI Master Slave
-\anchor MPIMasterSlaveSupport
-\ingroup API_MPI_Support
-
-\def STARPU_USE_MPI_MASTER_SLAVE
-\ingroup API_MPI_Support
-Defined when StarPU has been installed with MPI Master Slave
-support. It should be used in your code to detect the availability of
-MPI Master Slave.
-
-*/

+ 0 - 35
doc/doxygen/chapters/api/opencl_extensions.doxy

@@ -1,35 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2009-2020  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
- *
- * 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
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-/*! \ingroup API_OpenCL_Extensions
-
-\def STARPU_USE_OPENCL
-\ingroup API_OpenCL_Extensions
-Defined when StarPU has been installed with
-OpenCL support. It should be used in your code to detect the
-availability of OpenCL as shown in \ref FullSourceCodeVectorScal.
-
-\def STARPU_MAXOPENCLDEVS
-\ingroup API_OpenCL_Extensions
-Define the maximum number of OpenCL devices that are
-supported by StarPU.
-
-\def STARPU_OPENCL_DATADIR
-\ingroup API_OpenCL_Extensions
-Define the directory in which the OpenCL codelets of the
-applications provided with StarPU have been installed.
-
-*/

+ 0 - 25
doc/doxygen/chapters/api/openmp_runtime_support.doxy

@@ -1,25 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2014-2020  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
- *
- * 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
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-/*! \ingroup API_OpenMP_Runtime_Support
-
-\def STARPU_OPENMP
-\ingroup API_OpenMP_Runtime_Support
-This macro is defined when StarPU has been installed with OpenMP Runtime
-support. It should be used in your code to detect the availability of
-the runtime support for OpenMP.
-
-*/

+ 0 - 25
doc/doxygen/chapters/api/scheduling_contexts.doxy

@@ -1,25 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2009-2020  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
- * Copyright (C) 2016       Uppsala 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
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-/*! \ingroup API_Scheduling_Contexts
-
-\def STARPU_NMAX_SCHED_CTXS
-\ingroup API_Scheduling_Policy
-Define the maximum number of scheduling contexts managed by StarPU. The default value can be
-modified at configure by using the option \ref enable-max-sched-ctxs "--enable-max-sched-ctxs".
-
-*/

+ 0 - 24
doc/doxygen/chapters/api/scheduling_policy.doxy

@@ -1,24 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2009-2020  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
- *
- * 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
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-/*! \ingroup API_Scheduling_Policy Scheduling Policy
-
-\def STARPU_MAXIMPLEMENTATIONS
-\ingroup API_Scheduling_Policy
-Define the maximum number of implementations per architecture. The default value can be modified at
-configure by using the option \ref enable-maximplementations "--enable-maximplementations".
-
-*/

+ 0 - 12
doc/doxygen/chapters/api/versioning.doxy

@@ -16,18 +16,6 @@
 
 /*! \defgroup API_Versioning Versioning
 
-\def STARPU_MAJOR_VERSION
-\ingroup API_Versioning
-Define the major version of StarPU. This is the version used when compiling the application.
-
-\def STARPU_MINOR_VERSION
-\ingroup API_Versioning
-Define the minor version of StarPU. This is the version used when compiling the application.
-
-\def STARPU_RELEASE_VERSION
-\ingroup API_Versioning
-Define the release version of StarPU. This is the version used when compiling the application.
-
 \fn void starpu_get_version(int *major, int *minor, int *release)
 \ingroup API_Versioning
 Return as 3 integers the version of StarPU used when running the application.

+ 0 - 39
doc/doxygen/chapters/api/workers.doxy

@@ -1,39 +0,0 @@
-/* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2009-2020  Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
- *
- * 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
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
-
-/*! \ingroup API_Workers_Properties
-
-\def STARPU_NMAXWORKERS
-\ingroup API_Workers_Properties
-Define the maximum number of workers managed by StarPU.
-
-\def STARPU_MAXCPUS
-\ingroup API_Workers_Properties
-Define the maximum number of CPU workers managed by StarPU. The default value can be modified at
-configure by using the option \ref enable-maxcpus "--enable-maxcpus".
-
-\def STARPU_MAXNUMANODES
-\ingroup API_Workers_Properties
-Define the maximum number of NUMA nodes managed by StarPU. The default value can be modified at
-configure by using the option \ref enable-maxnumanodes "--enable-maxnumanodes".
-
-\def STARPU_MAXNODES
-\ingroup API_Workers_Properties
-Define the maximum number of memory nodes managed by StarPU. The default value can be modified at
-configure by using the option \ref enable-maxnodes "--enable-maxnodes". Reducing it allows to
-considerably reduce memory used by StarPU data structures.
-
-*/

+ 0 - 1
doc/doxygen/doxygen-config.cfg.in

@@ -17,7 +17,6 @@
 #
 INPUT                  = @top_srcdir@/doc/doxygen/chapters \
 		       	 @top_srcdir@/doc/doxygen/chapters/api \
-		       	 @top_srcdir@/doc/doxygen/chapters/api/sc_hypervisor \
                          @top_builddir@/doc/doxygen/starpu_config.h \
 			 @top_srcdir@/include/starpu_bitmap.h \
 	 		 @top_srcdir@/include/starpu_bound.h \

+ 83 - 167
doc/doxygen_dev/Makefile.am

@@ -106,173 +106,89 @@ dox_inputs = $(DOX_CONFIG) 				\
 	config.h					\
 	chapters/version.sty				\
 	chapters/version.html				\
-	$(top_srcdir)/src/datawizard/data_request.h \
-	$(top_srcdir)/src/datawizard/data_request.h \
-	$(top_srcdir)/src/datawizard/coherency.h \
-	$(top_srcdir)/src/datawizard/sort_data_handles.h \
-	$(top_srcdir)/src/datawizard/memalloc.h \
-	$(top_srcdir)/src/datawizard/copy_driver.h \
-	$(top_srcdir)/src/datawizard/filters.h \
-	$(top_srcdir)/src/datawizard/datastats.h \
-	$(top_srcdir)/src/datawizard/write_back.h \
-	$(top_srcdir)/src/datawizard/interfaces/data_interface.h \
-	$(top_srcdir)/src/datawizard/memory_manager.h \
-	$(top_srcdir)/src/datawizard/node_ops.h \
-	$(top_srcdir)/src/datawizard/memstats.h \
-	$(top_srcdir)/src/datawizard/datawizard.h \
-	$(top_srcdir)/src/datawizard/memory_nodes.h \
-	$(top_srcdir)/src/datawizard/footprint.h \
-	$(top_srcdir)/src/datawizard/malloc.h \
-	$(top_srcdir)/src/drivers/cpu/driver_cpu.h \
-	$(top_srcdir)/src/drivers/cuda/driver_cuda.h \
-	$(top_srcdir)/src/drivers/opencl/driver_opencl_utils.h \
-	$(top_srcdir)/src/drivers/opencl/driver_opencl.h \
-	$(top_srcdir)/src/drivers/disk/driver_disk.h \
-	$(top_srcdir)/src/drivers/mpi/driver_mpi_common.h \
-	$(top_srcdir)/src/drivers/mpi/driver_mpi_sink.h \
-	$(top_srcdir)/src/drivers/mpi/driver_mpi_source.h \
-	$(top_srcdir)/src/drivers/mp_common/sink_common.h \
-	$(top_srcdir)/src/drivers/mp_common/mp_common.h \
-	$(top_srcdir)/src/drivers/mp_common/source_common.h \
-	$(top_srcdir)/src/drivers/driver_common/driver_common.h \
-	$(top_srcdir)/src/drivers/mic/driver_mic_sink.h \
-	$(top_srcdir)/src/drivers/mic/driver_mic_source.h \
-	$(top_srcdir)/src/drivers/mic/driver_mic_common.h \
-	$(top_srcdir)/src/profiling/profiling.h \
-	$(top_srcdir)/src/profiling/bound.h \
-	$(top_srcdir)/src/util/starpu_data_cpy.h \
-	$(top_srcdir)/src/util/openmp_runtime_support.h \
-	$(top_srcdir)/src/util/starpu_clusters_create.h \
-	$(top_srcdir)/src/util/starpu_task_insert_utils.h \
-	$(top_srcdir)/src/common/graph.h \
-	$(top_srcdir)/src/common/fxt.h \
-	$(top_srcdir)/src/common/starpu_spinlock.h \
-	$(top_srcdir)/src/common/rbtree_i.h \
-	$(top_srcdir)/src/common/rbtree.h \
-	$(top_srcdir)/src/common/timing.h \
-	$(top_srcdir)/src/common/rwlock.h \
-	$(top_srcdir)/src/common/barrier.h \
-	$(top_srcdir)/src/common/prio_list.h \
-	$(top_srcdir)/src/common/barrier_counter.h \
-	$(top_srcdir)/src/common/uthash.h \
-	$(top_srcdir)/src/common/knobs.h \
-	$(top_srcdir)/src/common/utils.h \
-	$(top_srcdir)/src/common/thread.h \
-	$(top_srcdir)/src/common/list.h \
-	$(top_srcdir)/src/debug/starpu_debug_helpers.h \
-	$(top_srcdir)/src/debug/traces/starpu_fxt.h \
-	$(top_srcdir)/src/starpu_parameters.h \
-	$(top_srcdir)/src/sched_policies/fifo_queues.h \
-	$(top_srcdir)/src/sched_policies/helper_mct.h \
-	$(top_srcdir)/src/sched_policies/sched_component.h \
-	$(top_srcdir)/src/sched_policies/prio_deque.h \
-	$(top_srcdir)/src/core/jobs.h \
-	$(top_srcdir)/src/core/disk_ops/unistd/disk_unistd_global.h \
-	$(top_srcdir)/src/core/dependencies/tags.h \
-	$(top_srcdir)/src/core/dependencies/data_concurrency.h \
-	$(top_srcdir)/src/core/dependencies/implicit_data_deps.h \
-	$(top_srcdir)/src/core/dependencies/cg.h \
-	$(top_srcdir)/src/core/idle_hook.h \
-	$(top_srcdir)/src/core/sched_ctx_list.h \
-	$(top_srcdir)/src/core/perfmodel/multiple_regression.h \
-	$(top_srcdir)/src/core/perfmodel/perfmodel.h \
-	$(top_srcdir)/src/core/perfmodel/regression.h \
-	$(top_srcdir)/src/core/debug.h \
-	$(top_srcdir)/src/core/sched_ctx.h \
-	$(top_srcdir)/src/core/simgrid.h \
-	$(top_srcdir)/src/core/task_bundle.h \
-	$(top_srcdir)/src/core/topology.h \
-	$(top_srcdir)/src/core/combined_workers.h \
-	$(top_srcdir)/src/core/detect_combined_workers.h \
-	$(top_srcdir)/src/core/task.h \
-	$(top_srcdir)/src/core/disk.h \
-	$(top_srcdir)/src/core/sched_policy.h \
-	$(top_srcdir)/src/core/errorcheck.h \
-	$(top_srcdir)/src/core/progress_hook.h \
-	$(top_srcdir)/src/core/drivers.h \
-	$(top_srcdir)/src/core/workers.h
-	$(top_srcdir)/src/datawizard/coherency.h \
-	$(top_srcdir)/src/datawizard/sort_data_handles.h \
-	$(top_srcdir)/src/datawizard/memalloc.h \
-	$(top_srcdir)/src/datawizard/copy_driver.h \
-	$(top_srcdir)/src/datawizard/filters.h \
-	$(top_srcdir)/src/datawizard/datastats.h \
-	$(top_srcdir)/src/datawizard/write_back.h \
-	$(top_srcdir)/src/datawizard/interfaces/data_interface.h \
-	$(top_srcdir)/src/datawizard/memory_manager.h \
-	$(top_srcdir)/src/datawizard/node_ops.h \
-	$(top_srcdir)/src/datawizard/memstats.h \
-	$(top_srcdir)/src/datawizard/datawizard.h \
-	$(top_srcdir)/src/datawizard/memory_nodes.h \
-	$(top_srcdir)/src/datawizard/footprint.h \
-	$(top_srcdir)/src/datawizard/malloc.h \
-	$(top_srcdir)/src/drivers/cpu/driver_cpu.h \
-	$(top_srcdir)/src/drivers/cuda/driver_cuda.h \
-	$(top_srcdir)/src/drivers/opencl/driver_opencl_utils.h \
-	$(top_srcdir)/src/drivers/opencl/driver_opencl.h \
-	$(top_srcdir)/src/drivers/disk/driver_disk.h \
-	$(top_srcdir)/src/drivers/mpi/driver_mpi_common.h \
-	$(top_srcdir)/src/drivers/mpi/driver_mpi_sink.h \
-	$(top_srcdir)/src/drivers/mpi/driver_mpi_source.h \
-	$(top_srcdir)/src/drivers/mp_common/sink_common.h \
-	$(top_srcdir)/src/drivers/mp_common/mp_common.h \
-	$(top_srcdir)/src/drivers/mp_common/source_common.h \
-	$(top_srcdir)/src/drivers/driver_common/driver_common.h \
-	$(top_srcdir)/src/drivers/mic/driver_mic_sink.h \
-	$(top_srcdir)/src/drivers/mic/driver_mic_source.h \
-	$(top_srcdir)/src/drivers/mic/driver_mic_common.h \
-	$(top_srcdir)/src/profiling/profiling.h \
-	$(top_srcdir)/src/profiling/bound.h \
-	$(top_srcdir)/src/util/starpu_data_cpy.h \
-	$(top_srcdir)/src/util/openmp_runtime_support.h \
-	$(top_srcdir)/src/util/starpu_clusters_create.h \
-	$(top_srcdir)/src/util/starpu_task_insert_utils.h \
-	$(top_srcdir)/src/common/graph.h \
-	$(top_srcdir)/src/common/fxt.h \
-	$(top_srcdir)/src/common/starpu_spinlock.h \
-	$(top_srcdir)/src/common/rbtree_i.h \
-	$(top_srcdir)/src/common/rbtree.h \
-	$(top_srcdir)/src/common/timing.h \
-	$(top_srcdir)/src/common/rwlock.h \
-	$(top_srcdir)/src/common/barrier.h \
-	$(top_srcdir)/src/common/prio_list.h \
-	$(top_srcdir)/src/common/barrier_counter.h \
-	$(top_srcdir)/src/common/uthash.h \
-	$(top_srcdir)/src/common/knobs.h \
-	$(top_srcdir)/src/common/utils.h \
-	$(top_srcdir)/src/common/thread.h \
-	$(top_srcdir)/src/common/list.h \
-	$(top_srcdir)/src/debug/starpu_debug_helpers.h \
-	$(top_srcdir)/src/debug/traces/starpu_fxt.h \
-	$(top_srcdir)/src/starpu_parameters.h \
-	$(top_srcdir)/src/sched_policies/fifo_queues.h \
-	$(top_srcdir)/src/sched_policies/helper_mct.h \
-	$(top_srcdir)/src/sched_policies/sched_component.h \
-	$(top_srcdir)/src/sched_policies/prio_deque.h \
-	$(top_srcdir)/src/core/jobs.h \
-	$(top_srcdir)/src/core/disk_ops/unistd/disk_unistd_global.h \
-	$(top_srcdir)/src/core/dependencies/tags.h \
-	$(top_srcdir)/src/core/dependencies/data_concurrency.h \
-	$(top_srcdir)/src/core/dependencies/implicit_data_deps.h \
-	$(top_srcdir)/src/core/dependencies/cg.h \
-	$(top_srcdir)/src/core/idle_hook.h \
-	$(top_srcdir)/src/core/sched_ctx_list.h \
-	$(top_srcdir)/src/core/perfmodel/multiple_regression.h \
-	$(top_srcdir)/src/core/perfmodel/perfmodel.h \
-	$(top_srcdir)/src/core/perfmodel/regression.h \
-	$(top_srcdir)/src/core/debug.h \
-	$(top_srcdir)/src/core/sched_ctx.h \
-	$(top_srcdir)/src/core/simgrid.h \
-	$(top_srcdir)/src/core/task_bundle.h \
-	$(top_srcdir)/src/core/topology.h \
-	$(top_srcdir)/src/core/combined_workers.h \
-	$(top_srcdir)/src/core/detect_combined_workers.h \
-	$(top_srcdir)/src/core/task.h \
-	$(top_srcdir)/src/core/disk.h \
-	$(top_srcdir)/src/core/sched_policy.h \
-	$(top_srcdir)/src/core/errorcheck.h \
-	$(top_srcdir)/src/core/progress_hook.h \
-	$(top_srcdir)/src/core/drivers.h \
+	$(top_srcdir)/src/datawizard/data_request.h	\
+	$(top_srcdir)/src/datawizard/coherency.h	\
+	$(top_srcdir)/src/datawizard/sort_data_handles.h	\
+	$(top_srcdir)/src/datawizard/memalloc.h	\
+	$(top_srcdir)/src/datawizard/copy_driver.h	\
+	$(top_srcdir)/src/datawizard/filters.h	\
+	$(top_srcdir)/src/datawizard/datastats.h	\
+	$(top_srcdir)/src/datawizard/write_back.h	\
+	$(top_srcdir)/src/datawizard/interfaces/data_interface.h	\
+	$(top_srcdir)/src/datawizard/memory_manager.h	\
+	$(top_srcdir)/src/datawizard/node_ops.h	\
+	$(top_srcdir)/src/datawizard/memstats.h	\
+	$(top_srcdir)/src/datawizard/datawizard.h	\
+	$(top_srcdir)/src/datawizard/memory_nodes.h	\
+	$(top_srcdir)/src/datawizard/footprint.h	\
+	$(top_srcdir)/src/datawizard/malloc.h	\
+	$(top_srcdir)/src/drivers/cpu/driver_cpu.h	\
+	$(top_srcdir)/src/drivers/cuda/driver_cuda.h	\
+	$(top_srcdir)/src/drivers/opencl/driver_opencl_utils.h	\
+	$(top_srcdir)/src/drivers/opencl/driver_opencl.h	\
+	$(top_srcdir)/src/drivers/disk/driver_disk.h	\
+	$(top_srcdir)/src/drivers/mpi/driver_mpi_common.h	\
+	$(top_srcdir)/src/drivers/mpi/driver_mpi_sink.h	\
+	$(top_srcdir)/src/drivers/mpi/driver_mpi_source.h	\
+	$(top_srcdir)/src/drivers/mp_common/sink_common.h	\
+	$(top_srcdir)/src/drivers/mp_common/mp_common.h	\
+	$(top_srcdir)/src/drivers/mp_common/source_common.h	\
+	$(top_srcdir)/src/drivers/driver_common/driver_common.h	\
+	$(top_srcdir)/src/drivers/mic/driver_mic_sink.h	\
+	$(top_srcdir)/src/drivers/mic/driver_mic_source.h	\
+	$(top_srcdir)/src/drivers/mic/driver_mic_common.h	\
+	$(top_srcdir)/src/profiling/profiling.h	\
+	$(top_srcdir)/src/profiling/bound.h	\
+	$(top_srcdir)/src/util/starpu_data_cpy.h	\
+	$(top_srcdir)/src/util/openmp_runtime_support.h	\
+	$(top_srcdir)/src/util/starpu_clusters_create.h	\
+	$(top_srcdir)/src/util/starpu_task_insert_utils.h	\
+	$(top_srcdir)/src/common/graph.h	\
+	$(top_srcdir)/src/common/fxt.h	\
+	$(top_srcdir)/src/common/starpu_spinlock.h	\
+	$(top_srcdir)/src/common/rbtree_i.h	\
+	$(top_srcdir)/src/common/rbtree.h	\
+	$(top_srcdir)/src/common/timing.h	\
+	$(top_srcdir)/src/common/rwlock.h	\
+	$(top_srcdir)/src/common/barrier.h	\
+	$(top_srcdir)/src/common/prio_list.h	\
+	$(top_srcdir)/src/common/barrier_counter.h	\
+	$(top_srcdir)/src/common/uthash.h	\
+	$(top_srcdir)/src/common/knobs.h	\
+	$(top_srcdir)/src/common/utils.h	\
+	$(top_srcdir)/src/common/thread.h	\
+	$(top_srcdir)/src/common/list.h	\
+	$(top_srcdir)/src/debug/starpu_debug_helpers.h	\
+	$(top_srcdir)/src/debug/traces/starpu_fxt.h	\
+	$(top_srcdir)/src/starpu_parameters.h	\
+	$(top_srcdir)/src/sched_policies/fifo_queues.h	\
+	$(top_srcdir)/src/sched_policies/helper_mct.h	\
+	$(top_srcdir)/src/sched_policies/sched_component.h	\
+	$(top_srcdir)/src/sched_policies/prio_deque.h	\
+	$(top_srcdir)/src/core/jobs.h	\
+	$(top_srcdir)/src/core/disk_ops/unistd/disk_unistd_global.h	\
+	$(top_srcdir)/src/core/dependencies/tags.h	\
+	$(top_srcdir)/src/core/dependencies/data_concurrency.h	\
+	$(top_srcdir)/src/core/dependencies/implicit_data_deps.h	\
+	$(top_srcdir)/src/core/dependencies/cg.h	\
+	$(top_srcdir)/src/core/idle_hook.h	\
+	$(top_srcdir)/src/core/sched_ctx_list.h	\
+	$(top_srcdir)/src/core/perfmodel/multiple_regression.h	\
+	$(top_srcdir)/src/core/perfmodel/perfmodel.h	\
+	$(top_srcdir)/src/core/perfmodel/regression.h	\
+	$(top_srcdir)/src/core/debug.h	\
+	$(top_srcdir)/src/core/sched_ctx.h	\
+	$(top_srcdir)/src/core/simgrid.h	\
+	$(top_srcdir)/src/core/task_bundle.h	\
+	$(top_srcdir)/src/core/topology.h	\
+	$(top_srcdir)/src/core/combined_workers.h	\
+	$(top_srcdir)/src/core/detect_combined_workers.h	\
+	$(top_srcdir)/src/core/task.h	\
+	$(top_srcdir)/src/core/disk.h	\
+	$(top_srcdir)/src/core/sched_policy.h	\
+	$(top_srcdir)/src/core/errorcheck.h	\
+	$(top_srcdir)/src/core/progress_hook.h	\
+	$(top_srcdir)/src/core/drivers.h	\
 	$(top_srcdir)/src/core/workers.h
 
 $(DOX_HTML_DIR): $(DOX_TAG) refman.tex

+ 52 - 0
include/starpu_clusters.h

@@ -34,21 +34,73 @@ extern "C"
    @{
  */
 
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_MIN_NB			(1<<STARPU_MODE_SHIFT)
+
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_MAX_NB			(2<<STARPU_MODE_SHIFT)
+
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_NB			(3<<STARPU_MODE_SHIFT)
+
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_PREFERE_MIN		(4<<STARPU_MODE_SHIFT)
+
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_KEEP_HOMOGENEOUS		(5<<STARPU_MODE_SHIFT)
 
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_POLICY_NAME		(6<<STARPU_MODE_SHIFT)
+
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_POLICY_STRUCT		(7<<STARPU_MODE_SHIFT)
+
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_CREATE_FUNC		(8<<STARPU_MODE_SHIFT)
+
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_CREATE_FUNC_ARG		(9<<STARPU_MODE_SHIFT)
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_TYPE			(10<<STARPU_MODE_SHIFT)
+
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_AWAKE_WORKERS		(11<<STARPU_MODE_SHIFT)
 
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_PARTITION_ONE		(12<<STARPU_MODE_SHIFT)
+
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_NEW			(13<<STARPU_MODE_SHIFT)
+
+/**
+   Used when calling starpu_cluster_machine
+ */
 #define STARPU_CLUSTER_NCORES			(14<<STARPU_MODE_SHIFT)
 
 /**

+ 127 - 1
include/starpu_config.h.in

@@ -25,17 +25,68 @@
 #ifndef __STARPU_CONFIG_PUBLIC_H__
 #define __STARPU_CONFIG_PUBLIC_H__
 
+/**
+   Define the major version of StarPU. This is the version used when
+   compiling the application.
+   @ingroup API_Versioning
+*/
 #undef STARPU_MAJOR_VERSION
+
+/**
+   @ingroup API_Versioning
+   Define the minor version of StarPU. This is the version used when
+   compiling the application.
+*/
 #undef STARPU_MINOR_VERSION
+
+/**
+   Define the release version of StarPU. This is the version used when
+   compiling the application.
+   @ingroup API_Versioning
+*/
 #undef STARPU_RELEASE_VERSION
 
 #undef STARPU_USE_CPU
+
+/**
+   Defined when StarPU has been installed with
+   CUDA support. It should be used in your code to detect the
+   availability of CUDA.
+   @ingroup API_CUDA_Extensions
+*/
 #undef STARPU_USE_CUDA
+
+/**
+   Defined when StarPU has been installed with OpenCL support. It
+   should be used in your code to detect the availability of OpenCL as
+   shown in \ref FullSourceCodeVectorScal.
+   @ingroup API_OpenCL_Extensions
+*/
 #undef STARPU_USE_OPENCL
+
+/**
+   Defined when StarPU has been installed with MIC support. It should
+   be used in your code to detect the availability of MIC.
+   @ingroup API_MIC_Extensions
+*/
 #undef STARPU_USE_MIC
+
+/**
+   Defined when StarPU has been installed with MPI Master Slave
+   support. It should be used in your code to detect the availability
+   of MPI Master Slave.
+   @ingroup API_MPI_Support
+*/
 #undef STARPU_USE_MPI_MASTER_SLAVE
 
+/**
+   Defined when StarPU has been installed with OpenMP Runtime support.
+   It should be used in your code to detect the availability of the
+   runtime support for OpenMP.
+   @ingroup API_OpenMP_Runtime_Support
+*/
 #undef STARPU_OPENMP
+
 #undef STARPU_CLUSTER
 
 #undef STARPU_SIMGRID
@@ -57,9 +108,13 @@
 /* workers must call callbacks on sleep/wake-up */
 #undef STARPU_WORKER_CALLBACKS
 
-
 #undef STARPU_HAVE_ICC
 
+/**
+   Defined when StarPU has been installed with MPI support. It should
+   be used in your code to detect the availability of MPI.
+   @ingroup API_MPI_Support
+*/
 #undef STARPU_USE_MPI
 #undef STARPU_USE_MPI_MPI
 #undef STARPU_USE_MPI_NMAD
@@ -72,6 +127,11 @@
 #undef STARPU_SYSTEM_BLAS
 #undef STARPU_HAVE_CBLAS_H
 
+/**
+   Define the directory in which the OpenCL codelets of the
+   applications provided with StarPU have been installed.
+   @ingroup API_OpenCL_Extensions
+*/
 #undef STARPU_OPENCL_DATADIR
 #undef STARPU_HAVE_MAGMA
 
@@ -107,16 +167,82 @@
 
 #undef STARPU_HAVE_CURAND
 
+/**
+   Define the maximum number of memory nodes managed by StarPU. The
+   default value can be modified at configure by using the option \ref
+   enable-maxnodes "--enable-maxnodes". Reducing it allows to
+   considerably reduce memory used by StarPU data structures.
+   @ingroup API_Workers_Properties
+*/
 #undef STARPU_MAXNODES
+
+/**
+   Define the maximum number of buffers that tasks will be able to
+   take as parameters. The default value is 8, it can be changed by
+   using the configure option \ref enable-maxbuffers
+   "--enable-maxbuffers".
+   @ingroup API_Codelet_And_Tasks
+*/
 #undef STARPU_NMAXBUFS
+
+/**
+   Define the maximum number of CPU workers managed by StarPU. The
+   default value can be modified at configure by using the option \ref
+   enable-maxcpus "--enable-maxcpus".
+   @ingroup API_Workers_Properties
+*/
 #undef STARPU_MAXCPUS
+
+/**
+   Define the maximum number of NUMA nodes managed by StarPU. The
+   default value can be modified at configure by using the option \ref
+   enable-maxnumanodes "--enable-maxnumanodes".
+   @ingroup API_Workers_Properties
+*/
 #undef STARPU_MAXNUMANODES
+
+/**
+ * Define the maximum number of CUDA devices that are supported by StarPU.
+ * @ingroup API_CUDA_Extensions
+ */
 #undef STARPU_MAXCUDADEVS
+
+/**
+   Define the maximum number of OpenCL devices that are supported by
+   StarPU.
+   @ingroup API_OpenCL_Extensions
+*/
 #undef STARPU_MAXOPENCLDEVS
+
+/**
+   Define the maximum number of MIC devices that are supported by
+   StarPU.
+   @ingroup API_MIC_Extensions
+*/
 #undef STARPU_MAXMICDEVS
+
+/**
+   Define the maximum number of workers managed by StarPU.
+   @ingroup API_Workers_Properties
+*/
 #undef STARPU_NMAXWORKERS
+
+/**
+   Define the maximum number of scheduling contexts managed by StarPU.
+   The default value can be modified at configure by using the option
+   \ref enable-max-sched-ctxs "--enable-max-sched-ctxs".
+   @ingroup API_Scheduling_Policy
+*/
 #undef STARPU_NMAX_SCHED_CTXS
+
+/**
+   Define the maximum number of implementations per architecture. The
+   default value can be modified at configure by using the option \ref
+   enable-maximplementations "--enable-maximplementations".
+   @ingroup API_Scheduling_Policy
+*/
 #undef STARPU_MAXIMPLEMENTATIONS
+
 #undef STARPU_MAXMPKERNELS
 #undef STARPU_USE_SC_HYPERVISOR
 #undef STARPU_SC_HYPERVISOR_DEBUG

+ 3 - 3
include/starpu_openmp.h

@@ -27,7 +27,7 @@
 
 #if defined STARPU_OPENMP
 /**
-   Opaque Simple Lock object (\ref SimpleLock) for inter-task
+   Opaque Simple Lock object (\anchor SimpleLock) for inter-task
    synchronization operations.
    \sa starpu_omp_init_lock()
    \sa starpu_omp_destroy_lock()
@@ -38,7 +38,7 @@
 typedef struct { void *internal; /**< opaque pointer for internal use */ } starpu_omp_lock_t;
 
 /**
-   Opaque Nestable Lock object (\ref NestableLock) for inter-task
+   Opaque Nestable Lock object (\anchor NestableLock) for inter-task
    synchronization operations.
    \sa starpu_omp_init_nest_lock()
    \sa starpu_omp_destroy_nest_lock()
@@ -50,7 +50,7 @@ typedef struct { void *internal; /**< opaque pointer for internal use */  } star
 
 /**
    Set of constants for selecting the for loop iteration scheduling
-   algorithm (\ref OMPFor) as defined by the OpenMP specification.
+   algorithm (\anchor OMPFor) as defined by the OpenMP specification.
    \sa starpu_omp_for()
    \sa starpu_omp_for_inline_first()
    \sa starpu_omp_for_inline_next()

+ 3 - 0
include/starpu_task_util.h

@@ -106,6 +106,9 @@ extern "C"
 */
 #define STARPU_TAG               (10<<STARPU_MODE_SHIFT)
 
+/**
+   Used when calling starpu_task_insert(), must be followed by a tag.
+*/
 #define STARPU_HYPERVISOR_TAG	 (11<<STARPU_MODE_SHIFT)
 
 /**

+ 9 - 0
mpi/include/starpu_mpi.h

@@ -409,6 +409,7 @@ int starpu_mpi_cached_send(starpu_data_handle_t data_handle, int dest);
 
 /**
    @name MPI Insert Task
+   \anchor MPIInsertTask
    @{
 */
 
@@ -615,7 +616,15 @@ void starpu_mpi_data_migrate(MPI_Comm comm, starpu_data_handle_t handle, int new
    @{
 */
 
+
+/**
+   Define the current policy
+ */
 #define STARPU_MPI_NODE_SELECTION_CURRENT_POLICY -1
+/**
+   Define the policy in which the selected node is the one having the
+   most data in ::STARPU_R mode
+*/
 #define STARPU_MPI_NODE_SELECTION_MOST_R_DATA    0
 
 typedef int (*starpu_mpi_select_node_policy_func_t)(int me, int nb_nodes, struct starpu_data_descr *descr, int nb_data);