Explorar o código

doc/doxygen: more doc

Nathalie Furmento %!s(int64=12) %!d(string=hai) anos
pai
achega
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.
 
+\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
 \ingroup Codelet_And_Tasks
 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
 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
 \ingroup Data_Management
 

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

@@ -8,6 +8,64 @@
 
 /*! \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
 \brief Contains all information about a performance model. At least the
 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
 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
 \brief Performance counters used by the starpu to indicate the
 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
 
+\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
 \brief todo
 \ingroup StarPU-Top_Interface

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

@@ -8,6 +8,56 @@
 
 /*! \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)
 \ingroup Workers_Properties
 \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
 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.
 
 */