Browse Source

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

Samuel Thibault 5 years ago
parent
commit
bc853df209
86 changed files with 935 additions and 444 deletions
  1. 171 5
      doc/doxygen_dev/Makefile.am
  2. 85 2
      doc/doxygen_dev/doxygen-config.cfg.in
  3. 86 2
      doc/doxygen_dev/refman.tex
  4. 0 3
      examples/Makefile.am.tmp.y
  5. 2 0
      src/common/barrier.h
  6. 2 0
      src/common/barrier_counter.h
  7. 7 5
      src/common/fxt.h
  8. 25 16
      src/common/graph.h
  9. 3 1
      src/common/knobs.h
  10. 0 5
      src/common/list.h
  11. 2 0
      src/common/prio_list.h
  12. 23 21
      src/common/rbtree.h
  13. 20 18
      src/common/rbtree_i.h
  14. 9 7
      src/common/rwlock.h
  15. 2 0
      src/common/starpu_spinlock.h
  16. 2 0
      src/common/thread.h
  17. 2 0
      src/common/timing.h
  18. 6 4
      src/common/utils.h
  19. 2 0
      src/core/combined_workers.h
  20. 2 0
      src/core/debug.h
  21. 11 9
      src/core/dependencies/cg.h
  22. 2 0
      src/core/dependencies/data_concurrency.h
  23. 4 2
      src/core/dependencies/implicit_data_deps.h
  24. 2 0
      src/core/dependencies/tags.h
  25. 3 1
      src/core/detect_combined_workers.h
  26. 10 10
      src/core/disk.h
  27. 2 0
      src/core/disk_ops/unistd/disk_unistd_global.h
  28. 2 0
      src/core/drivers.h
  29. 15 13
      src/core/errorcheck.h
  30. 2 0
      src/core/idle_hook.h
  31. 48 46
      src/core/jobs.h
  32. 2 0
      src/core/perfmodel/multiple_regression.h
  33. 2 0
      src/core/perfmodel/perfmodel.h
  34. 3 1
      src/core/perfmodel/regression.h
  35. 2 0
      src/core/progress_hook.h
  36. 51 49
      src/core/sched_ctx.h
  37. 8 6
      src/core/sched_ctx_list.h
  38. 5 3
      src/core/sched_policy.h
  39. 4 2
      src/core/simgrid.h
  40. 8 6
      src/core/task.h
  41. 8 6
      src/core/task_bundle.h
  42. 17 15
      src/core/topology.h
  43. 67 65
      src/datawizard/coherency.h
  44. 6 4
      src/datawizard/copy_driver.h
  45. 19 17
      src/datawizard/data_request.h
  46. 2 0
      src/datawizard/datastats.h
  47. 2 0
      src/datawizard/datawizard.h
  48. 3 2
      src/datawizard/filters.h
  49. 5 3
      src/datawizard/footprint.h
  50. 4 2
      src/datawizard/interfaces/data_interface.h
  51. 2 0
      src/datawizard/malloc.h
  52. 12 10
      src/datawizard/memalloc.h
  53. 2 0
      src/datawizard/memory_manager.h
  54. 5 3
      src/datawizard/memory_nodes.h
  55. 2 0
      src/datawizard/memstats.h
  56. 2 0
      src/datawizard/node_ops.h
  57. 3 1
      src/datawizard/sort_data_handles.h
  58. 3 1
      src/datawizard/write_back.h
  59. 4 2
      src/debug/starpu_debug_helpers.h
  60. 2 0
      src/debug/traces/starpu_fxt.h
  61. 2 0
      src/drivers/cpu/driver_cpu.h
  62. 2 0
      src/drivers/cuda/driver_cuda.h
  63. 2 0
      src/drivers/disk/driver_disk.h
  64. 2 0
      src/drivers/driver_common/driver_common.h
  65. 2 0
      src/drivers/mic/driver_mic_common.h
  66. 2 0
      src/drivers/mic/driver_mic_sink.h
  67. 2 0
      src/drivers/mic/driver_mic_source.h
  68. 18 16
      src/drivers/mp_common/mp_common.h
  69. 6 3
      src/drivers/mp_common/sink_common.h
  70. 2 0
      src/drivers/mp_common/source_common.h
  71. 2 0
      src/drivers/mpi/driver_mpi_common.h
  72. 2 0
      src/drivers/mpi/driver_mpi_sink.h
  73. 3 1
      src/drivers/mpi/driver_mpi_source.h
  74. 2 0
      src/drivers/opencl/driver_opencl.h
  75. 2 0
      src/drivers/opencl/driver_opencl_utils.h
  76. 8 6
      src/profiling/bound.h
  77. 14 12
      src/profiling/profiling.h
  78. 12 10
      src/sched_policies/fifo_queues.h
  79. 2 0
      src/sched_policies/helper_mct.h
  80. 6 5
      src/sched_policies/prio_deque.h
  81. 2 0
      src/sched_policies/sched_component.h
  82. 2 0
      src/starpu_parameters.h
  83. 25 23
      src/util/openmp_runtime_support.h
  84. 2 0
      src/util/starpu_clusters_create.h
  85. 2 0
      src/util/starpu_data_cpy.h
  86. 2 0
      src/util/starpu_task_insert_utils.h

+ 171 - 5
doc/doxygen_dev/Makefile.am

@@ -59,8 +59,9 @@ chapters =	\
 images =
 images =
 
 
 if BUILD_DOC
 if BUILD_DOC
-starpu_config.h: $(top_srcdir)/include/starpu_config.h.in
+config.h: $(top_srcdir)/src/common/config.h.in
 	@$(SED) 's/#undef \(.*\)/#define \1 1/' $< > $@
 	@$(SED) 's/#undef \(.*\)/#define \1 1/' $< > $@
+	@$(SED) -i '1s/^/\/\*\* \@file \*\/\n/' $@
 
 
 chapters/version.sty: $(chapters)
 chapters/version.sty: $(chapters)
 	@for f in $(chapters) ; do \
 	@for f in $(chapters) ; do \
@@ -102,9 +103,176 @@ chapters/version.html: $(chapters)
 
 
 dox_inputs = $(DOX_CONFIG) 				\
 dox_inputs = $(DOX_CONFIG) 				\
 	$(chapters) 					\
 	$(chapters) 					\
-	starpu_config.h					\
+	config.h					\
 	chapters/version.sty				\
 	chapters/version.sty				\
 	chapters/version.html				\
 	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/core/workers.h
 	$(top_srcdir)/src/core/workers.h
 
 
 $(DOX_HTML_DIR): $(DOX_TAG) refman.tex
 $(DOX_HTML_DIR): $(DOX_TAG) refman.tex
@@ -127,8 +295,6 @@ $(DOX_PDF): $(DOX_TAG) refman.tex
 	@echo $(PDFLATEX) $(DOX_LATEX_DIR)/refman.tex
 	@echo $(PDFLATEX) $(DOX_LATEX_DIR)/refman.tex
 	@cd $(DOX_LATEX_DIR) ;\
 	@cd $(DOX_LATEX_DIR) ;\
 	rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out ;\
 	rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out ;\
-	$(SED) -i -e 's/__env__/\\_Environment Variables!/' -e 's/\\-\\_\\-\\-\\_\\-env\\-\\_\\-\\-\\_\\-//' ExecutionConfigurationThroughEnvironmentVariables.tex ;\
-	$(SED) -i -e 's/__configure__/\\_Configure Options!/' -e 's/\\-\\_\\-\\-\\_\\-configure\\-\\_\\-\\-\\_\\-//' CompilationConfiguration.tex ;\
 	$(SED) -i s'/\\item Module\\-Documentation/\\item \\hyperlink{ModuleDocumentation}{Module Documentation}/' index.tex ;\
 	$(SED) -i s'/\\item Module\\-Documentation/\\item \\hyperlink{ModuleDocumentation}{Module Documentation}/' index.tex ;\
 	$(SED) -i s'/\\item File\\-Documentation/\\item \\hyperlink{FileDocumentation}{File Documentation}/' index.tex ;\
 	$(SED) -i s'/\\item File\\-Documentation/\\item \\hyperlink{FileDocumentation}{File Documentation}/' index.tex ;\
 	max_print_line=1000000 $(PDFLATEX) -interaction batchmode refman.tex ;\
 	max_print_line=1000000 $(PDFLATEX) -interaction batchmode refman.tex ;\
@@ -146,7 +312,7 @@ $(DOX_PDF): $(DOX_TAG) refman.tex
 	done
 	done
 	mv $(DOX_LATEX_DIR)/refman.pdf $(DOX_PDF)
 	mv $(DOX_LATEX_DIR)/refman.pdf $(DOX_PDF)
 
 
-CLEANFILES = $(DOX_TAG) starpu_config.h \
+CLEANFILES = $(DOX_TAG) config.h \
     -r \
     -r \
     $(DOX_HTML_DIR) \
     $(DOX_HTML_DIR) \
     $(DOX_LATEX_DIR) \
     $(DOX_LATEX_DIR) \

+ 85 - 2
doc/doxygen_dev/doxygen-config.cfg.in

@@ -15,7 +15,90 @@
 # See the GNU Lesser General Public License in COPYING.LGPL for more details.
 # See the GNU Lesser General Public License in COPYING.LGPL for more details.
 #
 #
 INPUT                  = @top_srcdir@/doc/doxygen_dev/chapters         \
 INPUT                  = @top_srcdir@/doc/doxygen_dev/chapters         \
-                         @top_builddir@/doc/doxygen_dev/starpu_config.h \
+                         @top_builddir@/doc/doxygen_dev/config.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/core/workers.h
 
 
 EXAMPLE_PATH           = @top_srcdir@/doc/doxygen_dev \
 EXAMPLE_PATH           = @top_srcdir@/doc/doxygen_dev \
@@ -23,7 +106,7 @@ EXAMPLE_PATH           = @top_srcdir@/doc/doxygen_dev \
 
 
 INPUT_FILTER           = @top_builddir@/doc/doxygen_dev/doxygen_filter.sh
 INPUT_FILTER           = @top_builddir@/doc/doxygen_dev/doxygen_filter.sh
 
 
-#LATEX_HEADER           = @top_srcdir@/doc/doxygen/refman.tex
+#LATEX_HEADER           = @top_srcdir@/doc/doxygen_dev/refman.tex
 
 
 #IMAGE_PATH             = @top_srcdir@/doc/doxygen_dev/chapters/images
 #IMAGE_PATH             = @top_srcdir@/doc/doxygen_dev/chapters/images
 
 

+ 86 - 2
doc/doxygen_dev/refman.tex

@@ -73,7 +73,91 @@ Documentation License”.
 
 
 \input{group__workers}
 \input{group__workers}
 
 
-\chapter{Index}
-\printindex
+\chapter{File Index}
+\input{files}
+
+\chapter{File Documentation}
+\input{barrier_8h}
+\input{barrier__counter_8h}
+\input{bound_8h}
+\input{cg_8h}
+\input{coherency_8h}
+\input{combined__workers_8h}
+\input{config_8h}
+\input{copy__driver_8h}
+\input{data__concurrency_8h}
+\input{data__interface_8h}
+\input{data__request_8h}
+\input{datastats_8h}
+\input{datawizard_8h}
+\input{debug_8h}
+\input{detect__combined__workers_8h}
+\input{disk_8h}
+\input{disk__unistd__global_8h}
+\input{driver__common_8h}
+\input{driver__cpu_8h}
+\input{driver__cuda_8h}
+\input{driver__disk_8h}
+\input{driver__mic__common_8h}
+\input{driver__mic__sink_8h}
+\input{driver__mic__source_8h}
+\input{driver__mpi__common_8h}
+\input{driver__mpi__sink_8h}
+\input{driver__mpi__source_8h}
+\input{driver__opencl_8h}
+\input{driver__opencl__utils_8h}
+\input{drivers_8h}
+\input{errorcheck_8h}
+\input{fifo__queues_8h}
+\input{filters_8h}
+\input{footprint_8h}
+\input{fxt_8h}
+\input{graph_8h}
+\input{helper__mct_8h}
+\input{idle__hook_8h}
+\input{implicit__data__deps_8h}
+\input{jobs_8h}
+\input{knobs_8h}
+\input{malloc_8h}
+\input{memalloc_8h}
+\input{memory__manager_8h}
+\input{memory__nodes_8h}
+\input{memstats_8h}
+\input{mp__common_8h}
+\input{multiple__regression_8h}
+\input{node__ops_8h}
+\input{openmp__runtime__support_8h}
+\input{perfmodel_8h}
+\input{prio__deque_8h}
+\input{prio__list_8h}
+\input{profiling_8h}
+\input{progress__hook_8h}
+\input{rbtree_8h}
+\input{rbtree__i_8h}
+\input{regression_8h}
+\input{rwlock_8h}
+\input{sched__component_8h}
+\input{sched__ctx_8h}
+\input{sched__ctx__list_8h}
+\input{sched__policy_8h}
+\input{simgrid_8h}
+\input{sink__common_8h}
+\input{sort__data__handles_8h}
+\input{source__common_8h}
+\input{starpu__clusters__create_8h}
+\input{starpu__data__cpy_8h}
+\input{starpu__debug__helpers_8h}
+\input{starpu__fxt_8h}
+\input{starpu__parameters_8h}
+\input{starpu__spinlock_8h}
+\input{starpu__task__insert__utils_8h}
+\input{tags_8h}
+\input{task_8h}
+\input{task__bundle_8h}
+\input{thread_8h}
+\input{timing_8h}
+\input{topology_8h}
+\input{utils_8h}
+\input{write__back_8h}
 
 
 \end{document}
 \end{document}

+ 0 - 3
examples/Makefile.am.tmp.y

@@ -1,3 +0,0 @@
-# Copyright (C) 2016       Uppsala University
-# Copyright (C) 2011       Télécom-SudParis
-# Copyright (C) 2017       Erwan Leria

+ 2 - 0
src/common/barrier.h

@@ -19,6 +19,8 @@
 
 
 #include <starpu_thread.h>
 #include <starpu_thread.h>
 
 
+/** @file */
+
 struct _starpu_barrier
 struct _starpu_barrier
 {
 {
 	unsigned count;
 	unsigned count;

+ 2 - 0
src/common/barrier_counter.h

@@ -18,6 +18,8 @@
 #ifndef __BARRIER_COUNTER_H__
 #ifndef __BARRIER_COUNTER_H__
 #define __BARRIER_COUNTER_H__
 #define __BARRIER_COUNTER_H__
 
 
+/** @file */
+
 #include <common/utils.h>
 #include <common/utils.h>
 #include <common/barrier.h>
 #include <common/barrier.h>
 
 

+ 7 - 5
src/common/fxt.h

@@ -20,6 +20,8 @@
 #define __FXT_H__
 #define __FXT_H__
 
 
 
 
+/** @file */
+
 #ifndef _GNU_SOURCE
 #ifndef _GNU_SOURCE
 #define _GNU_SOURCE  1 /* ou _BSD_SOURCE ou _SVID_SOURCE */
 #define _GNU_SOURCE  1 /* ou _BSD_SOURCE ou _SVID_SOURCE */
 #endif
 #endif
@@ -310,13 +312,13 @@ static inline unsigned long _starpu_fxt_get_submit_order(void)
 
 
 long _starpu_gettid(void);
 long _starpu_gettid(void);
 
 
-/* Initialize the FxT library. */
+/** Initialize the FxT library. */
 void _starpu_fxt_init_profiling(uint64_t trace_buffer_size);
 void _starpu_fxt_init_profiling(uint64_t trace_buffer_size);
 
 
-/* Stop the FxT library, and generate the trace file. */
+/** Stop the FxT library, and generate the trace file. */
 void _starpu_stop_fxt_profiling(void);
 void _starpu_stop_fxt_profiling(void);
 
 
-/* Generate the trace file. Used when catching signals SIGINT and SIGSEGV */
+/** Generate the trace file. Used when catching signals SIGINT and SIGSEGV */
 void _starpu_fxt_dump_file(void);
 void _starpu_fxt_dump_file(void);
 
 
 #ifdef FUT_NEEDS_COMMIT
 #ifdef FUT_NEEDS_COMMIT
@@ -328,7 +330,7 @@ void _starpu_fxt_dump_file(void);
 #ifdef FUT_FULL_PROBE1STR
 #ifdef FUT_FULL_PROBE1STR
 #define _STARPU_FUT_FULL_PROBE1STR(KEYMASK, CODE, P1, str) FUT_FULL_PROBE1STR(CODE, P1, str)
 #define _STARPU_FUT_FULL_PROBE1STR(KEYMASK, CODE, P1, str) FUT_FULL_PROBE1STR(CODE, P1, str)
 #else
 #else
-/* Sometimes we need something a little more specific than the wrappers from
+/** Sometimes we need something a little more specific than the wrappers from
  * FxT: these macro permit to put add an event with 3 (or 4) numbers followed
  * FxT: these macro permit to put add an event with 3 (or 4) numbers followed
  * by a string. */
  * by a string. */
 #define _STARPU_FUT_FULL_PROBE1STR(KEYMASK, CODE, P1, str)			\
 #define _STARPU_FUT_FULL_PROBE1STR(KEYMASK, CODE, P1, str)			\
@@ -353,7 +355,7 @@ do {									\
 #ifdef FUT_FULL_PROBE2STR
 #ifdef FUT_FULL_PROBE2STR
 #define _STARPU_FUT_FULL_PROBE2STR(KEYMASK, CODE, P1, P2, str) FUT_FULL_PROBE2STR(CODE, P1, P2, str)
 #define _STARPU_FUT_FULL_PROBE2STR(KEYMASK, CODE, P1, P2, str) FUT_FULL_PROBE2STR(CODE, P1, P2, str)
 #else
 #else
-/* Sometimes we need something a little more specific than the wrappers from
+/** Sometimes we need something a little more specific than the wrappers from
  * FxT: these macro permit to put add an event with 3 (or 4) numbers followed
  * FxT: these macro permit to put add an event with 3 (or 4) numbers followed
  * by a string. */
  * by a string. */
 #define _STARPU_FUT_FULL_PROBE2STR(KEYMASK, CODE, P1, P2, str)			\
 #define _STARPU_FUT_FULL_PROBE2STR(KEYMASK, CODE, P1, P2, str)			\

+ 25 - 16
src/common/graph.h

@@ -18,6 +18,9 @@
 #define __GRAPH_H__
 #define __GRAPH_H__
 
 
 #include <common/list.h>
 #include <common/list.h>
+
+/** @file */
+
 MULTILIST_CREATE_TYPE(_starpu_graph_node, all)
 MULTILIST_CREATE_TYPE(_starpu_graph_node, all)
 MULTILIST_CREATE_TYPE(_starpu_graph_node, top)
 MULTILIST_CREATE_TYPE(_starpu_graph_node, top)
 MULTILIST_CREATE_TYPE(_starpu_graph_node, bottom)
 MULTILIST_CREATE_TYPE(_starpu_graph_node, bottom)
@@ -28,24 +31,24 @@ struct _starpu_graph_node
 	starpu_pthread_mutex_t mutex;	/* protects access to the job */
 	starpu_pthread_mutex_t mutex;	/* protects access to the job */
 	struct _starpu_job *job;	/* pointer to the job, if it is still alive, NULL otherwise */
 	struct _starpu_job *job;	/* pointer to the job, if it is still alive, NULL otherwise */
 
 
-	/*
+	/**
 	 * Fields for graph analysis for scheduling heuristics
 	 * Fields for graph analysis for scheduling heuristics
 	 */
 	 */
-	/* Member of list of all jobs without incoming dependency */
+	/** Member of list of all jobs without incoming dependency */
 	struct _starpu_graph_node_multilist_top top;
 	struct _starpu_graph_node_multilist_top top;
-	/* Member of list of all jobs without outgoing dependency */
+	/** Member of list of all jobs without outgoing dependency */
 	struct _starpu_graph_node_multilist_bottom bottom;
 	struct _starpu_graph_node_multilist_bottom bottom;
-	/* Member of list of all jobs */
+	/** Member of list of all jobs */
 	struct _starpu_graph_node_multilist_all all;
 	struct _starpu_graph_node_multilist_all all;
-	/* Member of list of dropped jobs */
+	/** Member of list of dropped jobs */
 	struct _starpu_graph_node_multilist_dropped dropped;
 	struct _starpu_graph_node_multilist_dropped dropped;
 
 
-	/* set of incoming dependencies */
+	/** set of incoming dependencies */
 	struct _starpu_graph_node **incoming;	/* May contain NULLs for terminated jobs */
 	struct _starpu_graph_node **incoming;	/* May contain NULLs for terminated jobs */
 	unsigned *incoming_slot;	/* Index within corresponding outgoing array */
 	unsigned *incoming_slot;	/* Index within corresponding outgoing array */
 	unsigned n_incoming;		/* Number of slots used */
 	unsigned n_incoming;		/* Number of slots used */
 	unsigned alloc_incoming;	/* Size of incoming */
 	unsigned alloc_incoming;	/* Size of incoming */
-	/* set of outgoing dependencies */
+	/** set of outgoing dependencies */
 	struct _starpu_graph_node **outgoing;
 	struct _starpu_graph_node **outgoing;
 	unsigned *outgoing_slot;	/* Index within corresponding incoming array */
 	unsigned *outgoing_slot;	/* Index within corresponding incoming array */
 	unsigned n_outgoing;		/* Number of slots used */
 	unsigned n_outgoing;		/* Number of slots used */
@@ -71,27 +74,33 @@ void _starpu_graph_rdlock(void);
 void _starpu_graph_wrunlock(void);
 void _starpu_graph_wrunlock(void);
 void _starpu_graph_rdunlock(void);
 void _starpu_graph_rdunlock(void);
 
 
-/* Add a job to the graph, called before any _starpu_graph_add_job_dep call */
+/** Add a job to the graph, called before any _starpu_graph_add_job_dep call */
 void _starpu_graph_add_job(struct _starpu_job *job);
 void _starpu_graph_add_job(struct _starpu_job *job);
 
 
-/* Add a dependency between jobs */
+/** Add a dependency between jobs */
 void _starpu_graph_add_job_dep(struct _starpu_job *job, struct _starpu_job *prev_job);
 void _starpu_graph_add_job_dep(struct _starpu_job *job, struct _starpu_job *prev_job);
 
 
-/* Remove a job from the graph */
+/** Remove a job from the graph */
 void _starpu_graph_drop_job(struct _starpu_job *job);
 void _starpu_graph_drop_job(struct _starpu_job *job);
 
 
-/* Really drop the nodes from the graph now */
+/** Really drop the nodes from the graph now */
 void _starpu_graph_drop_dropped_nodes(void);
 void _starpu_graph_drop_dropped_nodes(void);
 
 
-/* This make StarPU compute for each task the depth, i.e. the length of the longest path to a task without outgoing dependencies. */
-/* This does not take job duration into account, just the number */
+/**
+ * This make StarPU compute for each task the depth, i.e. the length
+ * of the longest path to a task without outgoing dependencies.
+ * This does not take job duration into account, just the number
+*/
 void _starpu_graph_compute_depths(void);
 void _starpu_graph_compute_depths(void);
 
 
-/* Compute the descendants of jobs in the graph */
+/** Compute the descendants of jobs in the graph */
 void _starpu_graph_compute_descendants(void);
 void _starpu_graph_compute_descendants(void);
 
 
-/* This calls \e func for each node of the task graph, passing also \e data as it */
-/* Apply func on each job of the graph */
+/**
+ * This calls \e func for each node of the task graph, passing also \e
+ * data as it
+ * Apply func on each job of the graph
+*/
 void _starpu_graph_foreach(void (*func)(void *data, struct _starpu_graph_node *node), void *data);
 void _starpu_graph_foreach(void (*func)(void *data, struct _starpu_graph_node *node), void *data);
 
 
 #endif /* __GRAPH_H__ */
 #endif /* __GRAPH_H__ */

+ 3 - 1
src/common/knobs.h

@@ -19,11 +19,13 @@
 #ifndef __KNOBS_H__
 #ifndef __KNOBS_H__
 #define __KNOBS_H__
 #define __KNOBS_H__
 
 
+/** @file */
+
 #include <stdint.h>
 #include <stdint.h>
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 
 
-/* Performance Monitoring */
+/** Performance Monitoring */
 #define STARPU_ASSERT_PERF_COUNTER_SCOPE_DEFINED(t) STARPU_ASSERT( \
 #define STARPU_ASSERT_PERF_COUNTER_SCOPE_DEFINED(t) STARPU_ASSERT( \
 		(t == starpu_perf_counter_scope_global ) \
 		(t == starpu_perf_counter_scope_global ) \
 		|| (t == starpu_perf_counter_scope_per_worker ) \
 		|| (t == starpu_perf_counter_scope_per_worker ) \

+ 0 - 5
src/common/list.h

@@ -20,11 +20,6 @@
 
 
 #include <starpu_util.h>
 #include <starpu_util.h>
 
 
-/** @file
- * @brief Doubly-linked lists
- */
-
-
 /** @remarks list how-to
 /** @remarks list how-to
  * *********************************************************
  * *********************************************************
  * LIST_TYPE(FOO, content);
  * LIST_TYPE(FOO, content);

+ 2 - 0
src/common/prio_list.h

@@ -14,6 +14,8 @@
  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  */
  */
 
 
+/** @file */
+
 /*
 /*
  * This implements list with priorities (as an int), by using two stages:
  * This implements list with priorities (as an int), by using two stages:
  * - an RB tree stage sorted by priority, whose leaves are...
  * - an RB tree stage sorted by priority, whose leaves are...

+ 23 - 21
src/common/rbtree.h

@@ -29,6 +29,8 @@
 #ifndef _KERN_RBTREE_H
 #ifndef _KERN_RBTREE_H
 #define _KERN_RBTREE_H
 #define _KERN_RBTREE_H
 
 
+/** @file */
+
 #include <stddef.h>
 #include <stddef.h>
 #include <assert.h>
 #include <assert.h>
 #include <stdint.h>
 #include <stdint.h>
@@ -44,24 +46,24 @@
 #define STARPU_RBTREE_LEFT     0
 #define STARPU_RBTREE_LEFT     0
 #define STARPU_RBTREE_RIGHT    1
 #define STARPU_RBTREE_RIGHT    1
 
 
-/*
+/**
  * Red-black node.
  * Red-black node.
  */
  */
 struct starpu_rbtree_node;
 struct starpu_rbtree_node;
 
 
-/*
+/**
  * Red-black tree.
  * Red-black tree.
  */
  */
 struct starpu_rbtree;
 struct starpu_rbtree;
 
 
-/*
+/**
  * Static tree initializer.
  * Static tree initializer.
  */
  */
 #define STARPU_RBTREE_INITIALIZER { NULL }
 #define STARPU_RBTREE_INITIALIZER { NULL }
 
 
 #include "rbtree_i.h"
 #include "rbtree_i.h"
 
 
-/*
+/**
  * Initialize a tree.
  * Initialize a tree.
  */
  */
 static inline void starpu_rbtree_init(struct starpu_rbtree *tree)
 static inline void starpu_rbtree_init(struct starpu_rbtree *tree)
@@ -69,14 +71,14 @@ static inline void starpu_rbtree_init(struct starpu_rbtree *tree)
     tree->root = NULL;
     tree->root = NULL;
 }
 }
 
 
-/*
+/**
  * This version assumes that the content of tree was already zeroed
  * This version assumes that the content of tree was already zeroed
  */
  */
 static inline void starpu_rbtree_init0(struct starpu_rbtree *tree STARPU_ATTRIBUTE_UNUSED)
 static inline void starpu_rbtree_init0(struct starpu_rbtree *tree STARPU_ATTRIBUTE_UNUSED)
 {
 {
 }
 }
 
 
-/*
+/**
  * Initialize a node.
  * Initialize a node.
  *
  *
  * A node is in no tree when its parent points to itself.
  * A node is in no tree when its parent points to itself.
@@ -90,7 +92,7 @@ static inline void starpu_rbtree_node_init(struct starpu_rbtree_node *node)
     node->children[STARPU_RBTREE_RIGHT] = NULL;
     node->children[STARPU_RBTREE_RIGHT] = NULL;
 }
 }
 
 
-/*
+/**
  * This version assumes that the content of node was already zeroed
  * This version assumes that the content of node was already zeroed
  */
  */
 static inline void starpu_rbtree_node_init0(struct starpu_rbtree_node *node)
 static inline void starpu_rbtree_node_init0(struct starpu_rbtree_node *node)
@@ -102,7 +104,7 @@ static inline void starpu_rbtree_node_init0(struct starpu_rbtree_node *node)
     //node->children[STARPU_RBTREE_RIGHT] = NULL;
     //node->children[STARPU_RBTREE_RIGHT] = NULL;
 }
 }
 
 
