-
Notifications
You must be signed in to change notification settings - Fork 31
task: add more env var documentation #2137
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: master
Are you sure you want to change the base?
Conversation
View rendered docs @ https://intelpython.github.io/dpctl/pulls/2137/index.html |
Array API standard conformance tests for dpctl=0.21.0dev0=py310h93fe807_105 ran successfully. |
e346c8f
to
6ad1f1b
Compare
Array API standard conformance tests for dpctl=0.21.0dev0=py310h93fe807_105 ran successfully. |
Array API standard conformance tests for dpctl=0.21.0dev0=py310h93fe807_107 ran successfully. |
6ad1f1b
to
48ba91b
Compare
Array API standard conformance tests for dpctl=0.21.0dev0=py310h93fe807_105 ran successfully. |
1 similar comment
Array API standard conformance tests for dpctl=0.21.0dev0=py310h93fe807_105 ran successfully. |
48ba91b
to
9037fa2
Compare
Array API standard conformance tests for dpctl=0.21.0dev0=py310h93fe807_105 ran successfully. |
9037fa2
to
5084a64
Compare
Array API standard conformance tests for dpctl=0.21.0dev0=py310h93fe807_105 ran successfully. |
@ndgrigorian ready for another review |
Noting: |
Variable ``ZE_AFFINITY_MASK`` | ||
------------------------------- | ||
Allows users to mask specific devices from being used by SYCL applications. | ||
If we have ZE_FLAT_DEVICE_HIERARCHY set to COMPOSITE, we can have an AFFINITY of “1” for our application to only see device #1 - making system devices 0, and 2+, invisible. Etc. |
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.
may be worth mentioning how it works with FLAT
and COMBINED
see: https://www.intel.com/content/www/us/en/developer/articles/technical/flattening-gpu-tile-hierarchy.html
I'm not sure if I've tested combined with affinity mask in retrospect...
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.
I already linked that for the ZE_DEVICE_HIERARCHY docs, and I can't find any mention of how exactly ZE_AFFINITY_MASK
interacts with COMBINED
.
I will include the blurb about FLAT
here as well, but I see nothing for COMBINED
documented here: https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/PROG.html#affinity-mask
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.
yeah I'm going to go ahead and test it myself, since it's not documented in the compiler composite device extension either
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.
it seems to interact with ZE_AFFINITY_MASK
as one might intuitively expect:
if all exposed tiles correspond to the same physical (i.e., composite) device, then that composite device is available and the exposed tiles are available as component devices
if the exposed tiles correspond to different physical devices, then a composite device is available for each physical device that has a tile exposed, and the exposed tiles are available as component devices of the corresponding physical device
this is all quite wordy so the language will need trimming here
5084a64
to
a25c161
Compare
Array API standard conformance tests for dpctl=0.21.0dev0=py310h93fe807_111 ran successfully. |
* - ``FLAT`` | ||
- Level Zero devices with multiple tiles will be exposed as a set of root devices, each corresponding to an individual tile. Enabled by default. | ||
|
||
Read more `about device hierarchy here <https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/PROG.html#device-hierarchy>`_ and `here <https://www.intel.com/content/www/us/en/developer/articles/technical/flattening-gpu-tile-hierarchy.html>`_. |
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.
Would it be better to be more explicit in the link name? Something like
Read more `about device hierarchy here <https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/PROG.html#device-hierarchy>`_ and `here <https://www.intel.com/content/www/us/en/developer/articles/technical/flattening-gpu-tile-hierarchy.html>`_. | |
Read more about device hierarchy in `Level Zero Specification <https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/PROG.html#device-hierarchy>`_ and `Intel GPU article <https://www.intel.com/content/www/us/en/developer/articles/technical/flattening-gpu-tile-hierarchy.html>`_. |
|
||
Additional examples to illustrate this are in the detailed documentation for ZE_AFFINITY_MASK. | ||
|
||
Read more about `affinity masks here <https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/PROG.html#affinity-mask>`_. |
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.
and here
Read more about `affinity masks here <https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/PROG.html#affinity-mask>`_. | |
Read more about affinity masks in `Level Zero Specification <https://oneapi-src.github.io/level-zero-spec/level-zero/latest/core/PROG.html#affinity-mask>`_. |
If the system has four dual-tile GPUs installed, this would be the second tile in the first GPU. In FLAT mode, the numbers use a system-wide-sub-device-number from a flat numbering perspective. | ||
Therefore, we could use the second tile in each of four dual-tile GPUs with ZE_AFFINITY_MASK=1,3,5,7. | ||
|
||
Additional examples to illustrate this are in the detailed documentation for ZE_AFFINITY_MASK. |
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.
Do you mean the detailed documentation in Level Zero Specification? Should we combine that sentence with the next one then to provide a link?
Variable ``ZE_AFFINITY_MASK`` | ||
------------------------------- | ||
Allows users to mask specific devices from being used by SYCL applications. | ||
If we have ZE_FLAT_DEVICE_HIERARCHY set to COMPOSITE, we can have an AFFINITY of “1” for our application to only see device #1 - making system devices 0, and 2+, invisible. |
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.
If we have ZE_FLAT_DEVICE_HIERARCHY set to COMPOSITE, we can have an AFFINITY of “1” for our application to only see device #1 - making system devices 0, and 2+, invisible. | |
If we have ``ZE_FLAT_DEVICE_HIERARCHY`` set to ``COMPOSITE``, we can have an AFFINITY of “1” for our application to only see device #1 - making system devices 0, and 2+, invisible. |
and the same below
This PR adds some needed environment variable documentation to the git pages.