Add new mju_threadpool API function, and delete old threading API.
PiperOrigin-RevId: 922838541 Change-Id: Id9f7e0fb298ffde61fcc49a802dc78971858ce51
This commit is contained in:
committed by
Copybara-Service
parent
a22fc2423a
commit
b935d4153c
@@ -452,10 +452,6 @@ indicated otherwise.
|
||||
* - ``mjMINAWAKE``
|
||||
- 10
|
||||
- The minimum number of timesteps that must pass after a tree is awoken, before it is allowed to go back to sleep.
|
||||
* - ``mjMAXTHREAD``
|
||||
- 128
|
||||
- Maximum number of OS threads that can be used in a thread pool.
|
||||
Defined in `mjthread.h <https://github.com/google-deepmind/mujoco/blob/main/include/mujoco/mjthread.h>`_.
|
||||
|
||||
|
||||
.. _glNumericSizes:
|
||||
|
||||
@@ -1013,36 +1013,6 @@ Asset cache used by the compiler to avoid repeated slow recompilation. See :ref:
|
||||
|
||||
.. mujoco-include:: mjCache
|
||||
|
||||
.. _mjtTaskStatus:
|
||||
|
||||
mjtTaskStatus
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Status values for :ref:`mjTask`.
|
||||
|
||||
.. mujoco-include:: mjtTaskStatus
|
||||
|
||||
.. _mjTask:
|
||||
|
||||
mjTask
|
||||
~~~~~~
|
||||
|
||||
This is a representation of a task to be run asynchronously inside of an :ref:`mjThreadPool` . It is created in the
|
||||
:ref:`mju_threadPoolEnqueue` method of the :ref:`mjThreadPool` and is used to join the task at completion.
|
||||
The ``status`` field uses values from :ref:`mjtTaskStatus`.
|
||||
|
||||
.. mujoco-include:: mjTask
|
||||
|
||||
.. _mjThreadPool:
|
||||
|
||||
mjThreadPool
|
||||
~~~~~~~~~~~~
|
||||
|
||||
This is the data structure of the threadpool. It can only be constructed programmatically, and does not
|
||||
have an analog in MJCF. In order to enable multi-threaded calculations, a pointer to an existing :ref:`mjThreadPool`
|
||||
should be assigned to the ``mjData.threadpool``.
|
||||
|
||||
.. mujoco-include:: mjThreadPool
|
||||
|
||||
.. _tyStatStructure:
|
||||
|
||||
|
||||
@@ -3375,59 +3375,14 @@ If no match, return NULL.
|
||||
|
||||
Threads
|
||||
^^^^^^^
|
||||
.. _mju_threadPoolCreate:
|
||||
.. _mju_threadpool:
|
||||
|
||||
`mju_threadPoolCreate <#mju_threadPoolCreate>`__
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
`mju_threadpool <#mju_threadpool>`__
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. mujoco-include:: mju_threadPoolCreate
|
||||
.. mujoco-include:: mju_threadpool
|
||||
|
||||
Create a thread pool with the specified number of threads running.
|
||||
|
||||
.. _mju_bindThreadPool:
|
||||
|
||||
`mju_bindThreadPool <#mju_bindThreadPool>`__
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. mujoco-include:: mju_bindThreadPool
|
||||
|
||||
Adds a thread pool to mjData and configures it for multi-threaded use.
|
||||
|
||||
.. _mju_threadPoolEnqueue:
|
||||
|
||||
`mju_threadPoolEnqueue <#mju_threadPoolEnqueue>`__
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. mujoco-include:: mju_threadPoolEnqueue
|
||||
|
||||
Enqueue a task in a thread pool.
|
||||
|
||||
.. _mju_threadPoolDestroy:
|
||||
|
||||
`mju_threadPoolDestroy <#mju_threadPoolDestroy>`__
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. mujoco-include:: mju_threadPoolDestroy
|
||||
|
||||
Destroy a thread pool.
|
||||
|
||||
.. _mju_defaultTask:
|
||||
|
||||
`mju_defaultTask <#mju_defaultTask>`__
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. mujoco-include:: mju_defaultTask
|
||||
|
||||
Initialize an mjTask.
|
||||
|
||||
.. _mju_taskJoin:
|
||||
|
||||
`mju_taskJoin <#mju_taskJoin>`__
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. mujoco-include:: mju_taskJoin
|
||||
|
||||
Wait for a task to complete.
|
||||
Create a thread pool with nthread worker threads.
|
||||
|
||||
.. _Standardmath:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user