Browse Source

doc/doxygen: more doc

Nathalie Furmento 12 years ago
parent
commit
6af812e18f

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

@@ -10,6 +10,53 @@
 
 
 \brief This section describes the interface to manipulate codelets and tasks.
 \brief This section describes the interface to manipulate codelets and tasks.
 
 
+\enum starpu_codelet_type
+\ingroup Codelet_And_Tasks
+\brief Describes the type of parallel task. See \ref Parallel_Tasks for details.
+\var starpu_codelet_type::STARPU_SEQ
+\ingroup Codelet_And_Tasks
+(default) for classical sequential tasks.
+\var starpu_codelet_type::STARPU_SPMD
+\ingroup Codelet_And_Tasks
+for a parallel task whose threads are handled by StarPU, the code has
+to use starpu_combined_worker_get_size() and
+starpu_combined_worker_get_rank() to distribute the work.
+\var starpu_codelet_type::STARPU_FORKJOIN
+\ingroup Codelet_And_Tasks
+for a parallel task whose threads are started by the codelet function,
+which has to use starpu_combined_worker_get_size() to determine how
+many threads should be started.
+
+\enum starpu_task_status
+\ingroup Codelet_And_Tasks
+\brief Task status
+\var starpu_task_status::STARPU_TASK_INVALID
+\ingroup Codelet_And_Tasks
+The task has just been initialized.
+\var starpu_task_status::STARPU_TASK_BLOCKED
+\ingroup Codelet_And_Tasks
+The task has just been submitted, and its dependencies has not been
+checked yet.
+\var starpu_task_status::STARPU_TASK_READY
+\ingroup Codelet_And_Tasks
+The task is ready for execution.
+\var starpu_task_status::STARPU_TASK_RUNNING
+\ingroup Codelet_And_Tasks
+The task is running on some worker.
+\var starpu_task_status::STARPU_TASK_FINISHED
+\ingroup Codelet_And_Tasks
+The task is finished executing.
+\var starpu_task_status::STARPU_TASK_BLOCKED_ON_TAG
+\ingroup Codelet_And_Tasks
+The task is waiting for a tag.
+\var starpu_task_status::STARPU_TASK_BLOCKED_ON_TASK
+\ingroup Codelet_And_Tasks
+The task is waiting for a task.
+\var starpu_task_status::STARPU_TASK_BLOCKED_ON_DATA
+\ingroup Codelet_And_Tasks
+The task is waiting for some data.
+
+
 \def STARPU_CPU
 \def STARPU_CPU
 \ingroup Codelet_And_Tasks
 \ingroup Codelet_And_Tasks
 This macro is used when setting the field starpu_codelet::where
 This macro is used when setting the field starpu_codelet::where

+ 36 - 0
doc/doxygen/chapters/api/data_management.doxy

@@ -21,6 +21,42 @@ StarPU, it is associated to a starpu_data_handle_t which keeps track
 of the state of the piece of data over the entire machine, so that we
 of the state of the piece of data over the entire machine, so that we
 can maintain data consistency and locate data replicates for instance.
 can maintain data consistency and locate data replicates for instance.
 
 
+\enum starpu_data_access_mode
+\ingroup Data_Management
+This datatype describes a data access mode.
+\var starpu_data_access_mode::STARPU_NONE
+\ingroup Data_Management
+TODO!
+\var starpu_data_access_mode::STARPU_R
+\ingroup Data_Management
+read-only mode.
+\var starpu_data_access_mode::STARPU_W
+\ingroup Data_Management
+write-only mode.
+\var starpu_data_access_mode::STARPU_RW
+\ingroup Data_Management
+read-write mode. This is equivalent to ::STARPU_R|::STARPU_W
+\var starpu_data_access_mode::STARPU_SCRATCH
+\ingroup Data_Management
+A temporary buffer is allocated for the task, but StarPU does not
+enforce data consistency---i.e. each device has its own buffer,
+independently from each other (even for CPUs), and no data transfer is
+ever performed. This is useful for temporary variables to avoid
+allocating/freeing buffers inside each task. Currently, no behavior is
+defined concerning the relation with the ::STARPU_R and ::STARPU_W modes
+and the value provided at registration --- i.e., the value of the
+scratch buffer is undefined at entry of the codelet function.  It is
+being considered for future extensions at least to define the initial
+value.  For now, data to be used in ::STARPU_SCRATCH mode should be
+registered with node <c>-1</c> and a <c>NULL</c> pointer, since the
+value of the provided buffer is simply ignored for now.
+\var starpu_data_access_mode::STARPU_REDUX
+\ingroup Data_Management
+todo
+\var starpu_data_access_mode::STARPU_COMMUTE
+\ingroup Data_Management
+todo
+
 @name Basic Data Management API
 @name Basic Data Management API
 \ingroup Data_Management
 \ingroup Data_Management
 
 

+ 58 - 0
doc/doxygen/chapters/api/performance_model.doxy