-/*
+/**
  * Return true if node is in no tree.
  * Return true if node is in no tree.
  */
  */
 static inline int starpu_rbtree_node_unlinked(const struct starpu_rbtree_node *node)
 static inline int starpu_rbtree_node_unlinked(const struct starpu_rbtree_node *node)
@@ -110,13 +112,13 @@ static inline int starpu_rbtree_node_unlinked(const struct starpu_rbtree_node *n
     return starpu_rbtree_parent(node) == node;
     return starpu_rbtree_parent(node) == node;
 }
 }
 
 
-/*
+/**
  * Macro that evaluates to the address of the structure containing the
  * Macro that evaluates to the address of the structure containing the
  * given node based on the given type and member.
  * given node based on the given type and member.
  */
  */
 #define starpu_rbtree_entry(node, type, member) structof(node, type, member)
 #define starpu_rbtree_entry(node, type, member) structof(node, type, member)
 
 
-/*
+/**
  * Return true if tree is empty.
  * Return true if tree is empty.
  */
  */
 static inline int starpu_rbtree_empty(const struct starpu_rbtree *tree)
 static inline int starpu_rbtree_empty(const struct starpu_rbtree *tree)
@@ -124,7 +126,7 @@ static inline int starpu_rbtree_empty(const struct starpu_rbtree *tree)
     return tree->root == NULL;
     return tree->root == NULL;
 }
 }
 
 
-/*
+/**
  * Look up a node in a tree.
  * Look up a node in a tree.
  *
  *
  * Note that implementing the lookup algorithm as a macro gives two benefits:
  * Note that implementing the lookup algorithm as a macro gives two benefits:
@@ -155,7 +157,7 @@ MACRO_BEGIN                                             \
     ___cur;                                             \
     ___cur;                                             \
 MACRO_END
 MACRO_END
 
 
-/*
+/**
  * Look up a node or one of its nearest nodes in a tree.
  * Look up a node or one of its nearest nodes in a tree.
  *
  *
  * This macro essentially acts as starpu_rbtree_lookup() but if no entry matched
  * This macro essentially acts as starpu_rbtree_lookup() but if no entry matched
@@ -191,7 +193,7 @@ MACRO_BEGIN                                                 \
     ___cur;                                                 \
     ___cur;                                                 \
 MACRO_END
 MACRO_END
 
 
-/*
+/**
  * Insert a node in a tree.
  * Insert a node in a tree.
  *
  *
  * This macro performs a standard lookup to obtain the insertion point of
  * This macro performs a standard lookup to obtain the insertion point of
@@ -227,7 +229,7 @@ MACRO_BEGIN                                                 \
     starpu_rbtree_insert_rebalance(tree, ___prev, ___index, node); \
     starpu_rbtree_insert_rebalance(tree, ___prev, ___index, node); \
 MACRO_END
 MACRO_END
 
 
-/*
+/**
  * Look up a node/slot pair in a tree.
  * Look up a node/slot pair in a tree.
  *
  *
  * This macro essentially acts as starpu_rbtree_lookup() but in addition to a node,
  * This macro essentially acts as starpu_rbtree_lookup() but in addition to a node,
@@ -263,7 +265,7 @@ MACRO_BEGIN                                         \
     ___cur;                                         \
     ___cur;                                         \
 MACRO_END
 MACRO_END
 
 
-/*
+/**
  * Insert a node at an insertion point in a tree.
  * Insert a node at an insertion point in a tree.
  *
  *
  * This macro essentially acts as starpu_rbtree_insert() except that it doesn't
  * This macro essentially acts as starpu_rbtree_insert() except that it doesn't
@@ -283,20 +285,20 @@ static inline void starpu_rbtree_insert_slot(struct starpu_rbtree *tree, uintptr
     starpu_rbtree_insert_rebalance(tree, parent, index, node);
     starpu_rbtree_insert_rebalance(tree, parent, index, node);
 }
 }
 
 
-/*
+/**
  * Remove a node from a tree.
  * Remove a node from a tree.
  *
  *
  * After completion, the node is stale.
  * After completion, the node is stale.
  */
  */
 void starpu_rbtree_remove(struct starpu_rbtree *tree, struct starpu_rbtree_node *node);
 void starpu_rbtree_remove(struct starpu_rbtree *tree, struct starpu_rbtree_node *node);
 
 
-/*
+/**
  * Return the first node of a tree.
  * Return the first node of a tree.
  */
  */
 /* TODO: optimize by maintaining the first node of the tree */
 /* TODO: optimize by maintaining the first node of the tree */
 #define starpu_rbtree_first(tree) starpu_rbtree_firstlast(tree, STARPU_RBTREE_LEFT)
 #define starpu_rbtree_first(tree) starpu_rbtree_firstlast(tree, STARPU_RBTREE_LEFT)
 
 
-/*
+/**
  * Return the last node of a tree.
  * Return the last node of a tree.
  */
  */
 /* TODO: optimize by maintaining the first node of the tree */
 /* TODO: optimize by maintaining the first node of the tree */
@@ -304,17 +306,17 @@ void starpu_rbtree_remove(struct starpu_rbtree *tree, struct starpu_rbtree_node
  * bigger that the biggest node */
  * bigger that the biggest node */
 #define starpu_rbtree_last(tree) starpu_rbtree_firstlast(tree, STARPU_RBTREE_RIGHT)
 #define starpu_rbtree_last(tree) starpu_rbtree_firstlast(tree, STARPU_RBTREE_RIGHT)
 
 
-/*
+/**
  * Return the node previous to the given node.
  * Return the node previous to the given node.
  */
  */
 #define starpu_rbtree_prev(node) starpu_rbtree_walk(node, STARPU_RBTREE_LEFT)
 #define starpu_rbtree_prev(node) starpu_rbtree_walk(node, STARPU_RBTREE_LEFT)
 
 
-/*
+/**
  * Return the node next to the given node.
  * Return the node next to the given node.
  */
  */
 #define starpu_rbtree_next(node) starpu_rbtree_walk(node, STARPU_RBTREE_RIGHT)
 #define starpu_rbtree_next(node) starpu_rbtree_walk(node, STARPU_RBTREE_RIGHT)
 
 
-/*
+/**
  * Forge a loop to process all nodes of a tree, removing them when visited.
  * Forge a loop to process all nodes of a tree, removing them when visited.
  *
  *
  * This macro can only be used to destroy a tree, so that the resources used
  * This macro can only be used to destroy a tree, so that the resources used

+ 20 - 18
src/common/rbtree_i.h

@@ -28,7 +28,9 @@
 
 
 #include <assert.h>
 #include <assert.h>
 
 
-/*
+/** @file */
+
+/**
  * Red-black node structure.
  * Red-black node structure.
  *
  *
  * To reduce the number of branches and the instruction cache footprint,
  * To reduce the number of branches and the instruction cache footprint,
@@ -47,34 +49,34 @@ struct starpu_rbtree_node {
     struct starpu_rbtree_node *children[2];
     struct starpu_rbtree_node *children[2];
 };
 };
 
 
-/*
+/**
  * Red-black tree structure.
  * Red-black tree structure.
  */
  */
 struct starpu_rbtree {
 struct starpu_rbtree {
     struct starpu_rbtree_node *root;
     struct starpu_rbtree_node *root;
 };
 };
 
 
-/*
+/**
  * Masks applied on the parent member of a node to obtain either the
  * Masks applied on the parent member of a node to obtain either the
  * color or the parent address.
  * color or the parent address.
  */
  */
 #define STARPU_RBTREE_COLOR_MASK   ((uintptr_t) 0x1)
 #define STARPU_RBTREE_COLOR_MASK   ((uintptr_t) 0x1)
 #define STARPU_RBTREE_PARENT_MASK  (~((uintptr_t) 0x3))
 #define STARPU_RBTREE_PARENT_MASK  (~((uintptr_t) 0x3))
 
 
-/*
+/**
  * Node colors.
  * Node colors.
  */
  */
 #define STARPU_RBTREE_COLOR_RED    0
 #define STARPU_RBTREE_COLOR_RED    0
 #define STARPU_RBTREE_COLOR_BLACK  1
 #define STARPU_RBTREE_COLOR_BLACK  1
 
 
-/*
+/**
  * Masks applied on slots to obtain either the child index or the parent
  * Masks applied on slots to obtain either the child index or the parent
  * address.
  * address.
  */
  */
 #define STARPU_RBTREE_SLOT_INDEX_MASK  ((uintptr_t) 0x1)
 #define STARPU_RBTREE_SLOT_INDEX_MASK  ((uintptr_t) 0x1)
 #define STARPU_RBTREE_SLOT_PARENT_MASK (~STARPU_RBTREE_SLOT_INDEX_MASK)
 #define STARPU_RBTREE_SLOT_PARENT_MASK (~STARPU_RBTREE_SLOT_INDEX_MASK)
 
 
-/*
+/**
  * Return true if the given pointer is suitably aligned.
  * Return true if the given pointer is suitably aligned.
  */
  */
 static inline int starpu_rbtree_check_alignment(const struct starpu_rbtree_node *node)
 static inline int starpu_rbtree_check_alignment(const struct starpu_rbtree_node *node)
@@ -82,7 +84,7 @@ static inline int starpu_rbtree_check_alignment(const struct starpu_rbtree_node
     return ((uintptr_t)node & (~STARPU_RBTREE_PARENT_MASK)) == 0;
     return ((uintptr_t)node & (~STARPU_RBTREE_PARENT_MASK)) == 0;
 }
 }
 
 
-/*
+/**
  * Return true if the given index is a valid child index.
  * Return true if the given index is a valid child index.
  */
  */
 static inline int starpu_rbtree_check_index(int index)
 static inline int starpu_rbtree_check_index(int index)
@@ -90,7 +92,7 @@ static inline int starpu_rbtree_check_index(int index)
     return index == (index & 1);
     return index == (index & 1);
 }
 }
 
 
-/*
+/**
  * Convert the result of a comparison into an index in the children array
  * Convert the result of a comparison into an index in the children array
  * (0 or 1).
  * (0 or 1).
  *
  *
@@ -101,7 +103,7 @@ static inline int starpu_rbtree_d2i(int diff)
     return !(diff <= 0);
     return !(diff <= 0);
 }
 }
 
 
-/*
+/**
  * Return the parent of a node.
  * Return the parent of a node.
  */
  */
 static inline struct starpu_rbtree_node * starpu_rbtree_parent(const struct starpu_rbtree_node *node)
 static inline struct starpu_rbtree_node * starpu_rbtree_parent(const struct starpu_rbtree_node *node)
@@ -109,7 +111,7 @@ static inline struct starpu_rbtree_node * starpu_rbtree_parent(const struct star
     return (struct starpu_rbtree_node *)(node->parent & STARPU_RBTREE_PARENT_MASK);
     return (struct starpu_rbtree_node *)(node->parent & STARPU_RBTREE_PARENT_MASK);
 }
 }
 
 
-/*
+/**
  * Translate an insertion point into a slot.
  * Translate an insertion point into a slot.
  */
  */
 static inline uintptr_t starpu_rbtree_slot(struct starpu_rbtree_node *parent, int index)
 static inline uintptr_t starpu_rbtree_slot(struct starpu_rbtree_node *parent, int index)
@@ -119,7 +121,7 @@ static inline uintptr_t starpu_rbtree_slot(struct starpu_rbtree_node *parent, in
     return (uintptr_t)parent | index;
     return (uintptr_t)parent | index;
 }
 }
 
 
-/*
+/**
  * Extract the parent address from a slot.
  * Extract the parent address from a slot.
  */
  */
 static inline struct starpu_rbtree_node * starpu_rbtree_slot_parent(uintptr_t slot)
 static inline struct starpu_rbtree_node * starpu_rbtree_slot_parent(uintptr_t slot)
@@ -127,7 +129,7 @@ static inline struct starpu_rbtree_node * starpu_rbtree_slot_parent(uintptr_t sl
     return (struct starpu_rbtree_node *)(slot & STARPU_RBTREE_SLOT_PARENT_MASK);
     return (struct starpu_rbtree_node *)(slot & STARPU_RBTREE_SLOT_PARENT_MASK);
 }
 }
 
 
-/*
+/**
  * Extract the index from a slot.
  * Extract the index from a slot.
  */
  */
 static inline int starpu_rbtree_slot_index(uintptr_t slot)
 static inline int starpu_rbtree_slot_index(uintptr_t slot)
@@ -135,7 +137,7 @@ static inline int starpu_rbtree_slot_index(uintptr_t slot)
     return slot & STARPU_RBTREE_SLOT_INDEX_MASK;
     return slot & STARPU_RBTREE_SLOT_INDEX_MASK;
 }
 }
 
 
-/*
+/**
  * Insert a node in a tree, rebalancing it if necessary.
  * Insert a node in a tree, rebalancing it if necessary.
  *
  *
  * The index parameter is the index in the children array of the parent where
  * The index parameter is the index in the children array of the parent where
@@ -146,7 +148,7 @@ static inline int starpu_rbtree_slot_index(uintptr_t slot)
 void starpu_rbtree_insert_rebalance(struct starpu_rbtree *tree, struct starpu_rbtree_node *parent,
 void starpu_rbtree_insert_rebalance(struct starpu_rbtree *tree, struct starpu_rbtree_node *parent,
                              int index, struct starpu_rbtree_node *node);
                              int index, struct starpu_rbtree_node *node);
 
 
-/*
+/**
  * Return the previous or next node relative to a location in a tree.
  * Return the previous or next node relative to a location in a tree.
  *
  *
  * The parent and index parameters define the location, which can be empty.
  * The parent and index parameters define the location, which can be empty.
@@ -156,7 +158,7 @@ void starpu_rbtree_insert_rebalance(struct starpu_rbtree *tree, struct starpu_rb
 struct starpu_rbtree_node * starpu_rbtree_nearest(struct starpu_rbtree_node *parent, int index,
 struct starpu_rbtree_node * starpu_rbtree_nearest(struct starpu_rbtree_node *parent, int index,
                                     int direction);
                                     int direction);
 
 
-/*
+/**
  * Return the first or last node of a tree.
  * Return the first or last node of a tree.
  *
  *
  * The direction parameter is either STARPU_RBTREE_LEFT (to obtain the first node)
  * The direction parameter is either STARPU_RBTREE_LEFT (to obtain the first node)
@@ -164,7 +166,7 @@ struct starpu_rbtree_node * starpu_rbtree_nearest(struct starpu_rbtree_node *par
  */
  */
 struct starpu_rbtree_node * starpu_rbtree_firstlast(const struct starpu_rbtree *tree, int direction);
 struct starpu_rbtree_node * starpu_rbtree_firstlast(const struct starpu_rbtree *tree, int direction);
 
 
-/*
+/**
  * Return the node next to, or previous to the given node.
  * Return the node next to, or previous to the given node.
  *
  *
  * The direction parameter is either STARPU_RBTREE_LEFT (to obtain the previous node)
  * The direction parameter is either STARPU_RBTREE_LEFT (to obtain the previous node)
@@ -172,13 +174,13 @@ struct starpu_rbtree_node * starpu_rbtree_firstlast(const struct starpu_rbtree *
  */
  */
 struct starpu_rbtree_node * starpu_rbtree_walk(struct starpu_rbtree_node *node, int direction);
 struct starpu_rbtree_node * starpu_rbtree_walk(struct starpu_rbtree_node *node, int direction);
 
 
-/*
+/**
  * Return the left-most deepest node of a tree, which is the starting point of
  * Return the left-most deepest node of a tree, which is the starting point of
  * the postorder traversal performed by starpu_rbtree_for_each_remove().
  * the postorder traversal performed by starpu_rbtree_for_each_remove().
  */
  */
 struct starpu_rbtree_node * starpu_rbtree_postwalk_deepest(const struct starpu_rbtree *tree);
 struct starpu_rbtree_node * starpu_rbtree_postwalk_deepest(const struct starpu_rbtree *tree);
 
 
-/*
+/**
  * Unlink a node from its tree and return the next (right) node in postorder.
  * Unlink a node from its tree and return the next (right) node in postorder.
  */
  */
 struct starpu_rbtree_node * starpu_rbtree_postwalk_unlink(struct starpu_rbtree_node *node);
 struct starpu_rbtree_node * starpu_rbtree_postwalk_unlink(struct starpu_rbtree_node *node);

+ 9 - 7
src/common/rwlock.h

@@ -20,7 +20,9 @@
 #include <stdint.h>
 #include <stdint.h>
 #include <starpu.h>
 #include <starpu.h>
 
 
-/* Dummy implementation of a RW-lock using a spinlock. */
+/** @file */
+
+/** Dummy implementation of a RW-lock using a spinlock. */
 struct _starpu_rw_lock
 struct _starpu_rw_lock
 {
 {
 	uint32_t busy;
 	uint32_t busy;
@@ -28,24 +30,24 @@ struct _starpu_rw_lock
 	uint16_t readercnt;
 	uint16_t readercnt;
 };
 };
 
 
-/* Initialize the RW-lock */
+/** Initialize the RW-lock */
 void _starpu_init_rw_lock(struct _starpu_rw_lock *lock);
 void _starpu_init_rw_lock(struct _starpu_rw_lock *lock);
 
 
-/* Grab the RW-lock in a write mode */
+/** Grab the RW-lock in a write mode */
 void _starpu_take_rw_lock_write(struct _starpu_rw_lock *lock);
 void _starpu_take_rw_lock_write(struct _starpu_rw_lock *lock);
 
 
-/* Grab the RW-lock in a read mode */
+/** Grab the RW-lock in a read mode */
 void _starpu_take_rw_lock_read(struct _starpu_rw_lock *lock);
 void _starpu_take_rw_lock_read(struct _starpu_rw_lock *lock);
 
 
-/* Try to grab the RW-lock in a write mode. Returns 0 in case of success, -1
+/** Try to grab the RW-lock in a write mode. Returns 0 in case of success, -1
  * otherwise. */
  * otherwise. */
 int _starpu_take_rw_lock_write_try(struct _starpu_rw_lock *lock);
 int _starpu_take_rw_lock_write_try(struct _starpu_rw_lock *lock);
 
 
-/* Try to grab the RW-lock in a read mode. Returns 0 in case of success, -1
+/** Try to grab the RW-lock in a read mode. Returns 0 in case of success, -1
  * otherwise. */
  * otherwise. */
 int _starpu_take_rw_lock_read_try(struct _starpu_rw_lock *lock);
 int _starpu_take_rw_lock_read_try(struct _starpu_rw_lock *lock);
 
 
-/* Unlock the RW-lock. */
+/** Unlock the RW-lock. */
 void _starpu_release_rw_lock(struct _starpu_rw_lock *lock);
 void _starpu_release_rw_lock(struct _starpu_rw_lock *lock);
 
 
 #endif
 #endif

+ 2 - 0
src/common/starpu_spinlock.h

@@ -16,6 +16,8 @@
 #ifndef __STARPU_SPINLOCK_H__
 #ifndef __STARPU_SPINLOCK_H__
 #define __STARPU_SPINLOCK_H__
 #define __STARPU_SPINLOCK_H__
 
 
+/** @file */
+
 #include <errno.h>
 #include <errno.h>
 #include <stdint.h>
 #include <stdint.h>
 #include <common/config.h>
 #include <common/config.h>

+ 2 - 0
src/common/thread.h

@@ -17,6 +17,8 @@
 #ifndef __COMMON_THREAD_H__
 #ifndef __COMMON_THREAD_H__
 #define __COMMON_THREAD_H__
 #define __COMMON_THREAD_H__
 
 
+/** @file */
+
 #include <common/utils.h>
 #include <common/utils.h>
 
 
 #if defined(STARPU_LINUX_SYS) && defined(STARPU_HAVE_XCHG)
 #if defined(STARPU_LINUX_SYS) && defined(STARPU_HAVE_XCHG)

+ 2 - 0
src/common/timing.h

@@ -17,6 +17,8 @@
 #ifndef TIMING_H
 #ifndef TIMING_H
 #define TIMING_H
 #define TIMING_H
 
 
+/** @file */
+
 /*
 /*
  * _starpu_timing_init must be called prior to using any of these timing
  * _starpu_timing_init must be called prior to using any of these timing
  * functions.
  * functions.

+ 6 - 4
src/common/utils.h

@@ -17,6 +17,8 @@
 #ifndef __COMMON_UTILS_H__
 #ifndef __COMMON_UTILS_H__
 #define __COMMON_UTILS_H__
 #define __COMMON_UTILS_H__
 
 
+/** @file */
+
 #include <common/config.h>
 #include <common/config.h>
 #include <starpu.h>
 #include <starpu.h>
 #include <sys/stat.h>
 #include <sys/stat.h>
@@ -162,17 +164,17 @@ int _starpu_fwrunlock(FILE *file);
 char *_starpu_get_home_path(void);
 char *_starpu_get_home_path(void);
 void _starpu_gethostname(char *hostname, size_t size);
 void _starpu_gethostname(char *hostname, size_t size);
 
 
-/* If FILE is currently on a comment line, eat it.  */
+/** If FILE is currently on a comment line, eat it.  */
 void _starpu_drop_comments(FILE *f);
 void _starpu_drop_comments(FILE *f);
 
 
 struct _starpu_job;
 struct _starpu_job;
-/* Returns the symbol associated to that job if any. */
+/** Returns the symbol associated to that job if any. */
 const char *_starpu_job_get_model_name(struct _starpu_job *j);
 const char *_starpu_job_get_model_name(struct _starpu_job *j);
-/* Returns the name associated to that job if any. */
+/** Returns the name associated to that job if any. */
 const char *_starpu_job_get_task_name(struct _starpu_job *j);
 const char *_starpu_job_get_task_name(struct _starpu_job *j);
 
 
 struct starpu_codelet;
 struct starpu_codelet;
-/* Returns the symbol associated to that job if any. */
+/** Returns the symbol associated to that job if any. */
 const char *_starpu_codelet_get_model_name(struct starpu_codelet *cl);
 const char *_starpu_codelet_get_model_name(struct starpu_codelet *cl);
 
 
 int _starpu_check_mutex_deadlock(starpu_pthread_mutex_t *mutex);
 int _starpu_check_mutex_deadlock(starpu_pthread_mutex_t *mutex);

+ 2 - 0
src/core/combined_workers.h

@@ -17,6 +17,8 @@
 #ifndef __COMBINED_WORKERS_H__
 #ifndef __COMBINED_WORKERS_H__
 #define __COMBINED_WORKERS_H__
 #define __COMBINED_WORKERS_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 
 

+ 2 - 0
src/core/debug.h

@@ -17,6 +17,8 @@
 #ifndef __DEBUG_H__
 #ifndef __DEBUG_H__
 #define __DEBUG_H__
 #define __DEBUG_H__
 
 
+/** @file */
+
 #include <stdio.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdlib.h>
 #include <stdarg.h>
 #include <stdarg.h>

+ 11 - 9
src/core/dependencies/cg.h

@@ -17,10 +17,12 @@
 #ifndef __CG_H__
 #ifndef __CG_H__
 #define __CG_H__
 #define __CG_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 
 
-/* we do not necessarily want to allocate room for 256 dependencies, but we
+/** we do not necessarily want to allocate room for 256 dependencies, but we
    want to handle the few situation where there are a lot of dependencies as
    want to handle the few situation where there are a lot of dependencies as
    well */
    well */
 #define STARPU_DYNAMIC_DEPS_SIZE	1
 #define STARPU_DYNAMIC_DEPS_SIZE	1
@@ -32,30 +34,30 @@
 
 
 struct _starpu_job;
 struct _starpu_job;
 
 
