-
Notifications
You must be signed in to change notification settings - Fork 116
[oneTBB] Add a page with constraints helpers to the spec #650
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Isaev, Ilya <[email protected]>
93dbd8a
to
f819fc1
Compare
Signed-off-by: Isaev, Ilya <[email protected]>
@aleksei-fedotov @akukanov Please take a look. |
.. cpp:function:: std::vector<oneapi::tbb::task_arena> create_numa_task_arenas(oneapi::tbb::task_arena::constraints other_constraints = {}, unsigned reserved_slots = 0) | ||
|
||
Returns a ``std::vector`` of ``task_arena`` objects, each bound to a separate NUMA node. | ||
The number of created ``task_arena`` is equal to the number of NUMA nodes available on the system. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shall it be less strict and, thus, more accurate?
The number of created ``task_arena`` is equal to the number of NUMA nodes available on the system. | |
The number of created ``task_arena`` is equal to the number of NUMA nodes detected on the system. |
|
||
.. cpp:function:: std::vector<oneapi::tbb::task_arena> create_numa_task_arenas(oneapi::tbb::task_arena::constraints other_constraints = {}, unsigned reserved_slots = 0) | ||
|
||
Returns a ``std::vector`` of ``task_arena`` objects, each bound to a separate NUMA node. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make it closer to the proposed RFC?
Returns a ``std::vector`` of ``task_arena`` objects, each bound to a separate NUMA node. | |
Returns a ``std::vector`` of non-initialized ``task_arena`` objects, each bound to a separate NUMA node. |
.. SPDX-License-Identifier: CC-BY-4.0 | ||
|
||
========================= | ||
Constrained Arena Helpers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps, task_arena Helpers might be more suitable as a name in case we would want to extend this page with other helpers, thus, avoiding creating a new one?
Functions | ||
--------- | ||
|
||
.. cpp:function:: std::vector<oneapi::tbb::task_arena> create_numa_task_arenas(oneapi::tbb::task_arena::constraints other_constraints = {}, unsigned reserved_slots = 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shorten?
.. cpp:function:: std::vector<oneapi::tbb::task_arena> create_numa_task_arenas(oneapi::tbb::task_arena::constraints other_constraints = {}, unsigned reserved_slots = 0) | |
.. cpp:function:: std::vector<oneapi::tbb::task_arena> create_numa_task_arenas(oneapi::tbb::task_arena::constraints constraints = {}, unsigned reserved_slots = 0) |
It optionally takes additional ``other_constraints`` argument to be applied to each created | ||
``task_arena``, ignoring ``numa_id`` value. The second optional ``reserved_slots`` argument | ||
allows to reserve a number of slots in each created ``task_arena`` for application threads. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps,
It optionally takes additional ``other_constraints`` argument to be applied to each created | |
``task_arena``, ignoring ``numa_id`` value. The second optional ``reserved_slots`` argument | |
allows to reserve a number of slots in each created ``task_arena`` for application threads. | |
Additional ``constraints`` argument can be specified to further limit the threads joined | |
the ``task_arena`` objects. The ``numa_id`` value in the ``constraints`` argument is | |
ignored. The ``reserved_slots`` argument allows reserving specified number of slots in | |
``task_arena`` objects for application threads. |
Add a page that describes helper APIs to simplify constrained arena creations. Currently it is a single function
oneapi::tbb::create_numa_task_arenas
from corresponding RFC.