@@ -8,6 +8,64 @@
 
 
 /*! \defgroup Performance_Model Performance Model
 /*! \defgroup Performance_Model Performance Model
 
 
+\enum starpu_perfmodel_archtype
+\ingroup Performance_Model
+\brief Enumerates the various types of architectures.
+
+it is possible that we have multiple versions of the same kind of
+workers, for instance multiple GPUs or even different CPUs within
+the same machine so we do not use the archtype enum type directly
+for performance models.
+
+<ul>
+<li> CPU types range within ::STARPU_CPU_DEFAULT (1 CPU),
+::STARPU_CPU_DEFAULT+1 (2 CPUs), ... ::STARPU_CPU_DEFAULT +
+STARPU_MAXCPUS - 1 (STARPU_MAXCPUS CPUs).
+</li>
+<li> CUDA types range within ::STARPU_CUDA_DEFAULT (GPU number 0),
+::STARPU_CUDA_DEFAULT + 1 (GPU number 1), ..., ::STARPU_CUDA_DEFAULT +
+STARPU_MAXCUDADEVS - 1 (GPU number STARPU_MAXCUDADEVS - 1).
+</li>
+<li> OpenCL types range within ::STARPU_OPENCL_DEFAULT (GPU number
+0), ::STARPU_OPENCL_DEFAULT + 1 (GPU number 1), ...,
+::STARPU_OPENCL_DEFAULT + STARPU_MAXOPENCLDEVS - 1 (GPU number
+STARPU_MAXOPENCLDEVS - 1).
+</ul>
+\var starpu_perfmodel_archtype::STARPU_CPU_DEFAULT
+\ingroup Performance_Model
+CPU combined workers between 0 and STARPU_MAXCPUS-1
+\var starpu_perfmodel_archtype::STARPU_CUDA_DEFAULT
+\ingroup Performance_Model
+CUDA workers
+\var starpu_perfmodel_archtype::STARPU_OPENCL_DEFAULT
+\ingroup Performance_Model
+OpenCL workers
+\var starpu_perfmodel_archtype::STARPU_MIC_DEFAULT
+\ingroup Performance_Model
+MIC workers
+\var starpu_perfmodel_archtype::STARPU_SCC_DEFAULT
+\ingroup Performance_Model
+SCC workers
+
+\enum starpu_perfmodel_type
+\ingroup Performance_Model
+\brief TODO
+\var starpu_perfmodel_type::STARPU_PER_ARCH
+\ingroup Performance_Model
+Application-provided per-arch cost model function
+\var starpu_perfmodel_type::STARPU_COMMON
+\ingroup Performance_Model
+Application-provided common cost model function, with per-arch factor
+\var starpu_perfmodel_type::STARPU_HISTORY_BASED
+\ingroup Performance_Model
+Automatic history-based cost model
+\var starpu_perfmodel_type::STARPU_REGRESSION_BASED
+\ingroup Performance_Model
+Automatic linear regression-based cost model  (alpha * size ^ beta)
+\var starpu_perfmodel_type::STARPU_NL_REGRESSION_BASED
+\ingroup Performance_Model
+Automatic non-linear regression-based cost model (a * size ^ b + c)
+
 \struct starpu_perfmodel
 \struct starpu_perfmodel
 \brief Contains all information about a performance model. At least the
 \brief Contains all information about a performance model. At least the
 type and symbol fields have to be filled when defining a performance
 type and symbol fields have to be filled when defining a performance

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

@@ -16,6 +16,13 @@ starpu tasks to them and we schedule them with the policy assigned to
 the context. Scheduling contexts can be created, deleted and modified
 the context. Scheduling contexts can be created, deleted and modified
 dynamically.
 dynamically.
 
 
+\enum starpu_worker_collection_type
+\ingroup Scheduling_Contexts
+types of structures the worker collection can implement
+\var starpu_worker_collection_type::STARPU_WORKER_LIST
+\ingroup Scheduling_Contexts
+List of workers
+
 \struct starpu_sched_ctx_performance_counters
 \struct starpu_sched_ctx_performance_counters
 \brief Performance counters used by the starpu to indicate the
 \brief Performance counters used by the starpu to indicate the
 hypervisor how the application and the resources are executing.
 hypervisor how the application and the resources are executing.

+ 54 - 0
doc/doxygen/chapters/api/top.doxy

@@ -8,6 +8,60 @@
 
 
 /*! \defgroup StarPU-Top_Interface StarPU-Top Interface
 /*! \defgroup StarPU-Top_Interface StarPU-Top Interface
 
 
+\enum starpu_top_data_type
+\ingroup StarPU-Top_Interface
+\brief StarPU-Top Data type
+\var starpu_top_data_type::STARPU_TOP_DATA_BOOLEAN
+\ingroup StarPU-Top_Interface
+todo
+\var starpu_top_data_type::STARPU_TOP_DATA_INTEGER
+\ingroup StarPU-Top_Interface
+todo
+\var starpu_top_data_type::STARPU_TOP_DATA_FLOAT
+\ingroup StarPU-Top_Interface
+todo
+
+\enum starpu_top_param_type
+\ingroup StarPU-Top_Interface
+\brief StarPU-Top Parameter type
+\var starpu_top_param_type::STARPU_TOP_PARAM_BOOLEAN
+\ingroup StarPU-Top_Interface
+todo
+\var starpu_top_param_type::STARPU_TOP_PARAM_INTEGER
+\ingroup StarPU-Top_Interface
+todo
+\var starpu_top_param_type::STARPU_TOP_PARAM_FLOAT
+\ingroup StarPU-Top_Interface
+todo
+\var starpu_top_param_type::STARPU_TOP_PARAM_ENUM
+\ingroup StarPU-Top_Interface
+todo
+
+\enum starpu_top_message_type
+\ingroup StarPU-Top_Interface
+\brief StarPU-Top Message type
+\var starpu_top_message_type::TOP_TYPE_GO
+\ingroup StarPU-Top_Interface
+todo
+\var starpu_top_message_type::TOP_TYPE_SET
+\ingroup StarPU-Top_Interface
+todo
+\var starpu_top_message_type::TOP_TYPE_CONTINUE
+\ingroup StarPU-Top_Interface
+todo
+\var starpu_top_message_type::TOP_TYPE_ENABLE
+\ingroup StarPU-Top_Interface
+todo
+\var starpu_top_message_type::TOP_TYPE_DISABLE
+\ingroup StarPU-Top_Interface
+todo
+\var starpu_top_message_type::TOP_TYPE_DEBUG
+\ingroup StarPU-Top_Interface
+todo
+\var starpu_top_message_type::TOP_TYPE_UNKNOW
+\ingroup StarPU-Top_Interface
+todo
+
 \struct starpu_top_data
 \struct starpu_top_data
 \brief todo
 \brief todo
 \ingroup StarPU-Top_Interface
 \ingroup StarPU-Top_Interface

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

@@ -8,6 +8,56 @@
 
 
 /*! \defgroup Workers_Properties Workers’ Properties
 /*! \defgroup Workers_Properties Workers’ Properties
 
 
+\enum starpu_node_kind
+\ingroup Workers_Properties
+TODO
+\var starpu_node_kind::STARPU_UNUSED
+\ingroup Workers_Properties
+TODO
+\ingroup Workers_Properties
+\var starpu_node_kind::STARPU_CPU_RAM
+\ingroup Workers_Properties
+TODO
+\var starpu_node_kind::STARPU_CUDA_RAM
+\ingroup Workers_Properties
+TODO
+\var starpu_node_kind::STARPU_OPENCL_RAM
+\ingroup Workers_Properties
+TODO
+\var starpu_node_kind::STARPU_MIC_RAM
+\ingroup Workers_Properties
+TODO
+\var starpu_node_kind::STARPU_SCC_RAM
+\ingroup Workers_Properties
+This node kind is not used anymore, but implementations in interfaces
+will be useful for MPI.
+\var starpu_node_kind::STARPU_SCC_SHM
+\ingroup Workers_Properties
+TODO
+
+\enum starpu_worker_archtype
+\ingroup Workers_Properties
+\brief Worker Architecture Type
+\var starpu_worker_archtype::STARPU_ANY_WORKER
+\ingroup Workers_Properties
+any worker, used in the hypervisor
+\var starpu_worker_archtype::STARPU_CPU_WORKER
+\ingroup Workers_Properties
+CPU core
+\var starpu_worker_archtype::STARPU_CUDA_WORKER
+\ingroup Workers_Properties
+NVIDIA CUDA device
+\var starpu_worker_archtype::STARPU_OPENCL_WORKER
+\ingroup Workers_Properties
+OpenCL device
+\var starpu_worker_archtype::STARPU_MIC_WORKER
+\ingroup Workers_Properties
+Intel MIC device
+\var starpu_worker_archtype::STARPU_SCC_WORKER
+\ingroup Workers_Properties
+Intel SCC device
+
+
 \fn unsigned starpu_worker_get_count(void)
 \fn unsigned starpu_worker_get_count(void)
 \ingroup Workers_Properties
 \ingroup Workers_Properties
 \brief This function returns the number of workers (i.e. processing
 \brief This function returns the number of workers (i.e. processing

+ 1 - 3
doc/doxygen/chapters/socl_opencl_extensions.doxy

@@ -16,8 +16,6 @@ In addition, command queues that are created without specifying a device provide
 automatic scheduling of the submitted commands on OpenCL devices contained in
 automatic scheduling of the submitted commands on OpenCL devices contained in
 the context to which the command queue is attached.
 the context to which the command queue is attached.
 
 
-Note: as of StarPU @value{VERSION}, this is still an area under
-development and subject to change.
-
+Note: this is still an area under development and subject to change.
 
 
 */
 */