|
@@ -25,62 +25,44 @@ considerably reduce memory used by StarPU data structures.
|
|
|
|
|
|
\enum starpu_node_kind
|
|
|
\ingroup API_Workers_Properties
|
|
|
-TODO
|
|
|
+ TODO
|
|
|
\var starpu_node_kind::STARPU_UNUSED
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-TODO
|
|
|
-\ingroup API_Workers_Properties
|
|
|
+ TODO
|
|
|
\var starpu_node_kind::STARPU_CPU_RAM
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-TODO
|
|
|
+ TODO
|
|
|
\var starpu_node_kind::STARPU_CUDA_RAM
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-TODO
|
|
|
+ TODO
|
|
|
\var starpu_node_kind::STARPU_OPENCL_RAM
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-TODO
|
|
|
+ TODO
|
|
|
\var starpu_node_kind::STARPU_DISK_RAM
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-TODO
|
|
|
+ TODO
|
|
|
\var starpu_node_kind::STARPU_MIC_RAM
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-TODO
|
|
|
+ TODO
|
|
|
\var starpu_node_kind::STARPU_SCC_RAM
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-This node kind is not used anymore, but implementations in interfaces
|
|
|
-will be useful for MPI.
|
|
|
+ This node kind is not used anymore, but implementations in
|
|
|
+ interfaces will be useful for MPI.
|
|
|
\var starpu_node_kind::STARPU_SCC_SHM
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-TODO
|
|
|
+ TODO
|
|
|
\var starpu_node_kind::STARPU_MPI_MS_RAM
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-TODO
|
|
|
+ TODO
|
|
|
|
|
|
\enum starpu_worker_archtype
|
|
|
\ingroup API_Workers_Properties
|
|
|
Worker Architecture Type
|
|
|
\var starpu_worker_archtype::STARPU_ANY_WORKER
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-any worker, used in the hypervisor
|
|
|
+ any worker, used in the hypervisor
|
|
|
\var starpu_worker_archtype::STARPU_CPU_WORKER
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-CPU core
|
|
|
+ CPU core
|
|
|
\var starpu_worker_archtype::STARPU_CUDA_WORKER
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-NVIDIA CUDA device
|
|
|
+ NVIDIA CUDA device
|
|
|
\var starpu_worker_archtype::STARPU_OPENCL_WORKER
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-OpenCL device
|
|
|
+ OpenCL device
|
|
|
\var starpu_worker_archtype::STARPU_MIC_WORKER
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-Intel MIC device
|
|
|
+ Intel MIC device
|
|
|
\var starpu_worker_archtype::STARPU_SCC_WORKER
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-Intel SCC device
|
|
|
+ Intel SCC device
|
|
|
\var starpu_worker_archtype::STARPU_MPI_MS_WORKER
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-MPI Slave device
|
|
|
-
|
|
|
+ MPI Slave device
|
|
|
|
|
|
\struct starpu_worker_collection
|
|
|
\ingroup API_Workers_Properties
|
|
@@ -112,13 +94,13 @@ structures(like tree) implementations are foreseen.
|
|
|
\var enum starpu_worker_collection_type starpu_worker_collection::type
|
|
|
The type of structure
|
|
|
\var unsigned (*starpu_worker_collection::has_next)(struct starpu_worker_collection *workers, struct starpu_sched_ctx_iterator *it)
|
|
|
- Checks if there is another element in collection
|
|
|
+ Check if there is another element in collection
|
|
|
\var int (*starpu_worker_collection::get_next)(struct starpu_worker_collection *workers, struct starpu_sched_ctx_iterator *it)
|
|
|
- return the next element in the collection
|
|
|
+ Return the next element in the collection
|
|
|
\var int (*starpu_worker_collection::add)(struct starpu_worker_collection *workers, int worker)
|
|
|
- add a new element in the collection
|
|
|
+ Add a new element in the collection
|
|
|
\var int (*starpu_worker_collection::remove)(struct starpu_worker_collection *workers, int worker)
|
|
|
- remove an element from the collection
|
|
|
+ Remove an element from the collection
|
|
|
\var void (*starpu_worker_collection::init)(struct starpu_worker_collection *workers)
|
|
|
Initialize the collection
|
|
|
\var void (*starpu_worker_collection::deinit)(struct starpu_worker_collection *workers)
|
|
@@ -132,84 +114,74 @@ structures(like tree) implementations are foreseen.
|
|
|
\ingroup API_Workers_Properties
|
|
|
Types of structures the worker collection can implement
|
|
|
\var starpu_worker_collection_type::STARPU_WORKER_LIST
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-The collection is an array
|
|
|
+ The collection is an array
|
|
|
\var starpu_worker_collection_type::STARPU_WORKER_TREE
|
|
|
-\ingroup API_Workers_Properties
|
|
|
-The collection is a tree
|
|
|
+ The collection is a tree
|
|
|
|
|
|
\struct starpu_sched_ctx_iterator
|
|
|
\ingroup API_Workers_Properties
|
|
|
Structure needed to iterate on the collection
|
|
|
\var int starpu_sched_ctx_iterator::cursor
|
|
|
-The index of the current worker in the collection, needed when iterating on
|
|
|
-the collection.
|
|
|
-
|
|
|
+ The index of the current worker in the collection, needed when
|
|
|
+ iterating on the collection.
|
|
|
|
|
|
\fn unsigned starpu_worker_get_count(void)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function returns the number of workers (i.e. processing
|
|
|
-units executing StarPU tasks). The returned value should be at most
|
|
|
-\ref STARPU_NMAXWORKERS.
|
|
|
+Return the number of workers (i.e. processing units executing StarPU
|
|
|
+tasks). The returned value should be at most \ref STARPU_NMAXWORKERS.
|
|
|
|
|
|
\fn int starpu_worker_get_count_by_type(enum starpu_worker_archtype type)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-Returns the number of workers of the given type. A positive (or
|
|
|
-<c>NULL</c>) value is returned in case of success, <c>-EINVAL</c> indicates that the
|
|
|
-type is not valid otherwise.
|
|
|
+Return the number of workers of \p type. A positive (or
|
|
|
+<c>NULL</c>) value is returned in case of success, <c>-EINVAL</c>
|
|
|
+indicates that \p type is not valid otherwise.
|
|
|
|
|
|
\fn unsigned starpu_cpu_worker_get_count(void)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function returns the number of CPUs controlled by StarPU. The
|
|
|
-returned value should be at most \ref STARPU_MAXCPUS.
|
|
|
+Return the number of CPUs controlled by StarPU. The returned value should be at most \ref STARPU_MAXCPUS.
|
|
|
|
|
|
\fn unsigned starpu_cuda_worker_get_count(void)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function returns the number of CUDA devices controlled by
|
|
|
-StarPU. The returned value should be at most \ref STARPU_MAXCUDADEVS.
|
|
|
+Return the number of CUDA devices controlled by StarPU. The returned value should be at most \ref STARPU_MAXCUDADEVS.
|
|
|
|
|
|
\fn unsigned starpu_mic_worker_get_count(void)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function returns the number of MIC workers controlled by StarPU.
|
|
|
+Return the number of MIC workers controlled by StarPU.
|
|
|
|
|
|
\fn unsigned starpu_mic_device_get_count(void)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function returns the number of MIC devices controlled by StarPU.
|
|
|
-The returned value should be at most \ref STARPU_MAXMICDEVS.
|
|
|
+Return the number of MIC devices controlled by StarPU. The returned value should be at most \ref STARPU_MAXMICDEVS.
|
|
|
|
|
|
\fn unsigned starpu_mpi_ms_worker_get_count(void)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function returns the number of MPI Master Slave workers controlled by StarPU.
|
|
|
+Return the number of MPI Master Slave workers controlled by StarPU.
|
|
|
|
|
|
\fn unsigned starpu_scc_worker_get_count(void)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function returns the number of SCC devices controlled by StarPU.
|
|
|
-The returned value should be at most \ref STARPU_MAXSCCDEVS.
|
|
|
+Return the number of SCC devices controlled by StarPU. The returned value should be at most \ref STARPU_MAXSCCDEVS.
|
|
|
|
|
|
\fn unsigned starpu_opencl_worker_get_count(void)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function returns the number of OpenCL devices controlled by
|
|
|
-StarPU. The returned value should be at most \ref STARPU_MAXOPENCLDEVS.
|
|
|
+Return the number of OpenCL devices controlled by StarPU. The returned value should be at most \ref STARPU_MAXOPENCLDEVS.
|
|
|
|
|
|
\fn int starpu_worker_get_id(void)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function returns the identifier of the current worker, i.e
|
|
|
-the one associated to the calling thread. The returned value is either
|
|
|
--1 if the current context is not a StarPU worker (i.e. when called
|
|
|
-from the application outside a task or a callback), or an integer
|
|
|
-between 0 and starpu_worker_get_count() - 1.
|
|
|
+Return the identifier of the current worker, i.e the one associated to
|
|
|
+the calling thread. The returned value is either -1 if the current
|
|
|
+context is not a StarPU worker (i.e. when called from the application
|
|
|
+outside a task or a callback), or an integer between 0 and
|
|
|
+starpu_worker_get_count() - 1.
|
|
|
|
|
|
\fn unsigned starpu_worker_get_id_check(void)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This is the same as starpu_worker_get_id(), but aborts when called from outside a
|
|
|
-worker (i.e. when starpu_worker_get_id() would return -1).
|
|
|
+Similar to starpu_worker_get_id(), but abort when called from outside
|
|
|
+a worker (i.e. when starpu_worker_get_id() would return -1).
|
|
|
|
|
|
\fn unsigned starpu_worker_get_ids_by_type(enum starpu_worker_archtype type, int *workerids, unsigned maxsize)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function gets the list of identifiers of workers with the
|
|
|
-given type. It fills the array \p workerids with the identifiers of the
|
|
|
-workers that have the type indicated in the first argument. The
|
|
|
-argument \p maxsize indicates the size of the array \p workerids. The returned
|
|
|
+Get the list of identifiers of workers of \p type. Fill the array \p
|
|
|
+workerids with the identifiers of the \p workers. The argument \p
|
|
|
+maxsize indicates the size of the array \p workerids. The returned
|
|
|
value gives the number of identifiers that were put in the array.
|
|
|
<c>-ERANGE</c> is returned is \p maxsize is lower than the number of workers
|
|
|
with the appropriate type: in that case, the array is filled with the
|
|
@@ -220,18 +192,19 @@ equal to \ref STARPU_NMAXWORKERS.
|
|
|
|
|
|
\fn int starpu_worker_get_by_type(enum starpu_worker_archtype type, int num)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This returns the identifier of the \p num -th worker that has the
|
|
|
-specified type type. If there are no such worker, -1 is returned.
|
|
|
+Return the identifier of the \p num -th worker that has the
|
|
|
+specified \p type. If there is no such worker, -1 is returned.
|
|
|
|
|
|
\fn int starpu_worker_get_by_devid(enum starpu_worker_archtype type, int devid)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This returns the identifier of the worker that has the specified type
|
|
|
-\p type and device id \p devid (which may not be the n-th, if some
|
|
|
-devices are skipped for instance). If there are no such worker, -1 is returned.
|
|
|
+Return the identifier of the worker that has the specified \p type
|
|
|
+and device id \p devid (which may not be the n-th, if some
|
|
|
+devices are skipped for instance). If there is no such worker, -1 is
|
|
|
+returned.
|
|
|
|
|
|
\fn int starpu_worker_get_devid(int id)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function returns the device id of the given worker. The
|
|
|
+Return the device id of the worker \p id. The
|
|
|
worker should be identified with the value returned by the
|
|
|
starpu_worker_get_id() function. In the case of a CUDA worker, this
|
|
|
device identifier is the logical device identifier exposed by CUDA
|
|
@@ -242,38 +215,38 @@ OS or by the library <c>hwloc</c> in case it is available.
|
|
|
|
|
|
\fn enum starpu_worker_archtype starpu_worker_get_type(int id)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function returns the type of processing unit associated to
|
|
|
-a worker. The worker identifier is a value returned by the function
|
|
|
-starpu_worker_get_id()). The returned value indicates the
|
|
|
-architecture of the worker: ::STARPU_CPU_WORKER for a CPU core,
|
|
|
-::STARPU_CUDA_WORKER for a CUDA device, and ::STARPU_OPENCL_WORKER for a
|
|
|
-OpenCL device. The value returned for an invalid identifier is
|
|
|
+Return the type of processing unit associated to the worker \p id. The
|
|
|
+worker identifier is a value returned by the function
|
|
|
+starpu_worker_get_id()). The returned value indicates the architecture
|
|
|
+of the worker: ::STARPU_CPU_WORKER for a CPU core,
|
|
|
+::STARPU_CUDA_WORKER for a CUDA device, and ::STARPU_OPENCL_WORKER for
|
|
|
+a OpenCL device. The value returned for an invalid identifier is
|
|
|
unspecified.
|
|
|
|
|
|
\fn void starpu_worker_get_name(int id, char *dst, size_t maxlen)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function allows to get the name of a given worker. StarPU
|
|
|
-associates a unique human readable string to each processing unit.
|
|
|
-This function copies at most the \p maxlen first bytes of the unique
|
|
|
-string associated to a worker identified by its identifier \p id into the
|
|
|
-\p dst buffer. The caller is responsible for ensuring that \p dst is a
|
|
|
-valid pointer to a buffer of \p maxlen bytes at least. Calling this
|
|
|
-function on an invalid identifier results in an unspecified behaviour.
|
|
|
+Allow to get the name of the worker \p id. StarPU associates a unique
|
|
|
+human readable string to each processing unit. This function copies at
|
|
|
+most the \p maxlen first bytes of the unique string associated to the
|
|
|
+worker \p id into the \p dst buffer. The caller is responsible for
|
|
|
+ensuring that \p dst is a valid pointer to a buffer of \p maxlen bytes
|
|
|
+at least. Calling this function on an invalid identifier results in an
|
|
|
+unspecified behaviour.
|
|
|
|
|
|
\fn unsigned starpu_worker_get_memory_node(unsigned workerid)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-This function returns the identifier of the memory node
|
|
|
-associated to the worker identified by \p workerid.
|
|
|
+Return the identifier of the memory node associated to the worker
|
|
|
+identified by \p workerid.
|
|
|
|
|
|
\fn enum starpu_node_kind starpu_node_get_kind(unsigned node)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-Returns the type of the given node as defined by
|
|
|
+Return the type of \p node as defined by
|
|
|
::starpu_node_kind. For example, when defining a new data interface,
|
|
|
this function should be used in the allocation function to determine
|
|
|
on which device the memory needs to be allocated.
|
|
|
|
|
|
\fn char *starpu_worker_get_type_as_string(enum starpu_worker_archtype type)
|
|
|
\ingroup API_Workers_Properties
|
|
|
-Returns the given worker type as a string.
|
|
|
+Return worker \p type as a string.
|
|
|
|
|
|
*/
|