-/* Completion Group list, records both the number of expected notifications
+/** Completion Group list, records both the number of expected notifications
  * before the completion can start, and the list of successors when the
  * before the completion can start, and the list of successors when the
  * completion is finished. */
  * completion is finished. */
 struct _starpu_cg_list
 struct _starpu_cg_list
 {
 {
-	/* Protects atomicity of the list and the terminated flag */
+	/** Protects atomicity of the list and the terminated flag */
 	struct _starpu_spinlock lock;
 	struct _starpu_spinlock lock;
 
 
-	/* Number of notifications to be waited for */
+	/** Number of notifications to be waited for */
 	unsigned ndeps; /* how many deps ? */
 	unsigned ndeps; /* how many deps ? */
 	unsigned ndeps_completed; /* how many deps are done ? */
 	unsigned ndeps_completed; /* how many deps are done ? */
 #ifdef STARPU_DEBUG
 #ifdef STARPU_DEBUG
-	/* Array of the notifications, size ndeps */
+	/** Array of the notifications, size ndeps */
 	struct _starpu_cg **deps;
 	struct _starpu_cg **deps;
-	/* Which ones have notified, size ndeps */
+	/** Which ones have notified, size ndeps */
 	char *done;
 	char *done;
 #endif
 #endif
 
 
-	/* Whether the completion is finished.
+	/** Whether the completion is finished.
 	 * For restartable/restarted tasks, only the first iteration is taken into account here.
 	 * For restartable/restarted tasks, only the first iteration is taken into account here.
 	 */
 	 */
 	unsigned terminated;
 	unsigned terminated;
 
 
-	/* List of successors */
+	/** List of successors */
 	unsigned nsuccs; /* how many successors ? */
 	unsigned nsuccs; /* how many successors ? */
 #ifdef STARPU_DYNAMIC_DEPS_SIZE
 #ifdef STARPU_DYNAMIC_DEPS_SIZE
 	unsigned succ_list_size; /* How many allocated items in succ */
 	unsigned succ_list_size; /* How many allocated items in succ */
@@ -72,7 +74,7 @@ enum _starpu_cg_type
 	STARPU_CG_TASK=(1<<2)
 	STARPU_CG_TASK=(1<<2)
 };
 };
 
 
