Skip to content
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

[SYCL][Docs] Add sycl_ext_oneapi_virtual_mem extension and implementation #8954

Merged
merged 135 commits into from
Jul 1, 2024

Conversation

steffenlarsen
Copy link
Contributor

This commit adds the sycl_ext_oneapi_virtual_mem experimental extension for reserving and mapping virtual address ranges. Accompanying it is the implementation in the SYCL runtime, together with CUDA and Level Zero backend support for the corresponding features.

…tion

This commit adds the sycl_ext_oneapi_virtual_mem experimental extension
for reserving and mapping virtual address ranges. Accompanying it is the
implementation in the SYCL runtime, together with CUDA and Level Zero
backend support for the corresponding features.

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
@steffenlarsen steffenlarsen requested a review from a team April 5, 2023 15:27
@steffenlarsen
Copy link
Contributor Author

/testwin

@steffenlarsen steffenlarsen temporarily deployed to aws April 5, 2023 15:33 — with GitHub Actions Inactive
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
// RUN: %GPU_RUN_PLACEHOLDER %t.out
// RUN: %ACC_RUN_PLACEHOLDER %t.out

// TODO: Require ext_oneapi_virtual_mem aspect here when supported.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe use the feature test macro as well.

@steffenlarsen steffenlarsen temporarily deployed to aws April 5, 2023 16:06 — with GitHub Actions Inactive
Working with virtual address ranges and the underlying physical memory requires
the user to align and adjust in accordance with a specified minimum granularity.
In addition, devices can have a recommended granularity which may different from
the minimum granularity and can be used instead of the minimum granularity.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In addition, devices can have a recommended granularity which may different from
the minimum granularity and can be used instead of the minimum granularity.

I would rephrase this to make it clearer.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried rephrasing it. Is this what you had in mind?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe:

-> In addition, adapters may return a recommended granularity to potentially achieve higher performance. Distinction between minimum and recommended is adapters-specific and may vary between devices.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like that. I've changed it a little to refer to common SYCL concepts but otherwise I'm good with the message. Thanks!

@steffenlarsen steffenlarsen temporarily deployed to aws April 5, 2023 17:34 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws April 5, 2023 20:17 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws April 5, 2023 21:31 — with GitHub Actions Inactive
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
@steffenlarsen steffenlarsen temporarily deployed to aws April 6, 2023 08:13 — with GitHub Actions Inactive
Copy link
Contributor

@EwanC EwanC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some very minor spec comments from a quick read through to understand what this extension is about.

@steffenlarsen steffenlarsen temporarily deployed to aws April 6, 2023 08:45 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws April 6, 2023 09:25 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws April 6, 2023 09:57 — with GitHub Actions Inactive
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
@steffenlarsen steffenlarsen temporarily deployed to aws April 6, 2023 13:29 — with GitHub Actions Inactive
@steffenlarsen steffenlarsen temporarily deployed to aws April 6, 2023 14:00 — with GitHub Actions Inactive
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Copy link
Contributor

@gmlueck gmlueck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spec changes LGTM

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
@steffenlarsen steffenlarsen merged commit 088bea6 into intel:sycl Jul 1, 2024
15 checks passed
KseniyaTikhomirova pushed a commit to KseniyaTikhomirova/llvm that referenced this pull request Jul 1, 2024
…tion (intel#8954)

This commit adds the sycl_ext_oneapi_virtual_mem experimental extension
for reserving and mapping virtual address ranges. Accompanying it is the
implementation in the SYCL runtime, together with CUDA and Level Zero
backend support for the corresponding features.

---------

Signed-off-by: Larsen, Steffen <steffen.larsen@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.