-/* Completion Group */
+/** Completion Group */
 struct _starpu_cg
 struct _starpu_cg
 {
 {
 	unsigned ntags; /* number of tags depended on */
 	unsigned ntags; /* number of tags depended on */

+ 2 - 0
src/core/dependencies/data_concurrency.h

@@ -17,6 +17,8 @@
 #ifndef __DATA_CONCURRENCY_H__
 #ifndef __DATA_CONCURRENCY_H__
 #define __DATA_CONCURRENCY_H__
 #define __DATA_CONCURRENCY_H__
 
 
+/** @file */
+
 #include <core/jobs.h>
 #include <core/jobs.h>
 
 
 void _starpu_job_set_ordered_buffers(struct _starpu_job *j);
 void _starpu_job_set_ordered_buffers(struct _starpu_job *j);

+ 4 - 2
src/core/dependencies/implicit_data_deps.h

@@ -17,6 +17,8 @@
 #ifndef __IMPLICIT_DATA_DEPS_H__
 #ifndef __IMPLICIT_DATA_DEPS_H__
 #define __IMPLICIT_DATA_DEPS_H__
 #define __IMPLICIT_DATA_DEPS_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 
 
@@ -30,10 +32,10 @@ void _starpu_release_task_enforce_sequential_consistency(struct _starpu_job *j);
 void _starpu_add_post_sync_tasks(struct starpu_task *post_sync_task, starpu_data_handle_t handle);
 void _starpu_add_post_sync_tasks(struct starpu_task *post_sync_task, starpu_data_handle_t handle);
 void _starpu_unlock_post_sync_tasks(starpu_data_handle_t handle);
 void _starpu_unlock_post_sync_tasks(starpu_data_handle_t handle);
 
 
-/* Register a hook to be called when a write is submitted */
+/** Register a hook to be called when a write is submitted */
 void _starpu_implicit_data_deps_write_hook(void (*func)(starpu_data_handle_t));
 void _starpu_implicit_data_deps_write_hook(void (*func)(starpu_data_handle_t));
 
 
-/* This function blocks until the handle is available in the requested mode */
+/** This function blocks until the handle is available in the requested mode */
 int _starpu_data_wait_until_available(starpu_data_handle_t handle, enum starpu_data_access_mode mode, const char *sync_name);
 int _starpu_data_wait_until_available(starpu_data_handle_t handle, enum starpu_data_access_mode mode, const char *sync_name);
 
 
 void _starpu_data_clear_implicit(starpu_data_handle_t handle);
 void _starpu_data_clear_implicit(starpu_data_handle_t handle);

+ 2 - 0
src/core/dependencies/tags.h

@@ -17,6 +17,8 @@
 #ifndef __TAGS_H__
 #ifndef __TAGS_H__
 #define __TAGS_H__
 #define __TAGS_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 #include <common/starpu_spinlock.h>
 #include <common/starpu_spinlock.h>

+ 3 - 1
src/core/detect_combined_workers.h

@@ -16,7 +16,9 @@
 
 
 #include <starpu.h>
 #include <starpu.h>
 
 
-/* Initialize combined workers */
+/** @file */
+
+/** Initialize combined workers */
 void _starpu_sched_find_worker_combinations(int *workerids, int nworkers);
 void _starpu_sched_find_worker_combinations(int *workerids, int nworkers);
 
 
 extern int _starpu_initialized_combined_workers;
 extern int _starpu_initialized_combined_workers;

+ 10 - 10
src/core/disk.h

@@ -18,6 +18,8 @@
 #ifndef __DISK_H__
 #ifndef __DISK_H__
 #define __DISK_H__
 #define __DISK_H__
 
 
+/** @file */
+
 #define STARPU_DISK_ALL 1
 #define STARPU_DISK_ALL 1
 #define STARPU_DISK_NO_RECLAIM 2
 #define STARPU_DISK_NO_RECLAIM 2
 
 
@@ -29,13 +31,13 @@ extern "C"
 #include <datawizard/copy_driver.h>
 #include <datawizard/copy_driver.h>
 #include <datawizard/malloc.h>
 #include <datawizard/malloc.h>
 
 
-/* interface to manipulate memory disk */
+/** interface to manipulate memory disk */
 void * _starpu_disk_alloc (unsigned node, size_t size) STARPU_ATTRIBUTE_MALLOC;
 void * _starpu_disk_alloc (unsigned node, size_t size) STARPU_ATTRIBUTE_MALLOC;
 
 
 void _starpu_disk_free (unsigned node, void *obj, size_t size);
 void _starpu_disk_free (unsigned node, void *obj, size_t size);
-/* src_node is a disk node, dst_node is for the moment the STARPU_MAIN_RAM */
+/** src_node is a disk node, dst_node is for the moment the STARPU_MAIN_RAM */
 int _starpu_disk_read(unsigned src_node, unsigned dst_node, void *obj, void *buf, off_t offset, size_t size, struct _starpu_async_channel * async_channel);
 int _starpu_disk_read(unsigned src_node, unsigned dst_node, void *obj, void *buf, off_t offset, size_t size, struct _starpu_async_channel * async_channel);
-/* src_node is for the moment the STARU_MAIN_RAM, dst_node is a disk node */ 
+/** src_node is for the moment the STARU_MAIN_RAM, dst_node is a disk node */
 int _starpu_disk_write(unsigned src_node, unsigned dst_node, void *obj, void *buf, off_t offset, size_t size, struct _starpu_async_channel * async_channel);
 int _starpu_disk_write(unsigned src_node, unsigned dst_node, void *obj, void *buf, off_t offset, size_t size, struct _starpu_async_channel * async_channel);
 
 
 int _starpu_disk_full_read(unsigned src_node, unsigned dst_node, void * obj, void ** ptr, size_t * size, struct _starpu_async_channel * async_channel);
 int _starpu_disk_full_read(unsigned src_node, unsigned dst_node, void * obj, void ** ptr, size_t * size, struct _starpu_async_channel * async_channel);
@@ -43,22 +45,20 @@ int _starpu_disk_full_write(unsigned src_node, unsigned dst_node, void * obj, vo
 
 
 int _starpu_disk_copy(unsigned node_src, void* obj_src, off_t offset_src, unsigned node_dst, void* obj_dst, off_t offset_dst, size_t size, struct _starpu_async_channel * async_channel);
 int _starpu_disk_copy(unsigned node_src, void* obj_src, off_t offset_src, unsigned node_dst, void* obj_dst, off_t offset_dst, size_t size, struct _starpu_async_channel * async_channel);
 
 
-/* force the request to compute */
+/** force the request to compute */
 void starpu_disk_wait_request(struct _starpu_async_channel *async_channel);
 void starpu_disk_wait_request(struct _starpu_async_channel *async_channel);
-/* return 1 if the request is finished, 0 if not finished */
+/** return 1 if the request is finished, 0 if not finished */
 int starpu_disk_test_request(struct _starpu_async_channel *async_channel);
 int starpu_disk_test_request(struct _starpu_async_channel *async_channel);
 void starpu_disk_free_request(struct _starpu_async_channel *async_channel);
 void starpu_disk_free_request(struct _starpu_async_channel *async_channel);
 
 
-/* interface to compare memory disk */
+/** interface to compare memory disk */
 int _starpu_disk_can_copy(unsigned node1, unsigned node2);
 int _starpu_disk_can_copy(unsigned node1, unsigned node2);
 
 
-/* change disk flag */
-
+/** change disk flag */
 void _starpu_set_disk_flag(unsigned node, int flag);
 void _starpu_set_disk_flag(unsigned node, int flag);
 int _starpu_get_disk_flag(unsigned node);
 int _starpu_get_disk_flag(unsigned node);
 
 
-/* unregister disk */
-
+/** unregister disk */
 void _starpu_disk_unregister(void);
 void _starpu_disk_unregister(void);
 
 
 void _starpu_swap_init(void);
 void _starpu_swap_init(void);

+ 2 - 0
src/core/disk_ops/unistd/disk_unistd_global.h

@@ -18,6 +18,8 @@
 #ifndef __DISK_UNISTD_GLOBAL_H__
 #ifndef __DISK_UNISTD_GLOBAL_H__
 #define __DISK_UNISTD_GLOBAL_H__
 #define __DISK_UNISTD_GLOBAL_H__
 
 
+/** @file */
+
 #include <fcntl.h>
 #include <fcntl.h>
 #ifdef __linux__
 #ifdef __linux__
 #include <sys/syscall.h>
 #include <sys/syscall.h>

+ 2 - 0
src/core/drivers.h

@@ -18,6 +18,8 @@
 #ifndef __DRIVERS_H__
 #ifndef __DRIVERS_H__
 #define __DRIVERS_H__
 #define __DRIVERS_H__
 
 
+/** @file */
+
 struct _starpu_driver_ops
 struct _starpu_driver_ops
 {
 {
 	int (*init)(struct _starpu_worker *worker);
 	int (*init)(struct _starpu_worker *worker);

+ 15 - 13
src/core/errorcheck.h

@@ -17,43 +17,45 @@
 #ifndef __ERRORCHECK_H__
 #ifndef __ERRORCHECK_H__
 #define __ERRORCHECK_H__
 #define __ERRORCHECK_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 
 
-/* This type describes in which state a worker may be. */
+/** This type describes in which state a worker may be. */
 enum _starpu_worker_status
 enum _starpu_worker_status
 {
 {
-	/* invalid status (for instance if we request the status of some thread
+	/** invalid status (for instance if we request the status of some thread
 	 * that is not controlled by StarPU */
 	 * that is not controlled by StarPU */
 	STATUS_INVALID,
 	STATUS_INVALID,
-	/* everything that does not fit the other status */
+	/** everything that does not fit the other status */
 	STATUS_UNKNOWN,
 	STATUS_UNKNOWN,
-	/* during the initialization */
+	/** during the initialization */
 	STATUS_INITIALIZING,
 	STATUS_INITIALIZING,
-	/* during the execution of a codelet */
+	/** during the execution of a codelet */
 	STATUS_EXECUTING,
 	STATUS_EXECUTING,
-	/* during the execution of the callback */
+	/** during the execution of the callback */
 	STATUS_CALLBACK,
 	STATUS_CALLBACK,
-	/* while executing the scheduler code */
+	/** while executing the scheduler code */
 	STATUS_SCHEDULING,
 	STATUS_SCHEDULING,
-	/* while waiting for a data transfer */
+	/** while waiting for a data transfer */
 	STATUS_WAITING,
 	STATUS_WAITING,
-	/* while sleeping because there is nothing to do, but looking for tasks to do */
+	/** while sleeping because there is nothing to do, but looking for tasks to do */
 	STATUS_SLEEPING_SCHEDULING,
 	STATUS_SLEEPING_SCHEDULING,
-	/* while sleeping because there is nothing to do, and not even scheduling */
+	/** while sleeping because there is nothing to do, and not even scheduling */
 	STATUS_SLEEPING
 	STATUS_SLEEPING
 };
 };
 
 
 struct _starpu_worker;
 struct _starpu_worker;
-/* Specify what the local worker is currently doing (eg. executing a callback).
+/** Specify what the local worker is currently doing (eg. executing a callback).
  * This permits to detect if this is legal to do a blocking call for instance.
  * This permits to detect if this is legal to do a blocking call for instance.
  * */
  * */
 void _starpu_set_worker_status(struct _starpu_worker *worker, enum _starpu_worker_status st);
 void _starpu_set_worker_status(struct _starpu_worker *worker, enum _starpu_worker_status st);
 void _starpu_set_local_worker_status(enum _starpu_worker_status st);
 void _starpu_set_local_worker_status(enum _starpu_worker_status st);
 
 
-/* Indicate what type of operation the worker is currently doing. */
+/** Indicate what type of operation the worker is currently doing. */
 enum _starpu_worker_status _starpu_get_local_worker_status(void);
 enum _starpu_worker_status _starpu_get_local_worker_status(void);
 
 
-/* It is forbidden to do blocking calls during some operations such as callback
+/** It is forbidden to do blocking calls during some operations such as callback
  * or during the execution of a task. This function indicates whether it is
  * or during the execution of a task. This function indicates whether it is
  * legal to call a blocking operation in the current context. */
  * legal to call a blocking operation in the current context. */
 unsigned _starpu_worker_may_perform_blocking_calls(void);
 unsigned _starpu_worker_may_perform_blocking_calls(void);

+ 2 - 0
src/core/idle_hook.h

@@ -17,6 +17,8 @@
 #ifndef __IDLE_HOOK_H__
 #ifndef __IDLE_HOOK_H__
 #define __IDLE_HOOK_H__
 #define __IDLE_HOOK_H__
 
 
+/** @file */
+
 void _starpu_init_idle_hooks(void);
 void _starpu_init_idle_hooks(void);
 
 
 unsigned _starpu_execute_registered_idle_hooks(void);
 unsigned _starpu_execute_registered_idle_hooks(void);

+ 48 - 46
src/core/jobs.h

@@ -19,6 +19,8 @@
 #ifndef __JOBS_H__
 #ifndef __JOBS_H__
 #define __JOBS_H__
 #define __JOBS_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <semaphore.h>
 #include <semaphore.h>
 #include <stdio.h>
 #include <stdio.h>
@@ -47,7 +49,7 @@
 
 
 struct _starpu_worker;
 struct _starpu_worker;
 
 
-/* codelet function */
+/** codelet function */
 typedef void (*_starpu_cl_func_t)(void **, void *);
 typedef void (*_starpu_cl_func_t)(void **, void *);
 
 
 #define _STARPU_CPU_MAY_PERFORM(j)	((j)->task->where & STARPU_CPU)
 #define _STARPU_CPU_MAY_PERFORM(j)	((j)->task->where & STARPU_CPU)
@@ -59,12 +61,12 @@ struct _starpu_data_descr
 {
 {
 	starpu_data_handle_t handle;
 	starpu_data_handle_t handle;
 	enum starpu_data_access_mode mode;
 	enum starpu_data_access_mode mode;
-	int node; /* This is the value actually chosen, only set by
+	int node; /** This is the value actually chosen, only set by
 		     _starpu_fetch_task_input for coherency with
 		     _starpu_fetch_task_input for coherency with
 		     __starpu_push_task_output */
 		     __starpu_push_task_output */
 	int index;
 	int index;
 
 
-	int orderedindex; /* For this field the array is actually indexed by
+	int orderedindex; /** For this field the array is actually indexed by
 			     parameter order, and this provides the ordered
 			     parameter order, and this provides the ordered
 			     index */
 			     index */
 };
 };
@@ -72,27 +74,27 @@ struct _starpu_data_descr
 #ifdef STARPU_DEBUG
 #ifdef STARPU_DEBUG
 MULTILIST_CREATE_TYPE(_starpu_job, all_submitted)
 MULTILIST_CREATE_TYPE(_starpu_job, all_submitted)
 #endif
 #endif
-/* A job is the internal representation of a task. */
+/** A job is the internal representation of a task. */
 struct _starpu_job
 struct _starpu_job
 {
 {
-	/* Each job is attributed a unique id. */
+	/** Each job is attributed a unique id. */
 	unsigned long job_id;
 	unsigned long job_id;
 
 
-	/* The task associated to that job */
+	/** The task associated to that job */
 	struct starpu_task *task;
 	struct starpu_task *task;
 
 
-        /* A task that this will unlock quickly, e.g. we are the pre_sync part
+        /** A task that this will unlock quickly, e.g. we are the pre_sync part
          * of a data acquisition, and the caller promised that data release will
          * of a data acquisition, and the caller promised that data release will
 	 * happen immediately, so that the post_sync task will be started
 	 * happen immediately, so that the post_sync task will be started
          * immediately after. */
          * immediately after. */
 	struct _starpu_job *quick_next;
 	struct _starpu_job *quick_next;
 
 
-	/* These synchronization structures are used to wait for the job to be
+	/** These synchronization structures are used to wait for the job to be
 	 * available or terminated for instance. */
 	 * available or terminated for instance. */
 	starpu_pthread_mutex_t sync_mutex;
 	starpu_pthread_mutex_t sync_mutex;
 	starpu_pthread_cond_t sync_cond;
 	starpu_pthread_cond_t sync_cond;
 
 
-	/* To avoid deadlocks, we reorder the different buffers accessed to by
+	/** To avoid deadlocks, we reorder the different buffers accessed to by
 	 * the task so that we always grab the rw-lock associated to the
 	 * the task so that we always grab the rw-lock associated to the
 	 * handles in the same order. */
 	 * handles in the same order. */
 	struct _starpu_data_descr ordered_buffers[STARPU_NMAXBUFS];
 	struct _starpu_data_descr ordered_buffers[STARPU_NMAXBUFS];
@@ -100,24 +102,24 @@ struct _starpu_job
 	struct _starpu_data_descr *dyn_ordered_buffers;
 	struct _starpu_data_descr *dyn_ordered_buffers;
 	struct _starpu_task_wrapper_dlist *dyn_dep_slots;
 	struct _starpu_task_wrapper_dlist *dyn_dep_slots;
 
 
-	/* If a tag is associated to the job, this points to the internal data
+	/** If a tag is associated to the job, this points to the internal data
 	 * structure that describes the tag status. */
 	 * structure that describes the tag status. */
 	struct _starpu_tag *tag;
 	struct _starpu_tag *tag;
 
 
-	/* Maintain a list of all the completion groups that depend on the job.
+	/** Maintain a list of all the completion groups that depend on the job.
 	 * */
 	 * */
 	struct _starpu_cg_list job_successors;
 	struct _starpu_cg_list job_successors;
 
 
-	/* Task whose termination depends on this task */
+	/** Task whose termination depends on this task */
 	struct starpu_task *end_rdep;
 	struct starpu_task *end_rdep;
 
 
-	/* For tasks with cl==NULL but submitted with explicit data dependency,
+	/** For tasks with cl==NULL but submitted with explicit data dependency,
 	 * the handle for this dependency, so as to remove the task from the
 	 * the handle for this dependency, so as to remove the task from the
 	 * last_writer/readers */
 	 * last_writer/readers */
 	starpu_data_handle_t implicit_dep_handle;
 	starpu_data_handle_t implicit_dep_handle;
 	struct _starpu_task_wrapper_dlist implicit_dep_slot;
 	struct _starpu_task_wrapper_dlist implicit_dep_slot;
 
 
-	/* Indicates whether the task associated to that job has already been
+	/** Indicates whether the task associated to that job has already been
 	 * submitted to StarPU (1) or not (0) (using starpu_task_submit).
 	 * submitted to StarPU (1) or not (0) (using starpu_task_submit).
 	 * Becomes and stays 2 when the task is submitted several times.
 	 * Becomes and stays 2 when the task is submitted several times.
 	 *
 	 *
@@ -125,7 +127,7 @@ struct _starpu_job
 	 */
 	 */
 	unsigned submitted:2;
 	unsigned submitted:2;
 
 
-	/* Indicates whether the task associated to this job is terminated or
+	/** Indicates whether the task associated to this job is terminated or
 	 * not.
 	 * not.
 	 *
 	 *
 	 * Protected by j->sync_mutex.
 	 * Protected by j->sync_mutex.
@@ -133,15 +135,15 @@ struct _starpu_job
 	unsigned terminated:2;
 	unsigned terminated:2;
 
 
 #ifdef STARPU_OPENMP
 #ifdef STARPU_OPENMP
-	/* Job is a continuation or a regular task. */
+	/** Job is a continuation or a regular task. */
 	unsigned continuation;
 	unsigned continuation;
 
 
-	/* If 0, the prepared continuation is not resubmitted automatically
+	/** If 0, the prepared continuation is not resubmitted automatically
 	 * when going to sleep, if 1, the prepared continuation is immediately
 	 * when going to sleep, if 1, the prepared continuation is immediately
 	 * resubmitted when going to sleep. */
 	 * resubmitted when going to sleep. */
 	unsigned continuation_resubmit;
 	unsigned continuation_resubmit;
 
 
-	/* Callback function called when:
+	/** Callback function called when:
 	 * - The continuation starpu task is ready to be submitted again if
 	 * - The continuation starpu task is ready to be submitted again if
 	 *   continuation_resubmit = 0;
 	 *   continuation_resubmit = 0;
 	 * - The continuation starpu task has just been re-submitted if
 	 * - The continuation starpu task has just been re-submitted if
@@ -152,53 +154,53 @@ struct _starpu_job
 	void (*omp_cleanup_callback)(void *arg);
 	void (*omp_cleanup_callback)(void *arg);
 	void *omp_cleanup_callback_arg;
 	void *omp_cleanup_callback_arg;
 
 
-	/* Job has been stopped at least once. */
+	/** Job has been stopped at least once. */
 	unsigned discontinuous;
 	unsigned discontinuous;
 
 
-	/* Cumulated execution time for discontinuous jobs */
+	/** Cumulated execution time for discontinuous jobs */
 	struct timespec cumulated_ts;
 	struct timespec cumulated_ts;
 
 
-	/* Cumulated energy consumption for discontinuous jobs */
+	/** Cumulated energy consumption for discontinuous jobs */
 	double cumulated_energy_consumed;
 	double cumulated_energy_consumed;
 #endif
 #endif
 
 
-	/* The value of the footprint that identifies the job may be stored in
+	/** The value of the footprint that identifies the job may be stored in
 	 * this structure. */
 	 * this structure. */
 	uint32_t footprint;
 	uint32_t footprint;
 	unsigned footprint_is_computed:1;
 	unsigned footprint_is_computed:1;
 
 
-	/* Should that task appear in the debug tools ? (eg. the DAG generated
+	/** Should that task appear in the debug tools ? (eg. the DAG generated
 	 * with dot) */
 	 * with dot) */
 	unsigned exclude_from_dag:1;
 	unsigned exclude_from_dag:1;
 
 
-	/* Is that task internal to StarPU? */
+	/** Is that task internal to StarPU? */
 	unsigned internal:1;
 	unsigned internal:1;
-	/* Did that task use sequential consistency for its data? */
+	/** Did that task use sequential consistency for its data? */
 	unsigned sequential_consistency:1;
 	unsigned sequential_consistency:1;
 
 
-	/* During the reduction of a handle, StarPU may have to submit tasks to
+	/** During the reduction of a handle, StarPU may have to submit tasks to
 	 * perform the reduction itself: those task should not be stalled while
 	 * perform the reduction itself: those task should not be stalled while
 	 * other tasks are blocked until the handle has been properly reduced,
 	 * other tasks are blocked until the handle has been properly reduced,
 	 * so we need a flag to differentiate them from "normal" tasks. */
 	 * so we need a flag to differentiate them from "normal" tasks. */
 	unsigned reduction_task:1;
 	unsigned reduction_task:1;
 
 
-	/* The implementation associated to the job */
+	/** The implementation associated to the job */
 	unsigned nimpl;
 	unsigned nimpl;
 
 
-	/* Number of workers executing that task (>1 if the task is parallel)
+	/** Number of workers executing that task (>1 if the task is parallel)
 	 * */
 	 * */
 	int task_size;
 	int task_size;
 
 
-	/* In case we have assigned this job to a combined workerid */
+	/** In case we have assigned this job to a combined workerid */
 	int combined_workerid;
 	int combined_workerid;
 
 
-	/* How many workers are currently running an alias of that job (for
+	/** How many workers are currently running an alias of that job (for
 	 * parallel tasks only). */
 	 * parallel tasks only). */
 	int active_task_alias_count;
 	int active_task_alias_count;
 
 
 	struct bound_task *bound_task;
 	struct bound_task *bound_task;
 
 
-	/* Parallel workers may have to synchronize before/after the execution of a parallel task. */
+	/** Parallel workers may have to synchronize before/after the execution of a parallel task. */
 	starpu_pthread_barrier_t before_work_barrier;
 	starpu_pthread_barrier_t before_work_barrier;
 	starpu_pthread_barrier_t after_work_barrier;
 	starpu_pthread_barrier_t after_work_barrier;
 	unsigned after_work_busy_barrier;
 	unsigned after_work_busy_barrier;
@@ -206,7 +208,7 @@ struct _starpu_job
 	struct _starpu_graph_node *graph_node;
 	struct _starpu_graph_node *graph_node;
 
 
 #ifdef STARPU_DEBUG
 #ifdef STARPU_DEBUG
-	/* Linked-list of all jobs, for debugging */
+	/** Linked-list of all jobs, for debugging */
 	struct _starpu_job_multilist_all_submitted all_submitted;
 	struct _starpu_job_multilist_all_submitted all_submitted;
 #endif
 #endif
 };
 };
@@ -218,23 +220,23 @@ MULTILIST_CREATE_INLINES(struct _starpu_job, _starpu_job, all_submitted)
 void _starpu_job_init(void);
 void _starpu_job_init(void);
 void _starpu_job_fini(void);
 void _starpu_job_fini(void);
 
 
-/* Create an internal struct _starpu_job *structure to encapsulate the task. */
+/** Create an internal struct _starpu_job *structure to encapsulate the task. */
 struct _starpu_job* _starpu_job_create(struct starpu_task *task) STARPU_ATTRIBUTE_MALLOC;
 struct _starpu_job* _starpu_job_create(struct starpu_task *task) STARPU_ATTRIBUTE_MALLOC;
 
 
-/* Destroy the data structure associated to the job structure */
+/** Destroy the data structure associated to the job structure */
 void _starpu_job_destroy(struct _starpu_job *j);
 void _starpu_job_destroy(struct _starpu_job *j);
 
 
-/* Test for the termination of the job */
+/** Test for the termination of the job */
 int _starpu_job_finished(struct _starpu_job *j);
 int _starpu_job_finished(struct _starpu_job *j);
 
 
-/* Wait for the termination of the job */
+/** Wait for the termination of the job */
 void _starpu_wait_job(struct _starpu_job *j);
 void _starpu_wait_job(struct _starpu_job *j);
 
 
 #ifdef STARPU_OPENMP
 #ifdef STARPU_OPENMP
-/* Test for the termination of the job */
+/** Test for the termination of the job */
 int _starpu_test_job_termination(struct _starpu_job *j);
 int _starpu_test_job_termination(struct _starpu_job *j);
 
 
-/* Prepare the job for accepting new dependencies before becoming a continuation. */
+/** Prepare the job for accepting new dependencies before becoming a continuation. */
 
 
 void _starpu_job_prepare_for_continuation_ext(struct _starpu_job *j, unsigned continuation_resubmit,
 void _starpu_job_prepare_for_continuation_ext(struct _starpu_job *j, unsigned continuation_resubmit,
 		void (*continuation_callback_on_sleep)(void *arg), void *continuation_callback_on_sleep_arg);
 		void (*continuation_callback_on_sleep)(void *arg), void *continuation_callback_on_sleep_arg);
@@ -243,33 +245,33 @@ void _starpu_job_set_omp_cleanup_callback(struct _starpu_job *j,
 		void (*omp_cleanup_callback)(void *arg), void *omp_cleanup_callback_arg);
 		void (*omp_cleanup_callback)(void *arg), void *omp_cleanup_callback_arg);
 #endif
 #endif
 
 
-/* Specify that the task should not appear in the DAG generated by debug tools. */
+/** Specify that the task should not appear in the DAG generated by debug tools. */
 void _starpu_exclude_task_from_dag(struct starpu_task *task);
 void _starpu_exclude_task_from_dag(struct starpu_task *task);
 
 
-/* try to submit job j, enqueue it if it's not schedulable yet. The job's sync mutex is supposed to be held already */
+/** try to submit job j, enqueue it if it's not schedulable yet. The job's sync mutex is supposed to be held already */
 unsigned _starpu_enforce_deps_and_schedule(struct _starpu_job *j);
 unsigned _starpu_enforce_deps_and_schedule(struct _starpu_job *j);
 unsigned _starpu_enforce_deps_starting_from_task(struct _starpu_job *j);
 unsigned _starpu_enforce_deps_starting_from_task(struct _starpu_job *j);
 #ifdef STARPU_OPENMP
 #ifdef STARPU_OPENMP
-/* When waking up a continuation, we only enforce new task dependencies */
+/** When waking up a continuation, we only enforce new task dependencies */
 unsigned _starpu_reenforce_task_deps_and_schedule(struct _starpu_job *j);
 unsigned _starpu_reenforce_task_deps_and_schedule(struct _starpu_job *j);
 #endif
 #endif
 unsigned _starpu_take_deps_and_schedule(struct _starpu_job *j);
 unsigned _starpu_take_deps_and_schedule(struct _starpu_job *j);
 void _starpu_enforce_deps_notify_job_ready_soon(struct _starpu_job *j, _starpu_notify_job_start_data *data, int tag);
 void _starpu_enforce_deps_notify_job_ready_soon(struct _starpu_job *j, _starpu_notify_job_start_data *data, int tag);
 
 
-/* Called at the submission of the job */
+/** Called at the submission of the job */
 void _starpu_handle_job_submission(struct _starpu_job *j);
 void _starpu_handle_job_submission(struct _starpu_job *j);
-/* This function must be called after the execution of a job, this triggers all
+/** This function must be called after the execution of a job, this triggers all
  * job's dependencies and perform the callback function if any. */
  * job's dependencies and perform the callback function if any. */
 void _starpu_handle_job_termination(struct _starpu_job *j);
 void _starpu_handle_job_termination(struct _starpu_job *j);
 
 
-/* Get the sum of the size of the data accessed by the job. */
+/** Get the sum of the size of the data accessed by the job. */
 size_t _starpu_job_get_data_size(struct starpu_perfmodel *model, struct starpu_perfmodel_arch* arch, unsigned nimpl, struct _starpu_job *j);
 size_t _starpu_job_get_data_size(struct starpu_perfmodel *model, struct starpu_perfmodel_arch* arch, unsigned nimpl, struct _starpu_job *j);
 
 
-/* Get a task from the local pool of tasks that were explicitly attributed to
+/** Get a task from the local pool of tasks that were explicitly attributed to
  * that worker. */
  * that worker. */
 struct starpu_task *_starpu_pop_local_task(struct _starpu_worker *worker);
 struct starpu_task *_starpu_pop_local_task(struct _starpu_worker *worker);
 
 
-/* Put a task into the pool of tasks that are explicitly attributed to the
+/** Put a task into the pool of tasks that are explicitly attributed to the
  * specified worker. If "back" is set, the task is put at the back of the list.
  * specified worker. If "back" is set, the task is put at the back of the list.
  * Considering the tasks are popped from the back, this value should be 0 to
  * Considering the tasks are popped from the back, this value should be 0 to
  * enforce a FIFO ordering. */
  * enforce a FIFO ordering. */

+ 2 - 0
src/core/perfmodel/multiple_regression.h

@@ -17,6 +17,8 @@
 #ifndef __MULTIPLE_REGRESSION_H__
 #ifndef __MULTIPLE_REGRESSION_H__
 #define __MULTIPLE_REGRESSION_H__
 #define __MULTIPLE_REGRESSION_H__
 
 
+/** @file */
+
 #include <math.h>
 #include <math.h>
 #include <stdio.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdlib.h>

+ 2 - 0
src/core/perfmodel/perfmodel.h

@@ -19,6 +19,8 @@
 #ifndef __PERFMODEL_H__
 #ifndef __PERFMODEL_H__
 #define __PERFMODEL_H__
 #define __PERFMODEL_H__
 
 
+/** @file */
+
 #include <common/config.h>
 #include <common/config.h>
 #include <starpu.h>
 #include <starpu.h>
 #include <core/task_bundle.h>
 #include <core/task_bundle.h>

+ 3 - 1
src/core/perfmodel/regression.h

@@ -17,6 +17,8 @@
 #ifndef __REGRESSION_H__
 #ifndef __REGRESSION_H__
 #define __REGRESSION_H__
 #define __REGRESSION_H__
 
 
+/** @file */
+
 #include <math.h>
 #include <math.h>
 #include <stdio.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdlib.h>
@@ -25,4 +27,4 @@
 
 
 int _starpu_regression_non_linear_power(struct starpu_perfmodel_history_list *ptr, double *a, double *b, double *c);
 int _starpu_regression_non_linear_power(struct starpu_perfmodel_history_list *ptr, double *a, double *b, double *c);
 
 
-#endif // __REGRESSION_H__ 
+#endif // __REGRESSION_H__

+ 2 - 0
src/core/progress_hook.h

@@ -17,6 +17,8 @@
 #ifndef __PROGRESS_HOOK_H__
 #ifndef __PROGRESS_HOOK_H__
 #define __PROGRESS_HOOK_H__
 #define __PROGRESS_HOOK_H__
 
 
+/** @file */
+
 void _starpu_init_progression_hooks(void);
 void _starpu_init_progression_hooks(void);
 
 
 unsigned _starpu_execute_registered_progression_hooks(void);
 unsigned _starpu_execute_registered_progression_hooks(void);

+ 51 - 49
src/core/sched_ctx.h

@@ -18,6 +18,8 @@
 #ifndef __SCHED_CONTEXT_H__
 #ifndef __SCHED_CONTEXT_H__
 #define __SCHED_CONTEXT_H__
 #define __SCHED_CONTEXT_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <starpu_sched_ctx.h>
 #include <starpu_sched_ctx.h>
 #include <starpu_sched_ctx_hypervisor.h>
 #include <starpu_sched_ctx_hypervisor.h>
@@ -42,39 +44,39 @@
 #define STARPU_NMAXSMS 13
 #define STARPU_NMAXSMS 13
 struct _starpu_sched_ctx
 struct _starpu_sched_ctx
 {
 {
-	/* id of the context used in user mode*/
+	/** id of the context used in user mode*/
 	unsigned id;
 	unsigned id;
 
 
-	/* boolean indicating whether the scheduling_ctx will be considered for scheduling (1) or not (0)*/
+	/** boolean indicating whether the scheduling_ctx will be considered for scheduling (1) or not (0)*/
 	unsigned do_schedule;
 	unsigned do_schedule;
 
 
-	/* name of context */
+	/** name of context */
 	const char *name;
 	const char *name;
 
 
-	/* policy of the context */
+	/** policy of the context */
 	struct starpu_sched_policy *sched_policy;
 	struct starpu_sched_policy *sched_policy;
 
 
-	/* data necessary for the policy */
+	/** data necessary for the policy */
 	void *policy_data;
 	void *policy_data;
 
 
-	/* pointer for application use */
+	/** pointer for application use */
 	void *user_data;
 	void *user_data;
 
 
 	struct starpu_worker_collection *workers;
 	struct starpu_worker_collection *workers;
 
 
-	/* we keep an initial sched which we never delete */
+	/** we keep an initial sched which we never delete */
 	unsigned is_initial_sched;
 	unsigned is_initial_sched;
 
 
-	/* wait for the tasks submitted to the context to be executed */
+	/** wait for the tasks submitted to the context to be executed */
 	struct _starpu_barrier_counter tasks_barrier;
 	struct _starpu_barrier_counter tasks_barrier;
 
 
-	/* wait for the tasks ready of the context to be executed */
+	/** wait for the tasks ready of the context to be executed */
 	struct _starpu_barrier_counter ready_tasks_barrier;
 	struct _starpu_barrier_counter ready_tasks_barrier;
 
 
-	/* amount of ready flops in a context */
+	/** amount of ready flops in a context */
 	double ready_flops;
 	double ready_flops;
 
 
-	/* Iteration number, as advertised by application */
+	/** Iteration number, as advertised by application */
 	long iterations[2];
 	long iterations[2];
 	int iteration_level;
 	int iteration_level;
 
 
@@ -84,76 +86,76 @@ struct _starpu_sched_ctx
 	/*ready tasks that couldn't be pushed because the the window of tasks was already full*/
 	/*ready tasks that couldn't be pushed because the the window of tasks was already full*/
 	struct starpu_task_list waiting_tasks;
 	struct starpu_task_list waiting_tasks;
 
 
-	/* min CPUs to execute*/
+	/** min CPUs to execute*/
 	int min_ncpus;
 	int min_ncpus;
 
 
-	/* max CPUs to execute*/
+	/** max CPUs to execute*/
 	int max_ncpus;
 	int max_ncpus;
 
 
-	/* min GPUs to execute*/
+	/** min GPUs to execute*/
 	int min_ngpus;
 	int min_ngpus;
 
 
-	/* max GPUs to execute*/
+	/** max GPUs to execute*/
 	int max_ngpus;
 	int max_ngpus;
 
 
-	/* in case we delete the context leave resources to the inheritor*/
+	/** in case we delete the context leave resources to the inheritor*/
 	unsigned inheritor;
 	unsigned inheritor;
 
 
-	/* indicates whether the application finished submitting tasks
+	/** indicates whether the application finished submitting tasks
 	   to this context*/
 	   to this context*/
 	unsigned finished_submit;
 	unsigned finished_submit;
 
 
-        /* By default we have a binary type of priority: either a task is a priority
+        /** By default we have a binary type of priority: either a task is a priority
          * task (level 1) or it is not (level 0). */
          * task (level 1) or it is not (level 0). */
      	int min_priority;
      	int min_priority;
 	int max_priority;
 	int max_priority;
      	int min_priority_is_set;
      	int min_priority_is_set;
 	int max_priority_is_set;
 	int max_priority_is_set;
 
 
-	/* hwloc tree structure of workers */
+	/** hwloc tree structure of workers */
 #ifdef STARPU_HAVE_HWLOC
 #ifdef STARPU_HAVE_HWLOC
 	hwloc_bitmap_t hwloc_workers_set;
 	hwloc_bitmap_t hwloc_workers_set;
 #endif
 #endif
 
 
 #ifdef STARPU_USE_SC_HYPERVISOR
 #ifdef STARPU_USE_SC_HYPERVISOR
-	/* a structure containing a series of performance counters determining the resize procedure */
+	/** a structure containing a series of performance counters determining the resize procedure */
 	struct starpu_sched_ctx_performance_counters *perf_counters;
 	struct starpu_sched_ctx_performance_counters *perf_counters;
 #endif //STARPU_USE_SC_HYPERVISOR
 #endif //STARPU_USE_SC_HYPERVISOR
 
 
-	/* callback called when the context finished executed its submitted tasks */
+	/** callback called when the context finished executed its submitted tasks */
 	void (*close_callback)(unsigned sched_ctx_id, void* args);
 	void (*close_callback)(unsigned sched_ctx_id, void* args);
 	void *close_args;
 	void *close_args;
-	
-	/* value placing the contexts in their hierarchy */
+
+	/** value placing the contexts in their hierarchy */
 	unsigned hierarchy_level;
 	unsigned hierarchy_level;
 
 
-	/* if we execute non-StarPU code inside the context 
-	   we have a single master worker that stays awake, 
+	/** if we execute non-StarPU code inside the context
+	   we have a single master worker that stays awake,
 	   if not master is -1 */
 	   if not master is -1 */
 	int main_master;
 	int main_master;
 
 
-	/* ctx nesting the current ctx */
+	/** ctx nesting the current ctx */
 	unsigned nesting_sched_ctx;
 	unsigned nesting_sched_ctx;
 
 
-	/* perf model for the device comb of the ctx */
+	/** perf model for the device comb of the ctx */
 	struct starpu_perfmodel_arch perf_arch;
 	struct starpu_perfmodel_arch perf_arch;
 
 
-	/* For parallel workers, say whether it is viewed as sequential or not. This
+	/** For parallel workers, say whether it is viewed as sequential or not. This
 		 is a helper for the prologue code. */
 		 is a helper for the prologue code. */
 	unsigned parallel_view;
 	unsigned parallel_view;
 
 
-	/* for ctxs without policy: flag to indicate that we want to get
+	/** for ctxs without policy: flag to indicate that we want to get
 	   the threads to sleep in order to replace them with other threads or leave
 	   the threads to sleep in order to replace them with other threads or leave
 	   them awake & use them in the parallel code*/
 	   them awake & use them in the parallel code*/
 	unsigned awake_workers;
 	unsigned awake_workers;
 
 
-	/* function called when initializing the scheduler */
+	/** function called when initializing the scheduler */
 	void (*init_sched)(unsigned);
 	void (*init_sched)(unsigned);
 
 
 	int sub_ctxs[STARPU_NMAXWORKERS];
 	int sub_ctxs[STARPU_NMAXWORKERS];
 	int nsub_ctxs;
 	int nsub_ctxs;
 
 
-	/* nr of SMs assigned to this ctx if we partition gpus*/
+	/** nr of SMs assigned to this ctx if we partition gpus*/
 	int nsms;
 	int nsms;
 	int sms_start_idx;
 	int sms_start_idx;
 	int sms_end_idx;
 	int sms_end_idx;
@@ -164,7 +166,7 @@ struct _starpu_sched_ctx
 	starpu_pthread_t lock_write_owner;
 	starpu_pthread_t lock_write_owner;
 };
 };
 
 
-/* per-worker list of deferred ctx_change ops */
+/** per-worker list of deferred ctx_change ops */
 LIST_TYPE(_starpu_ctx_change,
 LIST_TYPE(_starpu_ctx_change,
 	int sched_ctx_id;
 	int sched_ctx_id;
 	int op;
 	int op;
@@ -176,26 +178,26 @@ LIST_TYPE(_starpu_ctx_change,
 
 
 struct _starpu_machine_config;
 struct _starpu_machine_config;
 
 
-/* init sched_ctx_id of all contextes*/
+/** init sched_ctx_id of all contextes*/
 void _starpu_init_all_sched_ctxs(struct _starpu_machine_config *config);
 void _starpu_init_all_sched_ctxs(struct _starpu_machine_config *config);
 
 
-/* allocate all structures belonging to a context */
+/** allocate all structures belonging to a context */
 struct _starpu_sched_ctx*  _starpu_create_sched_ctx(struct starpu_sched_policy *policy, int *workerid, int nworkerids, unsigned is_init_sched, const char *sched_name,
 struct _starpu_sched_ctx*  _starpu_create_sched_ctx(struct starpu_sched_policy *policy, int *workerid, int nworkerids, unsigned is_init_sched, const char *sched_name,
 						    int min_prio_set, int min_prio,
 						    int min_prio_set, int min_prio,
 						    int max_prio_set, int max_prio, unsigned awake_workers, void (*sched_policy_init)(unsigned), void *user_data,
 						    int max_prio_set, int max_prio, unsigned awake_workers, void (*sched_policy_init)(unsigned), void *user_data,
 							int nsub_ctxs, int *sub_ctxs, int nsms);
 							int nsub_ctxs, int *sub_ctxs, int nsms);
 
 
-/* delete all sched_ctx */
+/** delete all sched_ctx */
 void _starpu_delete_all_sched_ctxs();
 void _starpu_delete_all_sched_ctxs();
 
 
-/* This function waits until all the tasks that were already submitted to a specific
+/** This function waits until all the tasks that were already submitted to a specific
  * context have been executed. */
  * context have been executed. */
 int _starpu_wait_for_all_tasks_of_sched_ctx(unsigned sched_ctx_id);
 int _starpu_wait_for_all_tasks_of_sched_ctx(unsigned sched_ctx_id);
 
 
-/* This function waits until at most n tasks are still submitted. */
+/** This function waits until at most n tasks are still submitted. */
 int _starpu_wait_for_n_submitted_tasks_of_sched_ctx(unsigned sched_ctx_id, unsigned n);
 int _starpu_wait_for_n_submitted_tasks_of_sched_ctx(unsigned sched_ctx_id, unsigned n);
 
 
-/* In order to implement starpu_wait_for_all_tasks_of_ctx, we keep track of the number of
+/** In order to implement starpu_wait_for_all_tasks_of_ctx, we keep track of the number of
  * task currently submitted to the context */
  * task currently submitted to the context */
 void _starpu_decrement_nsubmitted_tasks_of_sched_ctx(unsigned sched_ctx_id);
 void _starpu_decrement_nsubmitted_tasks_of_sched_ctx(unsigned sched_ctx_id);
 void _starpu_increment_nsubmitted_tasks_of_sched_ctx(unsigned sched_ctx_id);
 void _starpu_increment_nsubmitted_tasks_of_sched_ctx(unsigned sched_ctx_id);
@@ -206,32 +208,32 @@ void _starpu_decrement_nready_tasks_of_sched_ctx(unsigned sched_ctx_id, double r
 unsigned _starpu_increment_nready_tasks_of_sched_ctx(unsigned sched_ctx_id, double ready_flops, struct starpu_task *task);
 unsigned _starpu_increment_nready_tasks_of_sched_ctx(unsigned sched_ctx_id, double ready_flops, struct starpu_task *task);
 int _starpu_wait_for_no_ready_of_sched_ctx(unsigned sched_ctx_id);
 int _starpu_wait_for_no_ready_of_sched_ctx(unsigned sched_ctx_id);
 
 
-/* Return the corresponding index of the workerid in the ctx table */
+/** Return the corresponding index of the workerid in the ctx table */
 int _starpu_get_index_in_ctx_of_workerid(unsigned sched_ctx, unsigned workerid);
 int _starpu_get_index_in_ctx_of_workerid(unsigned sched_ctx, unsigned workerid);
 
 
-/* Get the mutex corresponding to the global workerid */
+/** Get the mutex corresponding to the global workerid */
 starpu_pthread_mutex_t *_starpu_get_sched_mutex(struct _starpu_sched_ctx *sched_ctx, int worker);
 starpu_pthread_mutex_t *_starpu_get_sched_mutex(struct _starpu_sched_ctx *sched_ctx, int worker);
 
 
-/* Get workers belonging to a certain context, it returns the number of workers
+/** Get workers belonging to a certain context, it returns the number of workers
  take care: no mutex taken, the list of workers might not be updated */
  take care: no mutex taken, the list of workers might not be updated */
 int _starpu_get_workers_of_sched_ctx(unsigned sched_ctx_id, int *pus, enum starpu_worker_archtype arch);
 int _starpu_get_workers_of_sched_ctx(unsigned sched_ctx_id, int *pus, enum starpu_worker_archtype arch);
 
 
-/* Let the worker know it does not belong to the context and that
+/** Let the worker know it does not belong to the context and that
    it should stop poping from it */
    it should stop poping from it */
 void _starpu_worker_gets_out_of_ctx(unsigned sched_ctx_id, struct _starpu_worker *worker);
 void _starpu_worker_gets_out_of_ctx(unsigned sched_ctx_id, struct _starpu_worker *worker);
 
 
-/* Check if the worker belongs to another sched_ctx */
+/** Check if the worker belongs to another sched_ctx */
 unsigned _starpu_worker_belongs_to_a_sched_ctx(int workerid, unsigned sched_ctx_id);
 unsigned _starpu_worker_belongs_to_a_sched_ctx(int workerid, unsigned sched_ctx_id);
 
 
-/* indicates wheather this worker should go to sleep or not 
+/** indicates wheather this worker should go to sleep or not
    (if it is the last one awake in a context he should better keep awake) */
    (if it is the last one awake in a context he should better keep awake) */
 unsigned _starpu_sched_ctx_last_worker_awake(struct _starpu_worker *worker);
 unsigned _starpu_sched_ctx_last_worker_awake(struct _starpu_worker *worker);
 
 
-/* If starpu_sched_ctx_set_context() has been called, returns the context
+/** If starpu_sched_ctx_set_context() has been called, returns the context
  * id set by its last call, or the id of the initial context */
  * id set by its last call, or the id of the initial context */
 unsigned _starpu_sched_ctx_get_current_context();
 unsigned _starpu_sched_ctx_get_current_context();
 
 
-/* verify that some worker can execute a certain task */
+/** verify that some worker can execute a certain task */
 int _starpu_workers_able_to_execute_task(struct starpu_task *task, struct _starpu_sched_ctx *sched_ctx);
 int _starpu_workers_able_to_execute_task(struct starpu_task *task, struct _starpu_sched_ctx *sched_ctx);
 
 
 void _starpu_fetch_tasks_from_empty_ctx_list(struct _starpu_sched_ctx *sched_ctx);
 void _starpu_fetch_tasks_from_empty_ctx_list(struct _starpu_sched_ctx *sched_ctx);
@@ -240,14 +242,14 @@ unsigned _starpu_sched_ctx_allow_hypervisor(unsigned sched_ctx_id);
 
 
 struct starpu_perfmodel_arch * _starpu_sched_ctx_get_perf_archtype(unsigned sched_ctx);
 struct starpu_perfmodel_arch * _starpu_sched_ctx_get_perf_archtype(unsigned sched_ctx);
 #ifdef STARPU_USE_SC_HYPERVISOR
 #ifdef STARPU_USE_SC_HYPERVISOR
-/* Notifies the hypervisor that a tasks was poped from the workers' list */
+/** Notifies the hypervisor that a tasks was poped from the workers' list */
 void _starpu_sched_ctx_post_exec_task_cb(int workerid, struct starpu_task *task, size_t data_size, uint32_t footprint);
 void _starpu_sched_ctx_post_exec_task_cb(int workerid, struct starpu_task *task, size_t data_size, uint32_t footprint);
 
 
 #endif //STARPU_USE_SC_HYPERVISOR
 #endif //STARPU_USE_SC_HYPERVISOR
 
 
 void starpu_sched_ctx_add_combined_workers(int *combined_workers_to_add, unsigned n_combined_workers_to_add, unsigned sched_ctx_id);
 void starpu_sched_ctx_add_combined_workers(int *combined_workers_to_add, unsigned n_combined_workers_to_add, unsigned sched_ctx_id);
 
 
-/* if the worker is the master of a parallel context, and the job is meant to be executed on this parallel context, return a pointer to the context */
+/** if the worker is the master of a parallel context, and the job is meant to be executed on this parallel context, return a pointer to the context */
 struct _starpu_sched_ctx *__starpu_sched_ctx_get_sched_ctx_for_worker_and_job(struct _starpu_worker *worker, struct _starpu_job *j);
 struct _starpu_sched_ctx *__starpu_sched_ctx_get_sched_ctx_for_worker_and_job(struct _starpu_worker *worker, struct _starpu_job *j);
 
 
 #define _starpu_sched_ctx_get_sched_ctx_for_worker_and_job(w,j) \
 #define _starpu_sched_ctx_get_sched_ctx_for_worker_and_job(w,j) \
@@ -312,7 +314,7 @@ static inline unsigned _starpu_sched_ctx_worker_is_master_for_child_ctx(unsigned
 	return 0;
 	return 0;
 }
 }
 
 
-/* Go through the list of deferred ctx changes of the current worker and apply
+/** Go through the list of deferred ctx changes of the current worker and apply
  * any ctx change operation found until the list is empty */
  * any ctx change operation found until the list is empty */
 void _starpu_worker_apply_deferred_ctx_changes(void);
 void _starpu_worker_apply_deferred_ctx_changes(void);
 #endif // __SCHED_CONTEXT_H__
 #endif // __SCHED_CONTEXT_H__

+ 8 - 6
src/core/sched_ctx_list.h

@@ -17,7 +17,9 @@
 #ifndef __SCHED_CONTEXT_LIST_H__
 #ifndef __SCHED_CONTEXT_LIST_H__
 #define __SCHED_CONTEXT_LIST_H__
 #define __SCHED_CONTEXT_LIST_H__
 
 
-/* Represents a non circular list of priorities and contains a list of sched context */
+/** @file */
+
+/** Represents a non circular list of priorities and contains a list of sched context */
 struct _starpu_sched_ctx_elt;
 struct _starpu_sched_ctx_elt;
 struct _starpu_sched_ctx_list
 struct _starpu_sched_ctx_list
 {
 {
@@ -27,7 +29,7 @@ struct _starpu_sched_ctx_list
 	unsigned priority;
 	unsigned priority;
 };
 };
 
 
-/* Represents a circular list of sched context. */
+/** Represents a circular list of sched context. */
 struct _starpu_sched_ctx_elt
 struct _starpu_sched_ctx_elt
 {
 {
 	struct _starpu_sched_ctx_elt *prev;
 	struct _starpu_sched_ctx_elt *prev;
@@ -44,7 +46,7 @@ struct _starpu_sched_ctx_list_iterator
 	struct _starpu_sched_ctx_elt *cursor;
 	struct _starpu_sched_ctx_elt *cursor;
 };
 };
 
 
-/* Element (sched_ctx) level operations */
+/** Element (sched_ctx) level operations */
 struct _starpu_sched_ctx_elt* _starpu_sched_ctx_elt_find(struct _starpu_sched_ctx_list *list, unsigned sched_ctx);
 struct _starpu_sched_ctx_elt* _starpu_sched_ctx_elt_find(struct _starpu_sched_ctx_list *list, unsigned sched_ctx);
 void _starpu_sched_ctx_elt_ensure_consistency(struct _starpu_sched_ctx_list *list, unsigned sched_ctx);
 void _starpu_sched_ctx_elt_ensure_consistency(struct _starpu_sched_ctx_list *list, unsigned sched_ctx);
 void _starpu_sched_ctx_elt_init(struct _starpu_sched_ctx_elt *elt, unsigned sched_ctx);
 void _starpu_sched_ctx_elt_init(struct _starpu_sched_ctx_elt *elt, unsigned sched_ctx);
@@ -56,7 +58,7 @@ int _starpu_sched_ctx_elt_exists(struct _starpu_sched_ctx_list *list, unsigned s
 int _starpu_sched_ctx_elt_get_priority(struct _starpu_sched_ctx_list *list, unsigned sched_ctx);
 int _starpu_sched_ctx_elt_get_priority(struct _starpu_sched_ctx_list *list, unsigned sched_ctx);
 
 
 
 
-/* List (priority) level operations */
+/** List (priority) level operations */
 struct _starpu_sched_ctx_list* _starpu_sched_ctx_list_find(struct _starpu_sched_ctx_list *list, unsigned prio);
 struct _starpu_sched_ctx_list* _starpu_sched_ctx_list_find(struct _starpu_sched_ctx_list *list, unsigned prio);
 struct _starpu_sched_ctx_elt* _starpu_sched_ctx_list_add_prio(struct _starpu_sched_ctx_list **list, unsigned prio, unsigned sched_ctx);
 struct _starpu_sched_ctx_elt* _starpu_sched_ctx_list_add_prio(struct _starpu_sched_ctx_list **list, unsigned prio, unsigned sched_ctx);
 int _starpu_sched_ctx_list_add(struct _starpu_sched_ctx_list **list, unsigned sched_ctx);
 int _starpu_sched_ctx_list_add(struct _starpu_sched_ctx_list **list, unsigned sched_ctx);
@@ -67,12 +69,12 @@ int _starpu_sched_ctx_list_exists(struct _starpu_sched_ctx_list *list, unsigned
 void _starpu_sched_ctx_list_remove_all(struct _starpu_sched_ctx_list *list);
 void _starpu_sched_ctx_list_remove_all(struct _starpu_sched_ctx_list *list);
 void _starpu_sched_ctx_list_delete(struct _starpu_sched_ctx_list **list);
 void _starpu_sched_ctx_list_delete(struct _starpu_sched_ctx_list **list);
 
 
-/* Task number management */
+/** Task number management */
 int _starpu_sched_ctx_list_push_event(struct _starpu_sched_ctx_list *list, unsigned sched_ctx);
 int _starpu_sched_ctx_list_push_event(struct _starpu_sched_ctx_list *list, unsigned sched_ctx);
 int _starpu_sched_ctx_list_pop_event(struct _starpu_sched_ctx_list *list, unsigned sched_ctx);
 int _starpu_sched_ctx_list_pop_event(struct _starpu_sched_ctx_list *list, unsigned sched_ctx);
 int _starpu_sched_ctx_list_pop_all_event(struct _starpu_sched_ctx_list *list, unsigned sched_ctx);
 int _starpu_sched_ctx_list_pop_all_event(struct _starpu_sched_ctx_list *list, unsigned sched_ctx);
 
 
-/* Iterator operations */
+/** Iterator operations */
 int _starpu_sched_ctx_list_iterator_init(struct _starpu_sched_ctx_list *list, struct _starpu_sched_ctx_list_iterator *it);
 int _starpu_sched_ctx_list_iterator_init(struct _starpu_sched_ctx_list *list, struct _starpu_sched_ctx_list_iterator *it);
 int _starpu_sched_ctx_list_iterator_has_next(struct _starpu_sched_ctx_list_iterator *it);
 int _starpu_sched_ctx_list_iterator_has_next(struct _starpu_sched_ctx_list_iterator *it);
 struct _starpu_sched_ctx_elt* _starpu_sched_ctx_list_iterator_get_next(struct _starpu_sched_ctx_list_iterator *it);
 struct _starpu_sched_ctx_elt* _starpu_sched_ctx_list_iterator_get_next(struct _starpu_sched_ctx_list_iterator *it);

+ 5 - 3
src/core/sched_policy.h

@@ -18,6 +18,8 @@
 #ifndef __SCHED_POLICY_H__
 #ifndef __SCHED_POLICY_H__
 #define __SCHED_POLICY_H__
 #define __SCHED_POLICY_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <signal.h>
 #include <signal.h>
 #include <core/workers.h>
 #include <core/workers.h>
@@ -51,12 +53,12 @@ void _starpu_sched_do_schedule(unsigned sched_ctx_id);
 int _starpu_push_task(struct _starpu_job *task);
 int _starpu_push_task(struct _starpu_job *task);
 int _starpu_repush_task(struct _starpu_job *task);
 int _starpu_repush_task(struct _starpu_job *task);
 
 
-/* actually pushes the tasks to the specific worker or to the scheduler */
+/** actually pushes the tasks to the specific worker or to the scheduler */
 int _starpu_push_task_to_workers(struct starpu_task *task);
 int _starpu_push_task_to_workers(struct starpu_task *task);
 
 
-/* pop a task that can be executed on the worker */
+/** pop a task that can be executed on the worker */
 struct starpu_task *_starpu_pop_task(struct _starpu_worker *worker);
 struct starpu_task *_starpu_pop_task(struct _starpu_worker *worker);
-/* pop every task that can be executed on the worker */
+/** pop every task that can be executed on the worker */
 struct starpu_task *_starpu_pop_every_task(struct _starpu_sched_ctx *sched_ctx);
 struct starpu_task *_starpu_pop_every_task(struct _starpu_sched_ctx *sched_ctx);
 void _starpu_sched_post_exec_hook(struct starpu_task *task);
 void _starpu_sched_post_exec_hook(struct starpu_task *task);
 int _starpu_pop_task_end(struct starpu_task *task);
 int _starpu_pop_task_end(struct starpu_task *task);

+ 4 - 2
src/core/simgrid.h

@@ -18,6 +18,8 @@
 #ifndef __SIMGRID_H__
 #ifndef __SIMGRID_H__
 #define __SIMGRID_H__
 #define __SIMGRID_H__
 
 
+/** @file */
+
 #ifdef __cplusplus
 #ifdef __cplusplus
 extern "C"
 extern "C"
 {
 {
@@ -97,7 +99,7 @@ extern starpu_pthread_queue_t _starpu_simgrid_task_queue[STARPU_NMAXWORKERS];
 #define _starpu_simgrid_fetching_input_cost() starpu_get_env_number_default("STARPU_SIMGRID_FETCHING_INPUT_COST", 1)
 #define _starpu_simgrid_fetching_input_cost() starpu_get_env_number_default("STARPU_SIMGRID_FETCHING_INPUT_COST", 1)
 #define _starpu_simgrid_sched_cost() starpu_get_env_number_default("STARPU_SIMGRID_SCHED_COST", 0)
 #define _starpu_simgrid_sched_cost() starpu_get_env_number_default("STARPU_SIMGRID_SCHED_COST", 0)
 
 
-/* Called at initialization to count how many GPUs are interfering with each
+/** Called at initialization to count how many GPUs are interfering with each
  * bus */
  * bus */
 void _starpu_simgrid_count_ngpus(void);
 void _starpu_simgrid_count_ngpus(void);
 
 
@@ -124,7 +126,7 @@ void _starpu_simgrid_xbt_thread_create(const char *name, void_f_pvoid_t code,
 #define _SIMGRID_TIMER_END }
 #define _SIMGRID_TIMER_END }
 #endif
 #endif
 
 
-/* Experimental functions for OOC stochastic analysis */
+/** Experimental functions for OOC stochastic analysis */
 /* disk <-> MAIN_RAM only */
 /* disk <-> MAIN_RAM only */
 #if defined(STARPU_SIMGRID) && 0
 #if defined(STARPU_SIMGRID) && 0
 void _starpu_simgrid_data_new(size_t size);
 void _starpu_simgrid_data_new(size_t size);

+ 8 - 6
src/core/task.h

@@ -17,20 +17,22 @@
 #ifndef __CORE_TASK_H__
 #ifndef __CORE_TASK_H__
 #define __CORE_TASK_H__
 #define __CORE_TASK_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 #include <core/jobs.h>
 #include <core/jobs.h>
 
 
-/* Internal version of starpu_task_destroy: don't check task->destroy flag */
+/** Internal version of starpu_task_destroy: don't check task->destroy flag */
 void _starpu_task_destroy(struct starpu_task *task);
 void _starpu_task_destroy(struct starpu_task *task);
 
 
 #ifdef STARPU_OPENMP
 #ifdef STARPU_OPENMP
-/* Test for the termination of the task.
+/** Test for the termination of the task.
  * Call starpu_task_destroy if required and the task is terminated. */
  * Call starpu_task_destroy if required and the task is terminated. */
 int _starpu_task_test_termination(struct starpu_task *task);
 int _starpu_task_test_termination(struct starpu_task *task);
 #endif
 #endif
 
 
-/* A pthread key is used to store the task currently executed on the thread.
+/** A pthread key is used to store the task currently executed on the thread.
  * _starpu_task_init initializes this pthread key and
  * _starpu_task_init initializes this pthread key and
  * _starpu_set_current_task updates its current value. */
  * _starpu_set_current_task updates its current value. */
 void _starpu_task_init(void);
 void _starpu_task_init(void);
@@ -41,7 +43,7 @@ int _starpu_submit_job(struct _starpu_job *j, int nodeps);
 
 
 void _starpu_task_declare_deps_array(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[], int check);
 void _starpu_task_declare_deps_array(struct starpu_task *task, unsigned ndeps, struct starpu_task *task_array[], int check);
 
 
-/* Returns the job structure (which is the internal data structure associated
+/** Returns the job structure (which is the internal data structure associated
  * to a task). */
  * to a task). */
 static inline struct _starpu_job *_starpu_get_job_associated_to_task(struct starpu_task *task)
 static inline struct _starpu_job *_starpu_get_job_associated_to_task(struct starpu_task *task)
 {
 {
@@ -57,7 +59,7 @@ static inline struct _starpu_job *_starpu_get_job_associated_to_task(struct star
 	return job;
 	return job;
 }
 }
 
 
-/* Submits starpu internal tasks to the initial context */
+/** Submits starpu internal tasks to the initial context */
 int _starpu_task_submit_internally(struct starpu_task *task);
 int _starpu_task_submit_internally(struct starpu_task *task);
 
 
 int _starpu_handle_needs_conversion_task(starpu_data_handle_t handle,
 int _starpu_handle_needs_conversion_task(starpu_data_handle_t handle,
@@ -67,7 +69,7 @@ _starpu_handle_needs_conversion_task_for_arch(starpu_data_handle_t handle,
 				     enum starpu_node_kind node_kind);
 				     enum starpu_node_kind node_kind);
 
 
 #ifdef STARPU_OPENMP
 #ifdef STARPU_OPENMP
-/* Prepare the current task for accepting new dependencies before becoming a continuation. */
+/** Prepare the current task for accepting new dependencies before becoming a continuation. */
 void _starpu_task_prepare_for_continuation_ext(unsigned continuation_resubmit,
 void _starpu_task_prepare_for_continuation_ext(unsigned continuation_resubmit,
 		void (*continuation_callback_on_sleep)(void *arg), void *continuation_callback_on_sleep_arg);
 		void (*continuation_callback_on_sleep)(void *arg), void *continuation_callback_on_sleep_arg);
 
 

+ 8 - 6
src/core/task_bundle.h

@@ -17,9 +17,11 @@
 #ifndef __CORE_TASK_BUNDLE_H__
 #ifndef __CORE_TASK_BUNDLE_H__
 #define __CORE_TASK_BUNDLE_H__
 #define __CORE_TASK_BUNDLE_H__
 
 
+/** @file */
+
 #include <starpu_thread.h>
 #include <starpu_thread.h>
 
 
-/* struct _starpu_task_bundle_entry
+/** struct _starpu_task_bundle_entry
  * ================================
  * ================================
  * Purpose
  * Purpose
  * =======
  * =======
@@ -38,7 +40,7 @@ struct _starpu_task_bundle_entry
 	struct _starpu_task_bundle_entry *next;
 	struct _starpu_task_bundle_entry *next;
 };
 };
 
 
-/* struct _starpu_task_bundle
+/** struct _starpu_task_bundle
  * ==========================
  * ==========================
  * Purpose
  * Purpose
  * =======
  * =======
@@ -60,7 +62,7 @@ struct _starpu_task_bundle_entry
 
 
 struct _starpu_task_bundle
 struct _starpu_task_bundle
 {
 {
-	/* Mutex protecting the bundle */
+	/** Mutex protecting the bundle */
 	starpu_pthread_mutex_t mutex;
 	starpu_pthread_mutex_t mutex;
 
 
 	struct _starpu_task_bundle_entry *list;
 	struct _starpu_task_bundle_entry *list;
@@ -68,7 +70,7 @@ struct _starpu_task_bundle
 	int closed;
 	int closed;
 };
 };
 
 
-/* struct _starpu_handle_list
+/** struct _starpu_handle_list
  * ==========================
  * ==========================
  * Purpose
  * Purpose
  * =======
  * =======
@@ -92,7 +94,7 @@ struct _starpu_handle_list
 	struct _starpu_handle_list *next;
 	struct _starpu_handle_list *next;
 };
 };
 
 
-/* _starpu_task_bundle_destroy
+/** _starpu_task_bundle_destroy
  * ==========================
  * ==========================
  * Purpose
  * Purpose
  * =======
  * =======
@@ -106,7 +108,7 @@ struct _starpu_handle_list
  */
  */
 void _starpu_task_bundle_destroy(starpu_task_bundle_t bundle);
 void _starpu_task_bundle_destroy(starpu_task_bundle_t bundle);
 
 
-/* _insertion_handle_sorted
+/** _insertion_handle_sorted
  * ========================
  * ========================
  * Purpose
  * Purpose
  * =======
  * =======

+ 17 - 15
src/core/topology.h

@@ -17,59 +17,61 @@
 #ifndef __TOPOLOGY_H__
 #ifndef __TOPOLOGY_H__
 #define __TOPOLOGY_H__
 #define __TOPOLOGY_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 #include <common/list.h>
 #include <common/list.h>
 #include <common/fxt.h>
 #include <common/fxt.h>
 
 
-/* TODO actually move this struct into this header */
+/** TODO actually move this struct into this header */
 struct _starpu_machine_config;
 struct _starpu_machine_config;
 
 
 #ifndef STARPU_SIMGRID
 #ifndef STARPU_SIMGRID
 #ifdef STARPU_HAVE_HWLOC
 #ifdef STARPU_HAVE_HWLOC
-/* This is allocated for each hwloc object */
+/** This is allocated for each hwloc object */
 struct _starpu_hwloc_userdata
 struct _starpu_hwloc_userdata
 {
 {
-	struct _starpu_worker_list *worker_list; /* List of workers running on this obj */
-	unsigned ngpus; /* Number of GPUs sharing this PCI link */
-	struct _starpu_worker *pu_worker; /* Worker running this PU */
+	struct _starpu_worker_list *worker_list; /** List of workers running on this obj */
+	unsigned ngpus; /** Number of GPUs sharing this PCI link */
+	struct _starpu_worker *pu_worker; /** Worker running this PU */
 };
 };
 #endif
 #endif
 #endif
 #endif
 
 
-/* Detect the number of memory nodes and where to bind the different workers. */
+/** Detect the number of memory nodes and where to bind the different workers. */
 int _starpu_build_topology(struct _starpu_machine_config *config, int no_mp_config);
 int _starpu_build_topology(struct _starpu_machine_config *config, int no_mp_config);
 
 
-/* Should be called instead of _starpu_destroy_topology when _starpu_build_topology returns a non zero value. */
+/** Should be called instead of _starpu_destroy_topology when _starpu_build_topology returns a non zero value. */
 void _starpu_destroy_machine_config(struct _starpu_machine_config *config);
 void _starpu_destroy_machine_config(struct _starpu_machine_config *config);
 
 
-/* Destroy all resources used to store the topology of the machine. */
+/** Destroy all resources used to store the topology of the machine. */
 void _starpu_destroy_topology(struct _starpu_machine_config *config);
 void _starpu_destroy_topology(struct _starpu_machine_config *config);
 
 
-/* returns the number of physical cpus */
+/** returns the number of physical cpus */
 unsigned _starpu_topology_get_nhwcpu(struct _starpu_machine_config *config);
 unsigned _starpu_topology_get_nhwcpu(struct _starpu_machine_config *config);
 
 
-/* returns the number of logical cpus */
+/** returns the number of logical cpus */
 unsigned _starpu_topology_get_nhwpu(struct _starpu_machine_config *config);
 unsigned _starpu_topology_get_nhwpu(struct _starpu_machine_config *config);
 
 
-/* returns the number of NUMA nodes */
+/** returns the number of NUMA nodes */
 unsigned _starpu_topology_get_nnumanodes(struct _starpu_machine_config *config);
 unsigned _starpu_topology_get_nnumanodes(struct _starpu_machine_config *config);
 
 
 #ifdef STARPU_HAVE_HWLOC
 #ifdef STARPU_HAVE_HWLOC
-/* Small convenient function to filter hwloc topology depending on HWLOC API version */
+/** Small convenient function to filter hwloc topology depending on HWLOC API version */
 void _starpu_topology_filter(hwloc_topology_t topology);
 void _starpu_topology_filter(hwloc_topology_t topology);
 #endif
 #endif
 
 
 #define STARPU_NOWORKERID -1
 #define STARPU_NOWORKERID -1
 #define STARPU_ACTIVETHREAD -2
 #define STARPU_ACTIVETHREAD -2
 #define STARPU_NONACTIVETHREAD -2
 #define STARPU_NONACTIVETHREAD -2
-/* Bind the current thread on the CPU logically identified by "cpuid". The
+/** Bind the current thread on the CPU logically identified by "cpuid". The
  * logical ordering of the processors is either that of hwloc (if available),
  * logical ordering of the processors is either that of hwloc (if available),
  * or the ordering exposed by the OS. */
  * or the ordering exposed by the OS. */
 int _starpu_bind_thread_on_cpu(int cpuid, int workerid, const char *name);
 int _starpu_bind_thread_on_cpu(int cpuid, int workerid, const char *name);
 
 
 struct _starpu_combined_worker;
 struct _starpu_combined_worker;
-/* Bind the current thread on the set of CPUs for the given combined worker. */
+/** Bind the current thread on the set of CPUs for the given combined worker. */
 void _starpu_bind_thread_on_cpus(struct _starpu_combined_worker *combined_worker);
 void _starpu_bind_thread_on_cpus(struct _starpu_combined_worker *combined_worker);
 
 
 struct _starpu_worker *_starpu_get_worker_from_driver(struct starpu_driver *d);
 struct _starpu_worker *_starpu_get_worker_from_driver(struct starpu_driver *d);
@@ -77,7 +79,7 @@ struct _starpu_worker *_starpu_get_worker_from_driver(struct starpu_driver *d);
 int starpu_memory_nodes_get_numa_count(void);
 int starpu_memory_nodes_get_numa_count(void);
 int starpu_memory_nodes_numa_id_to_hwloclogid(unsigned id);
 int starpu_memory_nodes_numa_id_to_hwloclogid(unsigned id);
 
 
-/* Get the memory node for data number i when task is to be executed on memory node target_node */
+/** Get the memory node for data number i when task is to be executed on memory node target_node */
 int _starpu_task_data_get_node_on_node(struct starpu_task *task, unsigned index, unsigned target_node);
 int _starpu_task_data_get_node_on_node(struct starpu_task *task, unsigned index, unsigned target_node);
 int _starpu_task_data_get_node_on_worker(struct starpu_task *task, unsigned index, unsigned worker);
 int _starpu_task_data_get_node_on_worker(struct starpu_task *task, unsigned index, unsigned worker);
 
 

+ 67 - 65
src/datawizard/coherency.h

@@ -17,6 +17,8 @@
 #ifndef __COHERENCY__H__
 #ifndef __COHERENCY__H__
 #define __COHERENCY__H__
 #define __COHERENCY__H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 
 
@@ -38,39 +40,39 @@ enum _starpu_cache_state
 	STARPU_INVALID
 	STARPU_INVALID
 };
 };
 
 
-/* this should contain the information relative to a given data replicate  */
+/** this should contain the information relative to a given data replicate  */
 struct _starpu_data_replicate
 struct _starpu_data_replicate
 {
 {
 	starpu_data_handle_t handle;
 	starpu_data_handle_t handle;
 
 
-	/* describe the actual data layout, as manipulated by data interfaces in *_interface.c */
+	/** describe the actual data layout, as manipulated by data interfaces in *_interface.c */
 	void *data_interface;
 	void *data_interface;
 
 
-	/* How many requests or tasks are currently working with this replicate */
+	/** How many requests or tasks are currently working with this replicate */
 	int refcnt;
 	int refcnt;
 
 
 	char memory_node;
 	char memory_node;
 
 
-	/* describes the state of the local data in term of coherency */
+	/** describes the state of the local data in term of coherency */
 	enum _starpu_cache_state	state: 2;
 	enum _starpu_cache_state	state: 2;
 
 
-	/* A buffer that is used for SCRATCH or reduction cannnot be used with
+	/** A buffer that is used for SCRATCH or reduction cannnot be used with
 	 * filters. */
 	 * filters. */
 	unsigned relaxed_coherency:2;
 	unsigned relaxed_coherency:2;
 
 
-	/* We may need to initialize the replicate with some value before using it. */
+	/** We may need to initialize the replicate with some value before using it. */
 	unsigned initialized:1;
 	unsigned initialized:1;
 
 
-	/* is the data locally allocated ? */
+	/** is the data locally allocated ? */
 	unsigned allocated:1;
 	unsigned allocated:1;
-	/* was it automatically allocated ? (else it's the application-provided
+	/** was it automatically allocated ? (else it's the application-provided
 	 * buffer, don't ever try to free it!) */
 	 * buffer, don't ever try to free it!) */
-	/* perhaps the allocation was perform higher in the hiearchy
+	/** perhaps the allocation was perform higher in the hiearchy
 	 * for now this is just translated into !automatically_allocated
 	 * for now this is just translated into !automatically_allocated
 	 * */
 	 * */
 	unsigned automatically_allocated:1;
 	unsigned automatically_allocated:1;
 
 
-	/* To help the scheduling policies to make some decision, we
+	/** To help the scheduling policies to make some decision, we
 	   may keep a track of the tasks that are likely to request
 	   may keep a track of the tasks that are likely to request
 	   this data on the current node.
 	   this data on the current node.
 	   It is the responsability of the scheduling _policy_ to set that
 	   It is the responsability of the scheduling _policy_ to set that
@@ -80,7 +82,7 @@ struct _starpu_data_replicate
 	uint32_t requested;
 	uint32_t requested;
 	struct _starpu_data_request *request[STARPU_MAXNODES];
 	struct _starpu_data_request *request[STARPU_MAXNODES];
 
 
-        /* Pointer to memchunk for LRU strategy */
+        /** Pointer to memchunk for LRU strategy */
 	struct _starpu_mem_chunk * mc;
 	struct _starpu_mem_chunk * mc;
 };
 };
 
 
@@ -92,14 +94,14 @@ struct _starpu_jobid_list
 	struct _starpu_jobid_list *next;
 	struct _starpu_jobid_list *next;
 };
 };
 
 
-/* This structure describes a simply-linked list of task */
+/** This structure describes a simply-linked list of task */
 struct _starpu_task_wrapper_list
 struct _starpu_task_wrapper_list
 {
 {
 	struct starpu_task *task;
 	struct starpu_task *task;
 	struct _starpu_task_wrapper_list *next;
 	struct _starpu_task_wrapper_list *next;
 };
 };
 
 
-/* This structure describes a doubly-linked list of task */
+/** This structure describes a doubly-linked list of task */
 struct _starpu_task_wrapper_dlist
 struct _starpu_task_wrapper_dlist
 {
 {
 	struct starpu_task *task;
 	struct starpu_task *task;
@@ -111,100 +113,100 @@ extern int _starpu_has_not_important_data;
 
 
 typedef void (*_starpu_data_handle_unregister_hook)(starpu_data_handle_t);
 typedef void (*_starpu_data_handle_unregister_hook)(starpu_data_handle_t);
 
 
-/* This is initialized in both _starpu_register_new_data and _starpu_data_partition */
+/** This is initialized in both _starpu_register_new_data and _starpu_data_partition */
 struct _starpu_data_state
 struct _starpu_data_state
 {
 {
 	int magic;
 	int magic;
 	struct _starpu_data_requester_prio_list req_list;
 	struct _starpu_data_requester_prio_list req_list;
-	/* the number of requests currently in the scheduling engine (not in
+	/** the number of requests currently in the scheduling engine (not in
 	 * the req_list anymore), i.e. the number of holders of the
 	 * the req_list anymore), i.e. the number of holders of the
 	 * current_mode rwlock */
 	 * current_mode rwlock */
 	unsigned refcnt;
 	unsigned refcnt;
-	/* whether we are already unlocking data requests */
+	/** whether we are already unlocking data requests */
 	unsigned unlocking_reqs;
 	unsigned unlocking_reqs;
-	/* Current access mode. Is always either STARPU_R, STARPU_W,
+	/** Current access mode. Is always either STARPU_R, STARPU_W,
 	 * STARPU_SCRATCH or STARPU_REDUX, but never a combination such as
 	 * STARPU_SCRATCH or STARPU_REDUX, but never a combination such as
 	 * STARPU_RW. */
 	 * STARPU_RW. */
 	enum starpu_data_access_mode current_mode;
 	enum starpu_data_access_mode current_mode;
-	/* protect meta data */
+	/** protect meta data */
 	struct _starpu_spinlock header_lock;
 	struct _starpu_spinlock header_lock;
 
 
-	/* Condition to make application wait for all transfers before freeing handle */
-	/* busy_count is the number of handle->refcnt, handle->per_node[*]->refcnt, number of starpu_data_requesters, and number of tasks that have released it but are still registered on the implicit data dependency lists. */
-	/* Core code which releases busy_count has to call
+	/** Condition to make application wait for all transfers before freeing handle */
+	/** busy_count is the number of handle->refcnt, handle->per_node[*]->refcnt, number of starpu_data_requesters, and number of tasks that have released it but are still registered on the implicit data dependency lists. */
+	/** Core code which releases busy_count has to call
 	 * _starpu_data_check_not_busy to let starpu_data_unregister proceed */
 	 * _starpu_data_check_not_busy to let starpu_data_unregister proceed */
 	unsigned busy_count;
 	unsigned busy_count;
-	/* Is starpu_data_unregister waiting for busy_count? */
+	/** Is starpu_data_unregister waiting for busy_count? */
 	unsigned busy_waiting;
 	unsigned busy_waiting;
 	starpu_pthread_mutex_t busy_mutex;
 	starpu_pthread_mutex_t busy_mutex;
 	starpu_pthread_cond_t busy_cond;
 	starpu_pthread_cond_t busy_cond;
 
 
-	/* In case we user filters, the handle may describe a sub-data */
-	struct _starpu_data_state *root_handle; /* root of the tree */
-	struct _starpu_data_state *father_handle; /* father of the node, NULL if the current node is the root */
-	starpu_data_handle_t *active_children; /* The currently active set of read-write children */
-	starpu_data_handle_t **active_readonly_children; /* The currently active set of read-only children */
-	unsigned nactive_readonly_children; /* Size of active_readonly_children array */
-	/* Our siblings in the father partitioning */
-	unsigned nsiblings; /* How many siblings */
+	/** In case we user filters, the handle may describe a sub-data */
+	struct _starpu_data_state *root_handle; /** root of the tree */
+	struct _starpu_data_state *father_handle; /** father of the node, NULL if the current node is the root */
+	starpu_data_handle_t *active_children; /** The currently active set of read-write children */
+	starpu_data_handle_t **active_readonly_children; /** The currently active set of read-only children */
+	unsigned nactive_readonly_children; /** Size of active_readonly_children array */
+	/** Our siblings in the father partitioning */
+	unsigned nsiblings; /** How many siblings */
 	starpu_data_handle_t *siblings;
 	starpu_data_handle_t *siblings;
-	unsigned sibling_index; /* indicate which child this node is from the father's perpsective (if any) */
-	unsigned depth; /* what's the depth of the tree ? */
+	unsigned sibling_index; /** indicate which child this node is from the father's perpsective (if any) */
+	unsigned depth; /** what's the depth of the tree ? */
 
 
-	/* Synchronous partitioning */
+	/** Synchronous partitioning */
 	starpu_data_handle_t children;
 	starpu_data_handle_t children;
 	unsigned nchildren;
 	unsigned nchildren;
-	/* How many partition plans this handle has */
+	/** How many partition plans this handle has */
 	unsigned nplans;
 	unsigned nplans;
-	/* Switch codelet for asynchronous partitioning */
+	/** Switch codelet for asynchronous partitioning */
 	struct starpu_codelet *switch_cl;
 	struct starpu_codelet *switch_cl;
-	/* size of dyn_nodes recorded in switch_cl */
+	/** size of dyn_nodes recorded in switch_cl */
 	unsigned switch_cl_nparts;
 	unsigned switch_cl_nparts;
-	/* Whether a partition plan is currently submitted and the
+	/** Whether a partition plan is currently submitted and the
 	 * corresponding unpartition has not been yet
 	 * corresponding unpartition has not been yet
 	 *
 	 *
 	 * Or the number of partition plans currently submitted in readonly
 	 * Or the number of partition plans currently submitted in readonly
 	 * mode.
 	 * mode.
 	 */
 	 */
 	unsigned partitioned;
 	unsigned partitioned;
-	/* Whether a partition plan is currently submitted in readonly mode */
+	/** Whether a partition plan is currently submitted in readonly mode */
 	unsigned readonly:1;
 	unsigned readonly:1;
 
 
-	/* Whether our father is currently partitioned into ourself */
+	/** Whether our father is currently partitioned into ourself */
 	unsigned active:1;
 	unsigned active:1;
 	unsigned active_ro:1;
 	unsigned active_ro:1;
 
 
-	/* describe the state of the data in term of coherency */
+	/** describe the state of the data in term of coherency */
 	struct _starpu_data_replicate per_node[STARPU_MAXNODES];
 	struct _starpu_data_replicate per_node[STARPU_MAXNODES];
 	struct _starpu_data_replicate *per_worker;
 	struct _starpu_data_replicate *per_worker;
 
 
 	struct starpu_data_interface_ops *ops;
 	struct starpu_data_interface_ops *ops;
 
 
-	/* Footprint which identifies data layout */
+	/** Footprint which identifies data layout */
 	uint32_t footprint;
 	uint32_t footprint;
 
 
-	/* where is the data home, i.e. which node it was registered from ? -1 if none yet */
+	/** where is the data home, i.e. which node it was registered from ? -1 if none yet */
 	int home_node;
 	int home_node;
 
 
-	/* what is the default write-through mask for that data ? */
+	/** what is the default write-through mask for that data ? */
 	uint32_t wt_mask;
 	uint32_t wt_mask;
 
 
-	/* in some case, the application may explicitly tell StarPU that a
+	/** in some case, the application may explicitly tell StarPU that a
  	 * piece of data is not likely to be used soon again */
  	 * piece of data is not likely to be used soon again */
 	unsigned is_not_important;
 	unsigned is_not_important;
 
 
-	/* Does StarPU have to enforce some implicit data-dependencies ? */
+	/** Does StarPU have to enforce some implicit data-dependencies ? */
 	unsigned sequential_consistency;
 	unsigned sequential_consistency;
-	/* Is the data initialized, or a task is already submitted to initialize it */
+	/** Is the data initialized, or a task is already submitted to initialize it */
 	unsigned initialized;
 	unsigned initialized;
-	/* Can the data be pushed to the disk? */
+	/** Can the data be pushed to the disk? */
 	unsigned ooc;
 	unsigned ooc;
 
 
-	/* This lock should protect any operation to enforce
+	/** This lock should protect any operation to enforce
 	 * sequential_consistency */
 	 * sequential_consistency */
 	starpu_pthread_mutex_t sequential_consistency_mutex;
 	starpu_pthread_mutex_t sequential_consistency_mutex;
 
 
-	/* The last submitted task (or application data request) that declared
+	/** The last submitted task (or application data request) that declared
 	 * it would modify the piece of data ? Any task accessing the data in a
 	 * it would modify the piece of data ? Any task accessing the data in a
 	 * read-only mode should depend on that task implicitely if the
 	 * read-only mode should depend on that task implicitely if the
 	 * sequential_consistency flag is enabled. */
 	 * sequential_consistency flag is enabled. */
@@ -212,7 +214,7 @@ struct _starpu_data_state
 	struct starpu_task *last_sync_task;
 	struct starpu_task *last_sync_task;
 	struct _starpu_task_wrapper_dlist last_submitted_accessors;
 	struct _starpu_task_wrapper_dlist last_submitted_accessors;
 
 
-	/* If FxT is enabled, we keep track of "ghost dependencies": that is to
+	/** If FxT is enabled, we keep track of "ghost dependencies": that is to
 	 * say the dependencies that are not needed anymore, but that should
 	 * say the dependencies that are not needed anymore, but that should
 	 * appear in the post-mortem DAG. For instance if we have the sequence
 	 * appear in the post-mortem DAG. For instance if we have the sequence
 	 * f(Aw) g(Aw), and that g is submitted after the termination of f, we
 	 * f(Aw) g(Aw), and that g is submitted after the termination of f, we
@@ -222,7 +224,7 @@ struct _starpu_data_state
 	unsigned long last_submitted_ghost_sync_id;
 	unsigned long last_submitted_ghost_sync_id;
 	struct _starpu_jobid_list *last_submitted_ghost_accessors_id;
 	struct _starpu_jobid_list *last_submitted_ghost_accessors_id;
 
 
-	/* protected by sequential_consistency_mutex */
+	/** protected by sequential_consistency_mutex */
 	struct _starpu_task_wrapper_list *post_sync_tasks;
 	struct _starpu_task_wrapper_list *post_sync_tasks;
 	unsigned post_sync_tasks_cnt;
 	unsigned post_sync_tasks_cnt;
 
 
@@ -230,26 +232,26 @@ struct _starpu_data_state
 	 *	Reductions
 	 *	Reductions
 	 */
 	 */
 
 
-	/* During reduction we need some specific methods: redux_func performs
+	/** During reduction we need some specific methods: redux_func performs
 	 * the reduction of an interface into another one (eg. "+="), and init_func
 	 * the reduction of an interface into another one (eg. "+="), and init_func
 	 * initializes the data interface to a default value that is stable by
 	 * initializes the data interface to a default value that is stable by
 	 * reduction (eg. 0 for +=). */
 	 * reduction (eg. 0 for +=). */
 	struct starpu_codelet *redux_cl;
 	struct starpu_codelet *redux_cl;
 	struct starpu_codelet *init_cl;
 	struct starpu_codelet *init_cl;
 
 
-	/* Are we currently performing a reduction on that handle ? If so the
+	/** Are we currently performing a reduction on that handle ? If so the
 	 * reduction_refcnt should be non null until there are pending tasks
 	 * reduction_refcnt should be non null until there are pending tasks
 	 * that are performing the reduction. */
 	 * that are performing the reduction. */
 	unsigned reduction_refcnt;
 	unsigned reduction_refcnt;
 
 
-	/* List of requesters that are specific to the pending reduction. This
+	/** List of requesters that are specific to the pending reduction. This
 	 * list is used when the requests in the req_list list are frozen until
 	 * list is used when the requests in the req_list list are frozen until
 	 * the end of the reduction. */
 	 * the end of the reduction. */
 	struct _starpu_data_requester_prio_list reduction_req_list;
 	struct _starpu_data_requester_prio_list reduction_req_list;
 
 
 	starpu_data_handle_t *reduction_tmp_handles;
 	starpu_data_handle_t *reduction_tmp_handles;
 
 
-	/* Final request for write invalidation */
+	/** Final request for write invalidation */
 	struct _starpu_data_request *write_invalidation_req;
 	struct _starpu_data_request *write_invalidation_req;
 
 
 	unsigned lazy_unregister;
 	unsigned lazy_unregister;
@@ -258,33 +260,33 @@ struct _starpu_data_state
 	unsigned removed_from_context_hash;
 	unsigned removed_from_context_hash;
 #endif
 #endif
 
 
-        /* Used for MPI */
+        /** Used for MPI */
 	void *mpi_data;
 	void *mpi_data;
 
 
 	_starpu_memory_stats_t memory_stats;
 	_starpu_memory_stats_t memory_stats;
 
 
 	unsigned int mf_node; //XXX
 	unsigned int mf_node; //XXX
 
 
-	/* hook to be called when unregistering the data */
+	/** hook to be called when unregistering the data */
 	_starpu_data_handle_unregister_hook unregister_hook;
 	_starpu_data_handle_unregister_hook unregister_hook;
 
 
 	struct starpu_arbiter *arbiter;
 	struct starpu_arbiter *arbiter;
-	/* This is protected by the arbiter mutex */
+	/** This is protected by the arbiter mutex */
 	struct _starpu_data_requester_prio_list arbitered_req_list;
 	struct _starpu_data_requester_prio_list arbitered_req_list;
 
 
-	/* Data maintained by schedulers themselves */
-	/* Last worker that took this data in locality mode, or -1 if nobody
+	/** Data maintained by schedulers themselves */
+	/** Last worker that took this data in locality mode, or -1 if nobody
 	 * took it yet */
 	 * took it yet */
 	int last_locality;
 	int last_locality;
 
 
 	int partition_automatic_disabled;
 	int partition_automatic_disabled;
 
 
-	/* A generic pointer to data in the user land (could be anything and this
+	/** A generic pointer to data in the user land (could be anything and this
 	 * is not manage by StarPU) */
 	 * is not manage by StarPU) */
 	void *user_data;
 	void *user_data;
 };
 };
 
 
-/* This does not take a reference on the handle, the caller has to do it,
+/** This does not take a reference on the handle, the caller has to do it,
  * e.g. through _starpu_attempt_to_submit_data_request_from_apps()
  * e.g. through _starpu_attempt_to_submit_data_request_from_apps()
  * detached means that the core is allowed to drop the request. The caller
  * detached means that the core is allowed to drop the request. The caller
  * should thus *not* take a reference since it can not know whether the request will complete
  * should thus *not* take a reference since it can not know whether the request will complete
@@ -293,7 +295,7 @@ struct _starpu_data_state
 int _starpu_fetch_data_on_node(starpu_data_handle_t handle, int node, struct _starpu_data_replicate *replicate,
 int _starpu_fetch_data_on_node(starpu_data_handle_t handle, int node, struct _starpu_data_replicate *replicate,
 			       enum starpu_data_access_mode mode, unsigned detached, unsigned is_prefetch, unsigned async,
 			       enum starpu_data_access_mode mode, unsigned detached, unsigned is_prefetch, unsigned async,
 			       void (*callback_func)(void *), void *callback_arg, int prio, const char *origin);
 			       void (*callback_func)(void *), void *callback_arg, int prio, const char *origin);
-/* This releases a reference on the handle */
+/** This releases a reference on the handle */
 void _starpu_release_data_on_node(struct _starpu_data_state *state, uint32_t default_wt_mask,
 void _starpu_release_data_on_node(struct _starpu_data_state *state, uint32_t default_wt_mask,
 				  struct _starpu_data_replicate *replicate);
 				  struct _starpu_data_replicate *replicate);
 
 
@@ -310,7 +312,7 @@ starpu_ssize_t _starpu_data_get_max_size(starpu_data_handle_t handle);
 uint32_t _starpu_data_get_footprint(starpu_data_handle_t handle);
 uint32_t _starpu_data_get_footprint(starpu_data_handle_t handle);
 
 
 void __starpu_push_task_output(struct _starpu_job *j);
 void __starpu_push_task_output(struct _starpu_job *j);
-/* Version with driver trace */
+/** Version with driver trace */
 void _starpu_push_task_output(struct _starpu_job *j);
 void _starpu_push_task_output(struct _starpu_job *j);
 
 
 void _starpu_release_nowhere_task_output(struct _starpu_job *j);
 void _starpu_release_nowhere_task_output(struct _starpu_job *j);
@@ -328,7 +330,7 @@ int _starpu_determine_request_path(starpu_data_handle_t handle,
 				  unsigned *src_nodes, unsigned *dst_nodes,
 				  unsigned *src_nodes, unsigned *dst_nodes,
 				  unsigned *handling_nodes, unsigned write_invalidation);
 				  unsigned *handling_nodes, unsigned write_invalidation);
 
 
-/* is_prefetch is whether the DSM may drop the request (when there is not enough memory for instance
+/** is_prefetch is whether the DSM may drop the request (when there is not enough memory for instance
  * async is whether the caller wants a reference on the last request, to be
  * async is whether the caller wants a reference on the last request, to be
  * able to wait for it (which will release that reference).
  * able to wait for it (which will release that reference).
  */
  */

+ 6 - 4
src/datawizard/copy_driver.h

@@ -17,6 +17,8 @@
 #ifndef __COPY_DRIVER_H__
 #ifndef __COPY_DRIVER_H__
 #define __COPY_DRIVER_H__
 #define __COPY_DRIVER_H__
 
 
+/** @file */
+
 #ifdef HAVE_AIO_H
 #ifdef HAVE_AIO_H
 #include <aio.h>
 #include <aio.h>
 #endif
 #endif
@@ -46,7 +48,7 @@ struct _starpu_data_request;
 struct _starpu_data_replicate;
 struct _starpu_data_replicate;
 
 
 #ifdef STARPU_USE_MIC
 #ifdef STARPU_USE_MIC
-/* MIC needs memory_node to know which MIC is concerned.
+/** MIC needs memory_node to know which MIC is concerned.
  * mark is used to wait asynchronous request.
  * mark is used to wait asynchronous request.
  * signal is used to test asynchronous request. */
  * signal is used to test asynchronous request. */
 struct _starpu_mic_async_event
 struct _starpu_mic_async_event
@@ -84,7 +86,7 @@ struct _starpu_disk_async_event
 	starpu_data_handle_t handle;
 	starpu_data_handle_t handle;
 };
 };
 
 
-/* this is a structure that can be queried to see whether an asynchronous
+/** this is a structure that can be queried to see whether an asynchronous
  * transfer has terminated or not */
  * transfer has terminated or not */
 union _starpu_async_channel_event
 union _starpu_async_channel_event
 {
 {
@@ -114,10 +116,10 @@ struct _starpu_async_channel
 {
 {
 	union _starpu_async_channel_event event;
 	union _starpu_async_channel_event event;
 	struct _starpu_node_ops *node_ops;
 	struct _starpu_node_ops *node_ops;
-        /* Which node to polling when needing ACK msg */
+        /** Which node to polling when needing ACK msg */
         struct _starpu_mp_node *polling_node_sender;
         struct _starpu_mp_node *polling_node_sender;
         struct _starpu_mp_node *polling_node_receiver;
         struct _starpu_mp_node *polling_node_receiver;
-        /* Used to know if the acknowlegdment msg is arrived from sinks */
+        /** Used to know if the acknowlegdment msg is arrived from sinks */
         volatile int starpu_mp_common_finished_sender;
         volatile int starpu_mp_common_finished_sender;
         volatile int starpu_mp_common_finished_receiver;
         volatile int starpu_mp_common_finished_receiver;
 };
 };

+ 19 - 17
src/datawizard/data_request.h

@@ -14,6 +14,8 @@
  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  */
  */
 
 
+/** @file */
+
 /* This one includes us, so make sure to include it first */
 /* This one includes us, so make sure to include it first */
 #include <datawizard/coherency.h>
 #include <datawizard/coherency.h>
 
 
@@ -44,18 +46,18 @@ struct _starpu_callback_list
 	struct _starpu_callback_list *next;
 	struct _starpu_callback_list *next;
 };
 };
 
 
-/* This represents a data request, i.e. we want some data to get transferred
+/** This represents a data request, i.e. we want some data to get transferred
  * from a source to a destination. */
  * from a source to a destination. */
 LIST_TYPE(_starpu_data_request,
 LIST_TYPE(_starpu_data_request,
 	struct _starpu_spinlock lock;
 	struct _starpu_spinlock lock;
 	unsigned refcnt;
 	unsigned refcnt;
-	const char *origin; /* Name of the function that triggered the request */
+	const char *origin; /** Name of the function that triggered the request */
 
 
 	starpu_data_handle_t handle;
 	starpu_data_handle_t handle;
 	struct _starpu_data_replicate *src_replicate;
 	struct _starpu_data_replicate *src_replicate;
 	struct _starpu_data_replicate *dst_replicate;
 	struct _starpu_data_replicate *dst_replicate;
 
 
-	/* Which memory node will actually perform the transfer.
+	/** Which memory node will actually perform the transfer.
 	 * This is important in the CUDA/OpenCL case, where only the worker for
 	 * This is important in the CUDA/OpenCL case, where only the worker for
 	 * the node can make the CUDA/OpenCL calls.
 	 * the node can make the CUDA/OpenCL calls.
 	 */
 	 */
@@ -71,33 +73,33 @@ LIST_TYPE(_starpu_data_request,
 	 */
 	 */
 	enum starpu_data_access_mode mode;
 	enum starpu_data_access_mode mode;
 
 
-	/* Elements needed to make the transfer asynchronous */
+	/** Elements needed to make the transfer asynchronous */
 	struct _starpu_async_channel async_channel;
 	struct _starpu_async_channel async_channel;
 
 
-	/* Whether the transfer is completed. */
+	/** Whether the transfer is completed. */
 	unsigned completed;
 	unsigned completed;
 
 
-	/* Whether this is just a prefetch request:
+	/** Whether this is just a prefetch request:
 	 * 0 for fetch,
 	 * 0 for fetch,
 	 * 1 for prefetch (dependencies have just been released)
 	 * 1 for prefetch (dependencies have just been released)
 	 * 2 for idle (a good idea to do it some time, but no hurry at all)
 	 * 2 for idle (a good idea to do it some time, but no hurry at all)
 	 */
 	 */
 	unsigned prefetch;
 	unsigned prefetch;
 
 
-	/* Priority of the request. Default is 0 */
+	/** Priority of the request. Default is 0 */
 	int prio;
 	int prio;
 
 
-	/* The value returned by the transfer function */
+	/** The value returned by the transfer function */
 	int retval;
 	int retval;
 
 
-	/* The request will not actually be submitted until there remains
+	/** The request will not actually be submitted until there remains
 	 * dependencies. */
 	 * dependencies. */
 	unsigned ndeps;
 	unsigned ndeps;
 
 
-	/* in case we have a chain of request (eg. for nvidia multi-GPU), this
+	/** in case we have a chain of request (eg. for nvidia multi-GPU), this
 	 * is the list of requests which are waiting for this one. */
 	 * is the list of requests which are waiting for this one. */
 	struct _starpu_data_request *next_req[STARPU_MAXNODES+1];
 	struct _starpu_data_request *next_req[STARPU_MAXNODES+1];
-	/* The number of requests in next_req */
+	/** The number of requests in next_req */
 	unsigned next_req_count;
 	unsigned next_req_count;
 
 
 	struct _starpu_callback_list *callbacks;
 	struct _starpu_callback_list *callbacks;
@@ -106,22 +108,22 @@ LIST_TYPE(_starpu_data_request,
 )
 )
 PRIO_LIST_TYPE(_starpu_data_request, prio)
 PRIO_LIST_TYPE(_starpu_data_request, prio)
 
 
-/* Everyone that wants to access some piece of data will post a request.
+/** Everyone that wants to access some piece of data will post a request.
  * Not only StarPU internals, but also the application may put such requests */
  * Not only StarPU internals, but also the application may put such requests */
 LIST_TYPE(_starpu_data_requester,
 LIST_TYPE(_starpu_data_requester,
-	/* what kind of access is requested ? */
+	/** what kind of access is requested ? */
 	enum starpu_data_access_mode mode;
 	enum starpu_data_access_mode mode;
 
 
-	/* applications may also directly manipulate data */
+	/** applications may also directly manipulate data */
 	unsigned is_requested_by_codelet;
 	unsigned is_requested_by_codelet;
 
 
-	/* in case this is a codelet that will do the access */
+	/** in case this is a codelet that will do the access */
 	struct _starpu_job *j;
 	struct _starpu_job *j;
 	unsigned buffer_index;
 	unsigned buffer_index;
 
 
 	int prio;
 	int prio;
 
 
-	/* if this is more complicated ... (eg. application request) 
+	/** if this is more complicated ... (eg. application request) 
 	 * NB: this callback is not called with the lock taken !
 	 * NB: this callback is not called with the lock taken !
 	 */
 	 */
 	void (*ready_data_callback)(void *argcb);
 	void (*ready_data_callback)(void *argcb);
@@ -132,7 +134,7 @@ PRIO_LIST_TYPE(_starpu_data_requester, prio)
 void _starpu_init_data_request_lists(void);
 void _starpu_init_data_request_lists(void);
 void _starpu_deinit_data_request_lists(void);
 void _starpu_deinit_data_request_lists(void);
 void _starpu_post_data_request(struct _starpu_data_request *r);
 void _starpu_post_data_request(struct _starpu_data_request *r);
-/* returns 0 if we have pushed all requests, -EBUSY or -ENOMEM otherwise */
+/** returns 0 if we have pushed all requests, -EBUSY or -ENOMEM otherwise */
 int _starpu_handle_node_data_requests(unsigned src_node, unsigned may_alloc, unsigned *pushed);
 int _starpu_handle_node_data_requests(unsigned src_node, unsigned may_alloc, unsigned *pushed);
 int _starpu_handle_node_prefetch_requests(unsigned src_node, unsigned may_alloc, unsigned *pushed);
 int _starpu_handle_node_prefetch_requests(unsigned src_node, unsigned may_alloc, unsigned *pushed);
 int _starpu_handle_node_idle_requests(unsigned src_node, unsigned may_alloc, unsigned *pushed);
 int _starpu_handle_node_idle_requests(unsigned src_node, unsigned may_alloc, unsigned *pushed);

+ 2 - 0
src/datawizard/datastats.h

@@ -17,6 +17,8 @@
 #ifndef __DATASTATS_H__
 #ifndef __DATASTATS_H__
 #define __DATASTATS_H__
 #define __DATASTATS_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 #include <stdint.h>
 #include <stdint.h>

+ 2 - 0
src/datawizard/datawizard.h

@@ -17,6 +17,8 @@
 #ifndef __DATAWIZARD_H__
 #ifndef __DATAWIZARD_H__
 #define __DATAWIZARD_H__
 #define __DATAWIZARD_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 
 

+ 3 - 2
src/datawizard/filters.h

@@ -17,6 +17,8 @@
 #ifndef __FILTERS_H__
 #ifndef __FILTERS_H__
 #define __FILTERS_H__
 #define __FILTERS_H__
 
 
+/** @file */
+
 #include <stdarg.h>
 #include <stdarg.h>
 #include <datawizard/coherency.h>
 #include <datawizard/coherency.h>
 #include <datawizard/memalloc.h>
 #include <datawizard/memalloc.h>
@@ -24,7 +26,6 @@
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 
 
-
-/* submit asynchronous unpartitioning / partitioning to make target active read-only or read-write */
+/** submit asynchronous unpartitioning / partitioning to make target active read-only or read-write */
 void _starpu_data_partition_access_submit(starpu_data_handle_t target, int write);
 void _starpu_data_partition_access_submit(starpu_data_handle_t target, int write);
 #endif
 #endif

+ 5 - 3
src/datawizard/footprint.h

@@ -18,18 +18,20 @@
 #ifndef __FOOTPRINT_H__
 #ifndef __FOOTPRINT_H__
 #define __FOOTPRINT_H__
 #define __FOOTPRINT_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 #include <core/jobs.h>
 #include <core/jobs.h>
 
 
-/* Compute the footprint that characterizes the job and cache it into the job
+/** Compute the footprint that characterizes the job and cache it into the job
  * structure. */
  * structure. */
 uint32_t _starpu_compute_buffers_footprint(struct starpu_perfmodel *model, struct starpu_perfmodel_arch * arch, unsigned nimpl, struct _starpu_job *j);
 uint32_t _starpu_compute_buffers_footprint(struct starpu_perfmodel *model, struct starpu_perfmodel_arch * arch, unsigned nimpl, struct _starpu_job *j);
 
 
-/* Compute the footprint that characterizes the layout of the data handle. */
+/** Compute the footprint that characterizes the layout of the data handle. */
 uint32_t _starpu_compute_data_footprint(starpu_data_handle_t handle);
 uint32_t _starpu_compute_data_footprint(starpu_data_handle_t handle);
 
 
-/* Compute the footprint that characterizes the allocation of the data handle. */
+/** Compute the footprint that characterizes the allocation of the data handle. */
 uint32_t _starpu_compute_data_alloc_footprint(starpu_data_handle_t handle);
 uint32_t _starpu_compute_data_alloc_footprint(starpu_data_handle_t handle);
 
 
 #endif // __FOOTPRINT_H__
 #endif // __FOOTPRINT_H__

+ 4 - 2
src/datawizard/interfaces/data_interface.h

@@ -17,6 +17,8 @@
 #ifndef __DATA_INTERFACE_H__
 #ifndef __DATA_INTERFACE_H__
 #define __DATA_INTERFACE_H__
 #define __DATA_INTERFACE_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 #include <common/uthash.h>
 #include <common/uthash.h>
@@ -24,7 +26,7 @@
 #include <util/openmp_runtime_support.h>
 #include <util/openmp_runtime_support.h>
 #endif
 #endif
 
 
-/* Generic type representing an interface, for now it's only used before
+/** Generic type representing an interface, for now it's only used before
  * execution on message-passing devices but it can be useful in other cases.
  * execution on message-passing devices but it can be useful in other cases.
  */
  */
 union _starpu_interface
 union _starpu_interface
@@ -39,7 +41,7 @@ union _starpu_interface
 	struct starpu_multiformat_interface multiformat;
 	struct starpu_multiformat_interface multiformat;
 };
 };
 
 
-/* Some data interfaces or filters use this interface internally */
+/** Some data interfaces or filters use this interface internally */
 extern struct starpu_data_interface_ops starpu_interface_matrix_ops;
 extern struct starpu_data_interface_ops starpu_interface_matrix_ops;
 extern struct starpu_data_interface_ops starpu_interface_block_ops;
 extern struct starpu_data_interface_ops starpu_interface_block_ops;
 extern struct starpu_data_interface_ops starpu_interface_vector_ops;
 extern struct starpu_data_interface_ops starpu_interface_vector_ops;

+ 2 - 0
src/datawizard/malloc.h

@@ -17,6 +17,8 @@
 #ifndef __ALLOC_H__
 #ifndef __ALLOC_H__
 #define __ALLOC_H__
 #define __ALLOC_H__
 
 
+/** @file */
+
 void _starpu_malloc_init(unsigned dst_node);
 void _starpu_malloc_init(unsigned dst_node);
 void _starpu_malloc_shutdown(unsigned dst_node);
 void _starpu_malloc_shutdown(unsigned dst_node);
 
 

+ 12 - 10
src/datawizard/memalloc.h

@@ -17,6 +17,8 @@
 #ifndef __MEMALLOC_H__
 #ifndef __MEMALLOC_H__
 #define __MEMALLOC_H__
 #define __MEMALLOC_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 
 
@@ -27,10 +29,10 @@
 
 
 struct _starpu_data_replicate;
 struct _starpu_data_replicate;
 
 
-/* While associated with a handle, the content is protected by the handle lock, except a few fields
+/** While associated with a handle, the content is protected by the handle lock, except a few fields
  */
  */
 LIST_TYPE(_starpu_mem_chunk,
 LIST_TYPE(_starpu_mem_chunk,
-	/* protected by the mc_lock */
+	/** protected by the mc_lock */
 	starpu_data_handle_t data;
 	starpu_data_handle_t data;
 
 
 	uint32_t footprint;
 	uint32_t footprint;
@@ -47,21 +49,21 @@ LIST_TYPE(_starpu_mem_chunk,
 	void *chunk_interface;
 	void *chunk_interface;
 	size_t size_interface;
 	size_t size_interface;
 
 
-	/* Whether StarPU automatically allocated this memory, or the application did */
+	/** Whether StarPU automatically allocated this memory, or the application did */
 	unsigned automatically_allocated:1;
 	unsigned automatically_allocated:1;
-	/* A buffer that is used for SCRATCH or reduction cannnot be used with
+	/** A buffer that is used for SCRATCH or reduction cannnot be used with
 	 * filters. */
 	 * filters. */
 	unsigned relaxed_coherency:2;
 	unsigned relaxed_coherency:2;
-	/* Whether this is the home chunk, or there is no home chunk (and it is thus always clean) */
+	/** Whether this is the home chunk, or there is no home chunk (and it is thus always clean) */
 	unsigned home:1;
 	unsigned home:1;
-	/* Whether the memchunk is in the clean part of the mc_list */
+	/** Whether the memchunk is in the clean part of the mc_list */
 	unsigned clean:1;
 	unsigned clean:1;
-	/* Was this chunk used since it got allocated?  */
+	/** Was this chunk used since it got allocated?  */
 	unsigned diduse:1;
 	unsigned diduse:1;
-	/* Was this chunk marked as "won't use"? */
+	/** Was this chunk marked as "won't use"? */
 	unsigned wontuse:1;
 	unsigned wontuse:1;
 
 
-	/* the size of the data is only set when calling _starpu_request_mem_chunk_removal(),
+	/** the size of the data is only set when calling _starpu_request_mem_chunk_removal(),
 	 * it is needed to estimate how much memory is in mc_cache, and by
 	 * it is needed to estimate how much memory is in mc_cache, and by
 	 * free_memory_on_node() which is called when the handle is no longer
 	 * free_memory_on_node() which is called when the handle is no longer
 	 * valid.
 	 * valid.
@@ -71,7 +73,7 @@ LIST_TYPE(_starpu_mem_chunk,
 
 
 	struct _starpu_data_replicate *replicate;
 	struct _starpu_data_replicate *replicate;
 
 
-	/* This is set when one keeps a pointer to this mc obtained from the
+	/** This is set when one keeps a pointer to this mc obtained from the
 	 * mc_list without mc_lock held. We need to clear the pointer if we
 	 * mc_list without mc_lock held. We need to clear the pointer if we
 	 * remove this entry from the mc_list, so we know we have to restart
 	 * remove this entry from the mc_list, so we know we have to restart
 	 * from zero. This is protected by the corresponding mc_lock.  */
 	 * from zero. This is protected by the corresponding mc_lock.  */

+ 2 - 0
src/datawizard/memory_manager.h

@@ -17,6 +17,8 @@
 #ifndef __MEMORY_MANAGER_H__
 #ifndef __MEMORY_MANAGER_H__
 #define __MEMORY_MANAGER_H__
 #define __MEMORY_MANAGER_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 
 
 #ifdef __cplusplus
 #ifdef __cplusplus

+ 5 - 3
src/datawizard/memory_nodes.h

@@ -17,6 +17,8 @@
 #ifndef __MEMORY_NODES_H__
 #ifndef __MEMORY_NODES_H__
 #define __MEMORY_NODES_H__
 #define __MEMORY_NODES_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 #include <datawizard/coherency.h>
 #include <datawizard/coherency.h>
@@ -76,7 +78,7 @@ static inline void _starpu_memory_node_add_nworkers(unsigned node)
 	_starpu_descr.nworkers[node]++;
 	_starpu_descr.nworkers[node]++;
 }
 }
 
 
-/* same utility as _starpu_memory_node_add_nworkers */
+/** same utility as _starpu_memory_node_add_nworkers */
 void _starpu_worker_drives_memory_node(struct _starpu_worker *worker, unsigned memnode);
 void _starpu_worker_drives_memory_node(struct _starpu_worker *worker, unsigned memnode);
 
 
 static inline struct _starpu_node_ops *_starpu_memory_node_get_node_ops(unsigned node)
 static inline struct _starpu_node_ops *_starpu_memory_node_get_node_ops(unsigned node)
@@ -125,13 +127,13 @@ static inline unsigned _starpu_worker_get_memory_node(unsigned workerid)
 {
 {
 	struct _starpu_machine_config *config = _starpu_get_machine_config();
 	struct _starpu_machine_config *config = _starpu_get_machine_config();
 
 
-	/* This workerid may either be a basic worker or a combined worker */
+	/** This workerid may either be a basic worker or a combined worker */
 	unsigned nworkers = config->topology.nworkers;
 	unsigned nworkers = config->topology.nworkers;
 
 
 	if (workerid < config->topology.nworkers)
 	if (workerid < config->topology.nworkers)
 		return config->workers[workerid].memory_node;
 		return config->workers[workerid].memory_node;
 
 
-	/* We have a combined worker */
+	/** We have a combined worker */
 	unsigned ncombinedworkers STARPU_ATTRIBUTE_UNUSED = config->topology.ncombinedworkers;
 	unsigned ncombinedworkers STARPU_ATTRIBUTE_UNUSED = config->topology.ncombinedworkers;
 	STARPU_ASSERT_MSG(workerid < ncombinedworkers + nworkers, "Bad workerid %u, maximum %u", workerid, ncombinedworkers + nworkers);
 	STARPU_ASSERT_MSG(workerid < ncombinedworkers + nworkers, "Bad workerid %u, maximum %u", workerid, ncombinedworkers + nworkers);
 	return config->combined_workers[workerid - nworkers].memory_node;
 	return config->combined_workers[workerid - nworkers].memory_node;

+ 2 - 0
src/datawizard/memstats.h

@@ -17,6 +17,8 @@
 #ifndef __MEMSTATS_H__
 #ifndef __MEMSTATS_H__
 #define __MEMSTATS_H__
 #define __MEMSTATS_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 
 

+ 2 - 0
src/datawizard/node_ops.h

@@ -17,6 +17,8 @@
 #ifndef __NODE_OPS_H__
 #ifndef __NODE_OPS_H__
 #define __NODE_OPS_H__
 #define __NODE_OPS_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 #include <datawizard/copy_driver.h>
 #include <datawizard/copy_driver.h>

+ 3 - 1
src/datawizard/sort_data_handles.h

@@ -17,6 +17,8 @@
 #ifndef __SORT_DATA_HANDLES_H__
 #ifndef __SORT_DATA_HANDLES_H__
 #define __SORT_DATA_HANDLES_H__
 #define __SORT_DATA_HANDLES_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <common/config.h>
 #include <common/config.h>
 #include <stdlib.h>
 #include <stdlib.h>
@@ -26,7 +28,7 @@
 #include <datawizard/coherency.h>
 #include <datawizard/coherency.h>
 #include <datawizard/memalloc.h>
 #include <datawizard/memalloc.h>
 
 
-/* To avoid deadlocks, we reorder the different buffers accessed to by the task
+/** To avoid deadlocks, we reorder the different buffers accessed to by the task
  * so that we always grab the rw-lock associated to the handles in the same
  * so that we always grab the rw-lock associated to the handles in the same
  * order. */
  * order. */
 void _starpu_sort_task_handles(struct _starpu_data_descr descr[], unsigned nbuffers);
 void _starpu_sort_task_handles(struct _starpu_data_descr descr[], unsigned nbuffers);

+ 3 - 1
src/datawizard/write_back.h

@@ -17,10 +17,12 @@
 #ifndef __DW_WRITE_BACK_H__
 #ifndef __DW_WRITE_BACK_H__
 #define __DW_WRITE_BACK_H__
 #define __DW_WRITE_BACK_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <datawizard/coherency.h>
 #include <datawizard/coherency.h>
 
 
-/* If a write-through mask is associated to that data handle, this propagates
+/** If a write-through mask is associated to that data handle, this propagates
  * the the current value of the data onto the different memory nodes in the
  * the the current value of the data onto the different memory nodes in the
  * write_through_mask. */
  * write_through_mask. */
 void _starpu_write_through_data(starpu_data_handle_t handle, unsigned requesting_node,
 void _starpu_write_through_data(starpu_data_handle_t handle, unsigned requesting_node,

+ 4 - 2
src/debug/starpu_debug_helpers.h

@@ -17,6 +17,8 @@
 #ifndef __STARPU_DEBUG_HELPERS_H__
 #ifndef __STARPU_DEBUG_HELPERS_H__
 #define __STARPU_DEBUG_HELPERS_H__
 #define __STARPU_DEBUG_HELPERS_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <starpu_config.h>
 #include <starpu_config.h>
 #include <starpu_util.h>
 #include <starpu_util.h>
@@ -26,10 +28,10 @@ extern "C"
 {
 {
 #endif
 #endif
 
 
-/* Perform a ping pong between the two memory nodes */
+/** Perform a ping pong between the two memory nodes */
 void _starpu_benchmark_ping_pong(starpu_data_handle_t handle, unsigned node0, unsigned node1, unsigned niter);
 void _starpu_benchmark_ping_pong(starpu_data_handle_t handle, unsigned node0, unsigned node1, unsigned niter);
 
 
-/* Display the size of different data structures */
+/** Display the size of different data structures */
 void _starpu_debug_display_structures_size(FILE *stream);
 void _starpu_debug_display_structures_size(FILE *stream);
 
 
 #ifdef __cplusplus
 #ifdef __cplusplus

+ 2 - 0
src/debug/traces/starpu_fxt.h

@@ -18,6 +18,8 @@
 #ifndef __STARPU__FXT_H__
 #ifndef __STARPU__FXT_H__
 #define __STARPU__FXT_H__
 #define __STARPU__FXT_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <starpu_config.h>
 #include <starpu_config.h>
 #include <common/config.h>
 #include <common/config.h>

+ 2 - 0
src/drivers/cpu/driver_cpu.h

@@ -17,6 +17,8 @@
 #ifndef __DRIVER_CPU_H__
 #ifndef __DRIVER_CPU_H__
 #define __DRIVER_CPU_H__
 #define __DRIVER_CPU_H__
 
 
+/** @file */
+
 #include <common/config.h>
 #include <common/config.h>
 #include <datawizard/node_ops.h>
 #include <datawizard/node_ops.h>
 
 

+ 2 - 0
src/drivers/cuda/driver_cuda.h

@@ -18,6 +18,8 @@
 #ifndef __DRIVER_CUDA_H__
 #ifndef __DRIVER_CUDA_H__
 #define __DRIVER_CUDA_H__
 #define __DRIVER_CUDA_H__
 
 
+/** @file */
+
 #include <common/config.h>
 #include <common/config.h>
 
 
 #ifdef STARPU_USE_CUDA
 #ifdef STARPU_USE_CUDA

+ 2 - 0
src/drivers/disk/driver_disk.h

@@ -18,6 +18,8 @@
 #ifndef __DRIVER_DISK_H__
 #ifndef __DRIVER_DISK_H__
 #define __DRIVER_DISK_H__
 #define __DRIVER_DISK_H__
 
 
+/** @file */
+
 #include <datawizard/node_ops.h>
 #include <datawizard/node_ops.h>
 
 
 int _starpu_disk_copy_src_to_disk(void * src, unsigned src_node, void * dst, size_t dst_offset, unsigned dst_node, size_t size, void * async_channel);
 int _starpu_disk_copy_src_to_disk(void * src, unsigned src_node, void * dst, size_t dst_offset, unsigned dst_node, size_t size, void * async_channel);

+ 2 - 0
src/drivers/driver_common/driver_common.h

@@ -18,6 +18,8 @@
 #ifndef __DRIVER_COMMON_H__
 #ifndef __DRIVER_COMMON_H__
 #define __DRIVER_COMMON_H__
 #define __DRIVER_COMMON_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <starpu_util.h>
 #include <starpu_util.h>
 #include <core/jobs.h>
 #include <core/jobs.h>

+ 2 - 0
src/drivers/mic/driver_mic_common.h

@@ -19,6 +19,8 @@
 #ifndef __DRIVER_MIC_COMMON_H__
 #ifndef __DRIVER_MIC_COMMON_H__
 #define __DRIVER_MIC_COMMON_H__
 #define __DRIVER_MIC_COMMON_H__
 
 
+/** @file */
+
 #include <common/config.h>
 #include <common/config.h>
 
 
 #ifdef STARPU_USE_MIC
 #ifdef STARPU_USE_MIC

+ 2 - 0
src/drivers/mic/driver_mic_sink.h

@@ -18,6 +18,8 @@
 #ifndef __DRIVER_MIC_SINK_H__
 #ifndef __DRIVER_MIC_SINK_H__
 #define __DRIVER_MIC_SINK_H__
 #define __DRIVER_MIC_SINK_H__
 
 
+/** @file */
+
 #include <common/config.h>
 #include <common/config.h>
 
 
 #ifdef STARPU_USE_MIC
 #ifdef STARPU_USE_MIC

+ 2 - 0
src/drivers/mic/driver_mic_source.h

@@ -18,6 +18,8 @@
 #ifndef __DRIVER_MIC_SOURCE_H__
 #ifndef __DRIVER_MIC_SOURCE_H__
 #define __DRIVER_MIC_SOURCE_H__
 #define __DRIVER_MIC_SOURCE_H__
 
 
+/** @file */
+
 #include <starpu_mic.h>
 #include <starpu_mic.h>
 #include <common/config.h>
 #include <common/config.h>
 
 

+ 18 - 16
src/drivers/mp_common/mp_common.h

@@ -18,6 +18,8 @@
 #ifndef __MP_COMMON_H__
 #ifndef __MP_COMMON_H__
 #define __MP_COMMON_H__
 #define __MP_COMMON_H__
 
 
+/** @file */
+
 #include <semaphore.h>
 #include <semaphore.h>
 
 
 #include <starpu.h>
 #include <starpu.h>
@@ -152,7 +154,7 @@ LIST_TYPE(_starpu_mp_event,
 );
 );
 
 
 
 
-/* Message-passing working node, whether source
+/** Message-passing working node, whether source
  * or sink */
  * or sink */
 struct _starpu_mp_node
 struct _starpu_mp_node
 {
 {
@@ -167,38 +169,38 @@ struct _starpu_mp_node
 	/*Is starpu running*/
 	/*Is starpu running*/
 	int is_running;
 	int is_running;
 
 
-	/* Buffer used for scif data transfers, allocated
+	/** Buffer used for scif data transfers, allocated
 	 * during node initialization.
 	 * during node initialization.
 	 * Size : BUFFER_SIZE */
 	 * Size : BUFFER_SIZE */
 	void *buffer;
 	void *buffer;
 
 
-	/* For sink : -1.
+	/** For sink : -1.
 	 * For host : index of the sink = devid.
 	 * For host : index of the sink = devid.
 	 */
 	 */
 	int peer_id;
 	int peer_id;
 
 
-	/* Only MIC use this for now !!
+	/** Only MIC use this for now !!
 	 * This is the devid both for the sink and the host. */
 	 * This is the devid both for the sink and the host. */
 	int devid;
 	int devid;
 
 
-	/* Only MIC use this for now !!
+	/** Only MIC use this for now !!
 	 *  Is the number ok MIC on the system. */
 	 *  Is the number ok MIC on the system. */
 	unsigned int nb_mp_sinks;
 	unsigned int nb_mp_sinks;
 
 
-	/* Connection used for command passing between the host thread and the
+	/** Connection used for command passing between the host thread and the
 	 * sink it controls */
 	 * sink it controls */
 	union _starpu_mp_connection mp_connection;
 	union _starpu_mp_connection mp_connection;
 
 
-        /* Only MIC use this for now !!
+        /** Only MIC use this for now !!
          * Connection used for data transfers between the host and his sink. */
          * Connection used for data transfers between the host and his sink. */
         union _starpu_mp_connection host_sink_dt_connection;
         union _starpu_mp_connection host_sink_dt_connection;
 
 
-        /* Mutex to protect the interleaving of communications when using one thread per node,
+        /** Mutex to protect the interleaving of communications when using one thread per node,
          * for instance, when a thread transfers piece of data and an other wants to use
          * for instance, when a thread transfers piece of data and an other wants to use
          * a sink_to_sink communication */
          * a sink_to_sink communication */
         starpu_pthread_mutex_t connection_mutex;
         starpu_pthread_mutex_t connection_mutex;
 
 
-        /* Only MIC use this for now !!
+        /** Only MIC use this for now !!
          * Only sink use this for now !!
          * Only sink use this for now !!
          * Connection used for data transfer between devices.
          * Connection used for data transfer between devices.
          * A sink opens a connection with each other sink,
          * A sink opens a connection with each other sink,
@@ -208,15 +210,15 @@ struct _starpu_mp_node
          *  - sink_sink_dt_connections[j] is not initialized for the sink number j. */
          *  - sink_sink_dt_connections[j] is not initialized for the sink number j. */
         union _starpu_mp_connection *sink_sink_dt_connections;
         union _starpu_mp_connection *sink_sink_dt_connections;
 
 
-        /* This list contains events
+        /** This list contains events
          * about asynchronous request
          * about asynchronous request
          */
          */
         struct _starpu_mp_event_list event_list;
         struct _starpu_mp_event_list event_list;
 
 
-        /* */
+        /** */
         starpu_pthread_barrier_t init_completed_barrier;
         starpu_pthread_barrier_t init_completed_barrier;
 
 
-        /* table to store pointer of the thread workers*/
+        /** table to store pointer of the thread workers*/
         void* thread_table;
         void* thread_table;
 
 
         /*list where threads add messages to send to the source node */
         /*list where threads add messages to send to the source node */
@@ -232,24 +234,24 @@ struct _starpu_mp_node
         struct mp_task ** run_table_detached;
         struct mp_task ** run_table_detached;
         sem_t * sem_run_table;
         sem_t * sem_run_table;
 
 
-        /* Node general functions */
+        /** Node general functions */
         void (*init)            (struct _starpu_mp_node *node);
         void (*init)            (struct _starpu_mp_node *node);
         void (*launch_workers)  (struct _starpu_mp_node *node);
         void (*launch_workers)  (struct _starpu_mp_node *node);
         void (*deinit)          (struct _starpu_mp_node *node);
         void (*deinit)          (struct _starpu_mp_node *node);
         void (*report_error)    (const char *, const char *, const int, const int);
         void (*report_error)    (const char *, const char *, const int, const int);
 
 
-        /* Message passing */
+        /** Message passing */
         int (*mp_recv_is_ready) (const struct _starpu_mp_node *);
         int (*mp_recv_is_ready) (const struct _starpu_mp_node *);
         void (*mp_send)         (const struct _starpu_mp_node *, void *, int);
         void (*mp_send)         (const struct _starpu_mp_node *, void *, int);
         void (*mp_recv)         (const struct _starpu_mp_node *, void *, int);
         void (*mp_recv)         (const struct _starpu_mp_node *, void *, int);
 
 
-        /* Data transfers */
+        /** Data transfers */
         void (*dt_send)             (const struct _starpu_mp_node *, void *, int, void *);
         void (*dt_send)             (const struct _starpu_mp_node *, void *, int, void *);
         void (*dt_recv)             (const struct _starpu_mp_node *, void *, int, void *);
         void (*dt_recv)             (const struct _starpu_mp_node *, void *, int, void *);
         void (*dt_send_to_device)   (const struct _starpu_mp_node *, int, void *, int, void *);
         void (*dt_send_to_device)   (const struct _starpu_mp_node *, int, void *, int, void *);
         void (*dt_recv_from_device) (const struct _starpu_mp_node *, int, void *, int, void *);
         void (*dt_recv_from_device) (const struct _starpu_mp_node *, int, void *, int, void *);
 
 
-        /* Test async transfers */
+        /** Test async transfers */
         int (*dt_test) (struct _starpu_async_channel *);
         int (*dt_test) (struct _starpu_async_channel *);
 
 
         void (*(*get_kernel_from_job)   (const struct _starpu_mp_node *,struct _starpu_job *))(void);
         void (*(*get_kernel_from_job)   (const struct _starpu_mp_node *,struct _starpu_job *))(void);

+ 6 - 3
src/drivers/mp_common/sink_common.h

@@ -19,15 +19,18 @@
 #ifndef __SINK_COMMON_H__
 #ifndef __SINK_COMMON_H__
 #define __SINK_COMMON_H__
 #define __SINK_COMMON_H__
 
 
+/** @file */
+
 #include <common/config.h>
 #include <common/config.h>
 
 
 #ifdef STARPU_USE_MP
 #ifdef STARPU_USE_MP
 
 
 #include <drivers/mp_common/mp_common.h>
 #include <drivers/mp_common/mp_common.h>
 
 
-/* Represent the topology of sink devices, contains useful informations about
- * their capabilities */
-// XXX: unused.
+/** Represent the topology of sink devices, contains useful informations about
+ * their capabilities
+ * XXX: unused.
+ */
 struct _starpu_sink_topology
 struct _starpu_sink_topology
 {
 {
 	unsigned nb_cpus;
 	unsigned nb_cpus;

+ 2 - 0
src/drivers/mp_common/source_common.h

@@ -18,6 +18,8 @@
 #ifndef __SOURCE_COMMON_H__
 #ifndef __SOURCE_COMMON_H__
 #define __SOURCE_COMMON_H__
 #define __SOURCE_COMMON_H__
 
 
+/** @file */
+
 #ifdef STARPU_USE_MP
 #ifdef STARPU_USE_MP
 
 
 #include <core/sched_policy.h>
 #include <core/sched_policy.h>

+ 2 - 0
src/drivers/mpi/driver_mpi_common.h

@@ -17,6 +17,8 @@
 #ifndef __DRIVER_MPI_COMMON_H__
 #ifndef __DRIVER_MPI_COMMON_H__
 #define __DRIVER_MPI_COMMON_H__
 #define __DRIVER_MPI_COMMON_H__
 
 
+/** @file */
+
 #include <drivers/mp_common/mp_common.h>
 #include <drivers/mp_common/mp_common.h>
 #include <drivers/mpi/driver_mpi_source.h>
 #include <drivers/mpi/driver_mpi_source.h>
 
 

+ 2 - 0
src/drivers/mpi/driver_mpi_sink.h

@@ -17,6 +17,8 @@
 #ifndef __DRIVER_MPI_SINK_H__
 #ifndef __DRIVER_MPI_SINK_H__
 #define __DRIVER_MPI_SINK_H__
 #define __DRIVER_MPI_SINK_H__
 
 
+/** @file */
+
 #include <drivers/mp_common/sink_common.h>
 #include <drivers/mp_common/sink_common.h>
 
 
 #ifdef STARPU_USE_MPI_MASTER_SLAVE
 #ifdef STARPU_USE_MPI_MASTER_SLAVE

+ 3 - 1
src/drivers/mpi/driver_mpi_source.h

@@ -17,6 +17,8 @@
 #ifndef __DRIVER_MPI_SOURCE_H__
 #ifndef __DRIVER_MPI_SOURCE_H__
 #define __DRIVER_MPI_SOURCE_H__
 #define __DRIVER_MPI_SOURCE_H__
 
 
+/** @file */
+
 #include <drivers/mp_common/mp_common.h>
 #include <drivers/mp_common/mp_common.h>
 #include <starpu_mpi_ms.h>
 #include <starpu_mpi_ms.h>
 #include <datawizard/node_ops.h>
 #include <datawizard/node_ops.h>
@@ -25,7 +27,7 @@
 
 
 extern struct _starpu_node_ops _starpu_driver_mpi_node_ops;
 extern struct _starpu_node_ops _starpu_driver_mpi_node_ops;
 
 
-/* Array of structures containing all the informations useful to send
+/** Array of structures containing all the informations useful to send
  * and receive informations with devices */
  * and receive informations with devices */
 extern struct _starpu_mp_node *_starpu_mpi_ms_nodes[STARPU_MAXMPIDEVS];
 extern struct _starpu_mp_node *_starpu_mpi_ms_nodes[STARPU_MAXMPIDEVS];
 struct _starpu_mp_node *_starpu_mpi_src_get_mp_node_from_memory_node(int memory_node);
 struct _starpu_mp_node *_starpu_mpi_src_get_mp_node_from_memory_node(int memory_node);

+ 2 - 0
src/drivers/opencl/driver_opencl.h

@@ -17,6 +17,8 @@
 #ifndef __DRIVER_OPENCL_H__
 #ifndef __DRIVER_OPENCL_H__
 #define __DRIVER_OPENCL_H__
 #define __DRIVER_OPENCL_H__
 
 
+/** @file */
+
 #ifndef _GNU_SOURCE
 #ifndef _GNU_SOURCE
 #define _GNU_SOURCE 1
 #define _GNU_SOURCE 1
 #endif
 #endif

+ 2 - 0
src/drivers/opencl/driver_opencl_utils.h

@@ -17,6 +17,8 @@
 #ifndef __STARPU_OPENCL_UTILS_H__
 #ifndef __STARPU_OPENCL_UTILS_H__
 #define __STARPU_OPENCL_UTILS_H__
 #define __STARPU_OPENCL_UTILS_H__
 
 
+/** @file */
+
 char *_starpu_opencl_get_device_type_as_string(int id);
 char *_starpu_opencl_get_device_type_as_string(int id);
 
 
 #define _STARPU_OPENCL_PLATFORM_MAX 4
 #define _STARPU_OPENCL_PLATFORM_MAX 4

+ 8 - 6
src/profiling/bound.h

@@ -17,26 +17,28 @@
 #ifndef __BOUND_H__
 #ifndef __BOUND_H__
 #define __BOUND_H__
 #define __BOUND_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <starpu_bound.h>
 #include <starpu_bound.h>
 #include <core/jobs.h>
 #include <core/jobs.h>
 
 
-/* Are we recording? */
+/** Are we recording? */
 extern int _starpu_bound_recording;
 extern int _starpu_bound_recording;
 
 
-/* Record task for bound computation */
+/** Record task for bound computation */
 extern void _starpu_bound_record(struct _starpu_job *j);
 extern void _starpu_bound_record(struct _starpu_job *j);
 
 
-/* Record tag dependency: id depends on dep_id */
+/** Record tag dependency: id depends on dep_id */
 extern void _starpu_bound_tag_dep(starpu_tag_t id, starpu_tag_t dep_id);
 extern void _starpu_bound_tag_dep(starpu_tag_t id, starpu_tag_t dep_id);
 
 
-/* Record task dependency: j depends on dep_j */
+/** Record task dependency: j depends on dep_j */
 extern void _starpu_bound_task_dep(struct _starpu_job *j, struct _starpu_job *dep_j);
 extern void _starpu_bound_task_dep(struct _starpu_job *j, struct _starpu_job *dep_j);
 
 
-/* Record job id dependency: j depends on job_id */
+/** Record job id dependency: j depends on job_id */
 extern void _starpu_bound_job_id_dep(starpu_data_handle_t handle, struct _starpu_job *dep_j, unsigned long job_id);
 extern void _starpu_bound_job_id_dep(starpu_data_handle_t handle, struct _starpu_job *dep_j, unsigned long job_id);
 
 
-/* Clear recording */
+/** Clear recording */
 extern void starpu_bound_clear(void);
 extern void starpu_bound_clear(void);
 
 
 #endif // __BOUND_H__
 #endif // __BOUND_H__

+ 14 - 12
src/profiling/profiling.h

@@ -18,47 +18,49 @@
 #ifndef __PROFILING_H__
 #ifndef __PROFILING_H__
 #define __PROFILING_H__
 #define __PROFILING_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <starpu_profiling.h>
 #include <starpu_profiling.h>
 #include <starpu_util.h>
 #include <starpu_util.h>
 #include <common/config.h>
 #include <common/config.h>
 
 
-/* Create a task profiling info structure (with the proper time stamps) in case
+/** Create a task profiling info structure (with the proper time stamps) in case
  * profiling is enabled. */
  * profiling is enabled. */
 struct starpu_profiling_task_info *_starpu_allocate_profiling_info_if_needed(struct starpu_task *task);
 struct starpu_profiling_task_info *_starpu_allocate_profiling_info_if_needed(struct starpu_task *task);
 
 
-/* Update the per-worker profiling info after a task (or more) was executed.
+/** Update the per-worker profiling info after a task (or more) was executed.
  * This tells StarPU how much time was spent doing computation. */
  * This tells StarPU how much time was spent doing computation. */
 void _starpu_worker_update_profiling_info_executing(int workerid, struct timespec *executing_time, int executed_tasks, uint64_t used_cycles, uint64_t stall_cycles, double consumed_energy, double flops);
 void _starpu_worker_update_profiling_info_executing(int workerid, struct timespec *executing_time, int executed_tasks, uint64_t used_cycles, uint64_t stall_cycles, double consumed_energy, double flops);
 
 
-/* Record the date when the worker started to sleep. This permits to measure
+/** Record the date when the worker started to sleep. This permits to measure
  * how much time was spent sleeping. */
  * how much time was spent sleeping. */
 void _starpu_worker_restart_sleeping(int workerid);
 void _starpu_worker_restart_sleeping(int workerid);
 
 
-/* Record the date when the worker stopped sleeping. This permits to measure
+/** Record the date when the worker stopped sleeping. This permits to measure
  * how much time was spent sleeping. */
  * how much time was spent sleeping. */
 void _starpu_worker_stop_sleeping(int workerid);
 void _starpu_worker_stop_sleeping(int workerid);
 
 
-/* Record the date when the worker started to execute a piece of code. This
+/** Record the date when the worker started to execute a piece of code. This
  * permits to measure how much time was really spent doing computation at the
  * permits to measure how much time was really spent doing computation at the
  * end of the codelet. */
  * end of the codelet. */
 void _starpu_worker_register_executing_start_date(int workerid, struct timespec *executing_start);
 void _starpu_worker_register_executing_start_date(int workerid, struct timespec *executing_start);
 
 
-/* Record that the worker is not executing any more. */
+/** Record that the worker is not executing any more. */
 void _starpu_worker_register_executing_end(int workerid);
 void _starpu_worker_register_executing_end(int workerid);
 
 
-/* When StarPU is initialized, a matrix describing all the bus between memory
+/** When StarPU is initialized, a matrix describing all the bus between memory
  * nodes is created: it indicates whether there is a physical link between two
  * nodes is created: it indicates whether there is a physical link between two
  * memory nodes or not. This matrix should contain the identifier of the bus
  * memory nodes or not. This matrix should contain the identifier of the bus
  * between two nodes or -1 in case there is no link. */
  * between two nodes or -1 in case there is no link. */
 void _starpu_initialize_busid_matrix(void);
 void _starpu_initialize_busid_matrix(void);
 
 
-/* Tell StarPU that there exists a link between the two memory nodes. This
+/** Tell StarPU that there exists a link between the two memory nodes. This
  * function returns the identifier associated to the bus which can be used to
  * function returns the identifier associated to the bus which can be used to
  * retrieve profiling information about the bus activity later on. */
  * retrieve profiling information about the bus activity later on. */
 int _starpu_register_bus(int src_node, int dst_node);
 int _starpu_register_bus(int src_node, int dst_node);
 
 
-/* Tell StarPU that "size" bytes were transferred between the two specified
+/** Tell StarPU that "size" bytes were transferred between the two specified
  * memory nodes. */
  * memory nodes. */
 void _starpu_bus_update_profiling_info(int src_node, int dst_node, size_t size);
 void _starpu_bus_update_profiling_info(int src_node, int dst_node, size_t size);
 
 
@@ -66,15 +68,15 @@ void _starpu_profiling_set_task_push_start_time(struct starpu_task *task);
 void _starpu_profiling_set_task_push_end_time(struct starpu_task *task);
 void _starpu_profiling_set_task_push_end_time(struct starpu_task *task);
 
 
 #ifdef STARPU_PAPI
 #ifdef STARPU_PAPI
-/* Functions for papi task profilling */
+/** Functions for papi task profilling */
 void _starpu_profiling_papi_task_start_counters(struct starpu_task *task);
 void _starpu_profiling_papi_task_start_counters(struct starpu_task *task);
 void _starpu_profiling_papi_task_stop_counters(struct starpu_task *task);
 void _starpu_profiling_papi_task_stop_counters(struct starpu_task *task);
 #endif
 #endif
 
 
-/* This function needs to be called before other starpu_profile_* functions */
+/** This function needs to be called before other starpu_profile_* functions */
 void _starpu_profiling_init(void);
 void _starpu_profiling_init(void);
 
 
-/* This function starts profiling if the STARPU_PROFILING environment variable was set */
+/** This function starts profiling if the STARPU_PROFILING environment variable was set */
 void _starpu_profiling_start(void);
 void _starpu_profiling_start(void);
 
 
 void _starpu_profiling_terminate(void);
 void _starpu_profiling_terminate(void);

+ 12 - 10
src/sched_policies/fifo_queues.h

@@ -20,31 +20,33 @@
 #ifndef __FIFO_QUEUES_H__
 #ifndef __FIFO_QUEUES_H__
 #define __FIFO_QUEUES_H__
 #define __FIFO_QUEUES_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <core/task.h>
 #include <core/task.h>
 
 
 struct _starpu_fifo_taskq
 struct _starpu_fifo_taskq
 {
 {
-	/* the actual list */
+	/** the actual list */
 	struct starpu_task_list taskq;
 	struct starpu_task_list taskq;
 
 
-	/* the number of tasks currently in the queue */
+	/** the number of tasks currently in the queue */
 	unsigned ntasks;
 	unsigned ntasks;
 
 
-	/* the number of tasks currently in the queue corresponding to each priority */
+	/** the number of tasks currently in the queue corresponding to each priority */
 	unsigned *ntasks_per_priority;
 	unsigned *ntasks_per_priority;
 
 
-	/* the number of tasks that were processed */
+	/** the number of tasks that were processed */
 	unsigned nprocessed;
 	unsigned nprocessed;
 
 
-	/* only meaningful if the queue is only used by a single worker */
-	double exp_start; /* Expected start date of next item to do in the
+	/** only meaningful if the queue is only used by a single worker */
+	double exp_start; /** Expected start date of next item to do in the
 			   * queue (i.e. not started yet). This is thus updated
 			   * queue (i.e. not started yet). This is thus updated
 			   * when we start it. */
 			   * when we start it. */
-	double exp_end; /* Expected end date of last task in the queue */
-	double exp_len; /* Expected duration of the set of tasks in the queue */
-	double *exp_len_per_priority; /* Expected duration of the set of tasks in the queue corresponding to each priority */
-	double pipeline_len; /* the expected duration of what is already pushed to the worker */
+	double exp_end; /** Expected end date of last task in the queue */
+	double exp_len; /** Expected duration of the set of tasks in the queue */
+	double *exp_len_per_priority; /** Expected duration of the set of tasks in the queue corresponding to each priority */
+	double pipeline_len; /** the expected duration of what is already pushed to the worker */
 };
 };
 
 
 struct _starpu_fifo_taskq*_starpu_create_fifo(void) STARPU_ATTRIBUTE_MALLOC;
 struct _starpu_fifo_taskq*_starpu_create_fifo(void) STARPU_ATTRIBUTE_MALLOC;

+ 2 - 0
src/sched_policies/helper_mct.h

@@ -14,6 +14,8 @@
  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  */
  */
 
 
+/** @file */
+
 struct _starpu_mct_data
 struct _starpu_mct_data
 {
 {
 	double alpha;
 	double alpha;

+ 6 - 5
src/sched_policies/prio_deque.h

@@ -20,6 +20,7 @@
 #include <starpu_scheduler.h>
 #include <starpu_scheduler.h>
 #include <core/task.h>
 #include <core/task.h>
 
 
+/** @file */
 
 
 struct _starpu_prio_deque
 struct _starpu_prio_deque
 {
 {
@@ -45,7 +46,7 @@ static inline void _starpu_prio_deque_destroy(struct _starpu_prio_deque *pdeque)
 	starpu_task_prio_list_deinit(&pdeque->list);
 	starpu_task_prio_list_deinit(&pdeque->list);
 }
 }
 
 
-/* return 0 iff the struct _starpu_prio_deque is not empty */
+/** return 0 iff the struct _starpu_prio_deque is not empty */
 static inline int _starpu_prio_deque_is_empty(struct _starpu_prio_deque *pdeque)
 static inline int _starpu_prio_deque_is_empty(struct _starpu_prio_deque *pdeque)
 {
 {
 	return pdeque->ntasks == 0;
 	return pdeque->ntasks == 0;
@@ -56,7 +57,7 @@ static inline void _starpu_prio_deque_erase(struct _starpu_prio_deque *pdeque, s
 	starpu_task_prio_list_erase(&pdeque->list, task);
 	starpu_task_prio_list_erase(&pdeque->list, task);
 }
 }
 
 
-/* push a task in O(lg(nb priorities)) */
+/** push a task in O(lg(nb priorities)) */
 static inline int _starpu_prio_deque_push_front_task(struct _starpu_prio_deque *pdeque, struct starpu_task *task)
 static inline int _starpu_prio_deque_push_front_task(struct _starpu_prio_deque *pdeque, struct starpu_task *task)
 {
 {
 	starpu_task_prio_list_push_front(&pdeque->list, task);
 	starpu_task_prio_list_push_front(&pdeque->list, task);
@@ -81,7 +82,7 @@ static inline struct starpu_task * _starpu_prio_deque_highest_task(struct _starp
 	return task;
 	return task;
 }
 }
 
 
-/* all _starpu_prio_deque_pop/deque_task function return a task or a NULL pointer if none are available
+/** all _starpu_prio_deque_pop/deque_task function return a task or a NULL pointer if none are available
  * in O(lg(nb priorities))
  * in O(lg(nb priorities))
  */
  */
 
 
@@ -123,11 +124,11 @@ static inline int _starpu_prio_deque_pop_this_task(struct _starpu_prio_deque *pd
 	return 0;
 	return 0;
 }
 }
 
 
-/* return a task that can be executed by workerid
+/** return a task that can be executed by workerid
  */
  */
 struct starpu_task * _starpu_prio_deque_pop_task_for_worker(struct _starpu_prio_deque *, int workerid, int *skipped);
 struct starpu_task * _starpu_prio_deque_pop_task_for_worker(struct _starpu_prio_deque *, int workerid, int *skipped);
 
 
-/* return a task that can be executed by workerid
+/** return a task that can be executed by workerid
  */
  */
 struct starpu_task * _starpu_prio_deque_deque_task_for_worker(struct _starpu_prio_deque *, int workerid, int *skipped);
 struct starpu_task * _starpu_prio_deque_deque_task_for_worker(struct _starpu_prio_deque *, int workerid, int *skipped);
 
 

+ 2 - 0
src/sched_policies/sched_component.h

@@ -18,6 +18,8 @@
 #ifndef __SCHED_COMPONENT_H__
 #ifndef __SCHED_COMPONENT_H__
 #define __SCHED_COMPONENT_H__
 #define __SCHED_COMPONENT_H__
 
 
+/** @file */
+
 #include <starpu_sched_component.h>
 #include <starpu_sched_component.h>
 
 
 
 

+ 2 - 0
src/starpu_parameters.h

@@ -18,6 +18,8 @@
 #ifndef _STARPU_PARAMETERS_H
 #ifndef _STARPU_PARAMETERS_H
 #define _STARPU_PARAMETERS_H
 #define _STARPU_PARAMETERS_H
 
 
+/** @file */
+
 /* Parameters which are not worth being added to ./configure options, but
 /* Parameters which are not worth being added to ./configure options, but
  * still interesting to easily change */
  * still interesting to easily change */
 
 

+ 25 - 23
src/util/openmp_runtime_support.h

@@ -17,6 +17,8 @@
 #ifndef __OPENMP_RUNTIME_SUPPORT_H__
 #ifndef __OPENMP_RUNTIME_SUPPORT_H__
 #define __OPENMP_RUNTIME_SUPPORT_H__
 #define __OPENMP_RUNTIME_SUPPORT_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 
 
 #ifdef STARPU_OPENMP
 #ifdef STARPU_OPENMP
@@ -24,7 +26,7 @@
 #include <common/starpu_spinlock.h>
 #include <common/starpu_spinlock.h>
 #include <common/uthash.h>
 #include <common/uthash.h>
 
 
-/* ucontexts have been deprecated as of POSIX 1-2004
+/** ucontexts have been deprecated as of POSIX 1-2004
  * _XOPEN_SOURCE required at least on OS/X
  * _XOPEN_SOURCE required at least on OS/X
  *
  *
  * TODO: add detection in configure.ac
  * TODO: add detection in configure.ac
@@ -37,12 +39,12 @@
 extern starpu_pthread_key_t omp_thread_key;
 extern starpu_pthread_key_t omp_thread_key;
 extern starpu_pthread_key_t omp_task_key;
 extern starpu_pthread_key_t omp_task_key;
 
 
-/*
+/**
  * Arbitrary limit on the number of nested parallel sections
  * Arbitrary limit on the number of nested parallel sections
  */
  */
 #define STARPU_OMP_MAX_ACTIVE_LEVELS 1
 #define STARPU_OMP_MAX_ACTIVE_LEVELS 1
 
 
-/*
+/**
  * Possible abstract names for OpenMP places
  * Possible abstract names for OpenMP places
  */
  */
 enum starpu_omp_place_name
 enum starpu_omp_place_name
@@ -51,7 +53,7 @@ enum starpu_omp_place_name
 	starpu_omp_place_threads   = 1,
 	starpu_omp_place_threads   = 1,
 	starpu_omp_place_cores     = 2,
 	starpu_omp_place_cores     = 2,
 	starpu_omp_place_sockets   = 3,
 	starpu_omp_place_sockets   = 3,
-	starpu_omp_place_numerical = 4 /* place specified numerically */
+	starpu_omp_place_numerical = 4 /** place specified numerically */
 };
 };
 
 
 struct starpu_omp_numeric_place
 struct starpu_omp_numeric_place
@@ -63,7 +65,7 @@ struct starpu_omp_numeric_place
 	int nb_excluded_numeric_items;
 	int nb_excluded_numeric_items;
 };
 };
 
 
-/*
+/**
  * OpenMP place for thread afinity, defined by the OpenMP spec
  * OpenMP place for thread afinity, defined by the OpenMP spec
  */
  */
 struct starpu_omp_place
 struct starpu_omp_place
@@ -75,54 +77,54 @@ struct starpu_omp_place
 	int nb_numeric_places;
 	int nb_numeric_places;
 };
 };
 
 
-/*
+/**
  * Internal Control Variables (ICVs) declared following
  * Internal Control Variables (ICVs) declared following
  * OpenMP 4.0.0 spec section 2.3.1
  * OpenMP 4.0.0 spec section 2.3.1
  */
  */
 struct starpu_omp_data_environment_icvs
 struct starpu_omp_data_environment_icvs
 {
 {
-	/* parallel region icvs */
+	/** parallel region icvs */
 	int dyn_var;
 	int dyn_var;
 	int nest_var;
 	int nest_var;
-	int *nthreads_var; /* nthreads_var ICV is a list */
+	int *nthreads_var; /** nthreads_var ICV is a list */
 	int thread_limit_var;
 	int thread_limit_var;
 
 
 	int active_levels_var;
 	int active_levels_var;
 	int levels_var;
 	int levels_var;
-	int *bind_var; /* bind_var ICV is a list */
+	int *bind_var; /** bind_var ICV is a list */
 
 
-	/* loop region icvs */
+	/** loop region icvs */
 	int run_sched_var;
 	int run_sched_var;
 	unsigned long long run_sched_chunk_var;
 	unsigned long long run_sched_chunk_var;
 
 
-	/* program execution icvs */
+	/** program execution icvs */
 	int default_device_var;
 	int default_device_var;
 	int max_task_priority_var;
 	int max_task_priority_var;
 };
 };
 
 
 struct starpu_omp_device_icvs
 struct starpu_omp_device_icvs
 {
 {
-	/* parallel region icvs */
+	/** parallel region icvs */
 	int max_active_levels_var;
 	int max_active_levels_var;
 
 
-	/* loop region icvs */
+	/** loop region icvs */
 	int def_sched_var;
 	int def_sched_var;
 	unsigned long long def_sched_chunk_var;
 	unsigned long long def_sched_chunk_var;
 
 
-	/* program execution icvs */
+	/** program execution icvs */
 	int stacksize_var;
 	int stacksize_var;
 	int wait_policy_var;
 	int wait_policy_var;
 };
 };
 
 
 struct starpu_omp_implicit_task_icvs
 struct starpu_omp_implicit_task_icvs
 {
 {
-	/* parallel region icvs */
+	/** parallel region icvs */
 	int place_partition_var;
 	int place_partition_var;
 };
 };
 
 
 struct starpu_omp_global_icvs
 struct starpu_omp_global_icvs
 {
 {
-	/* program execution icvs */
+	/** program execution icvs */
 	int cancel_var;
 	int cancel_var;
 };
 };
 
 
@@ -147,7 +149,7 @@ struct starpu_omp_initial_icv_values
 	int default_device_var;
 	int default_device_var;
 	int max_task_priority_var;
 	int max_task_priority_var;
 
 
-	/* not a real ICV, but needed to store the contents of OMP_PLACES */
+	/** not a real ICV, but needed to store the contents of OMP_PLACES */
 	struct starpu_omp_place places;
 	struct starpu_omp_place places;
 };
 };
 
 
@@ -185,7 +187,7 @@ enum starpu_omp_task_state
 	starpu_omp_task_state_terminated = 2,
 	starpu_omp_task_state_terminated = 2,
 	starpu_omp_task_state_zombie     = 3,
 	starpu_omp_task_state_zombie     = 3,
 
 
-	/* target tasks are non-preemptible tasks, without dedicated stack and OpenMP Runtime Support context */
+	/** target tasks are non-preemptible tasks, without dedicated stack and OpenMP Runtime Support context */
 	starpu_omp_task_state_target     = 4,
 	starpu_omp_task_state_target     = 4,
 };
 };
 
 
@@ -237,7 +239,7 @@ LIST_TYPE(starpu_omp_task,
 	void **starpu_buffers;
 	void **starpu_buffers;
 	void *starpu_cl_arg;
 	void *starpu_cl_arg;
 
 
-	/* actual task function to be run */
+	/** actual task function to be run */
 	void (*cpu_f)(void **starpu_buffers, void *starpu_cl_arg);
 	void (*cpu_f)(void **starpu_buffers, void *starpu_cl_arg);
 #ifdef STARPU_USE_CUDA
 #ifdef STARPU_USE_CUDA
 	void (*cuda_f)(void **starpu_buffers, void *starpu_cl_arg);
 	void (*cuda_f)(void **starpu_buffers, void *starpu_cl_arg);
@@ -348,11 +350,11 @@ struct starpu_omp_region
 	struct starpu_omp_region *parent_region;
 	struct starpu_omp_region *parent_region;
 	struct starpu_omp_device *owner_device;
 	struct starpu_omp_device *owner_device;
 	struct starpu_omp_thread *master_thread;
 	struct starpu_omp_thread *master_thread;
-	/* note: the list of threads does not include the master_thread */
+	/** note: the list of threads does not include the master_thread */
 	struct starpu_omp_thread_list thread_list;
 	struct starpu_omp_thread_list thread_list;
-	/* list of implicit omp tasks created to run the region */
+	/** list of implicit omp tasks created to run the region */
 	struct starpu_omp_task **implicit_task_array;
 	struct starpu_omp_task **implicit_task_array;
-	/* include both the master thread and the region own threads */
+	/** include both the master thread and the region own threads */
 	int nb_threads;
 	int nb_threads;
 	struct _starpu_spinlock lock;
 	struct _starpu_spinlock lock;
 	struct starpu_omp_task *waiting_task;
 	struct starpu_omp_task *waiting_task;
@@ -372,7 +374,7 @@ struct starpu_omp_device
 {
 {
 	struct starpu_omp_device_icvs icvs;
 	struct starpu_omp_device_icvs icvs;
 
 
-	/* atomic fallback implementation lock */
+	/** atomic fallback implementation lock */
 	struct _starpu_spinlock atomic_lock;
 	struct _starpu_spinlock atomic_lock;
 };
 };
 
 

+ 2 - 0
src/util/starpu_clusters_create.h

@@ -17,6 +17,8 @@
 #ifndef __STARPU_CLUSTERS_CREATE_H__
 #ifndef __STARPU_CLUSTERS_CREATE_H__
 #define __STARPU_CLUSTERS_CREATE_H__
 #define __STARPU_CLUSTERS_CREATE_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 #include <core/workers.h>
 #include <core/workers.h>
 #include <common/list.h>
 #include <common/list.h>

+ 2 - 0
src/util/starpu_data_cpy.h

@@ -17,6 +17,8 @@
 #ifndef __STARPU_DATA_CPY_H__
 #ifndef __STARPU_DATA_CPY_H__
 #define __STARPU_DATA_CPY_H__
 #define __STARPU_DATA_CPY_H__
 
 
+/** @file */
+
 #include <starpu.h>
 #include <starpu.h>
 
 
 int _starpu_data_cpy(starpu_data_handle_t dst_handle, starpu_data_handle_t src_handle,
 int _starpu_data_cpy(starpu_data_handle_t dst_handle, starpu_data_handle_t src_handle,

+ 2 - 0
src/util/starpu_task_insert_utils.h

@@ -17,6 +17,8 @@
 #ifndef __STARPU_TASK_INSERT_UTILS_H__
 #ifndef __STARPU_TASK_INSERT_UTILS_H__
 #define __STARPU_TASK_INSERT_UTILS_H__
 #define __STARPU_TASK_INSERT_UTILS_H__
 
 
+/** @file */
+
 #include <stdlib.h>
 #include <stdlib.h>
 #include <stdarg.h>
 #include <stdarg.h>
 #include <starpu.h>
 #include <starpu.h>