Skip to content

[SYCL] Implement sycl_ext_oneapi_device_architecture on host for Level Zero and OpenCL #9843

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

Merged
merged 17 commits into from
Jun 30, 2023

Conversation

dm-vodopyanov
Copy link
Contributor

@dm-vodopyanov dm-vodopyanov commented Jun 13, 2023

…nd OpenCL

This patch introduces new host API for
sycl_ext_oneapi_device_architecture extension and implements it,
currently only for Level Zero and OpenCL

Depends on oneapi-src/unified-runtime#573
@dm-vodopyanov dm-vodopyanov requested review from a team as code owners June 13, 2023 13:22
@dm-vodopyanov dm-vodopyanov requested a review from againull June 13, 2023 13:22
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws June 13, 2023 13:31 — with GitHub Actions Inactive
@dm-vodopyanov dm-vodopyanov changed the title [SYCL] Implement sycl_ext_oneapi_device_architecture for Level Zero and OpenCL [SYCL] Implement sycl_ext_oneapi_device_architecture on host for Level Zero and OpenCL Jun 13, 2023
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws June 13, 2023 13:52 — with GitHub Actions Inactive
@AlexeySachkov
Copy link
Contributor

@intel/sycl-language-enabling-triage: FYI

@dm-vodopyanov
Copy link
Contributor Author

Currently the compilation fails because of many unrelated to this patch API breaks in Unified Runtime (this patch updates Unified Runtime, because the small change merged to Unified Runtime is needed here), so need to update Unified Runtime in the separate patch and try to fix these API breaks in it.

dm-vodopyanov added a commit to dm-vodopyanov/llvm that referenced this pull request Jun 14, 2023
…RSION

This should have been an obvious update of Unified Runtime sources to support
UR_DEVICE_INFO_IP_VERSION, required in
intel#9843, but this update brought
many API breaks mostly caused by this patch:
oneapi-src/unified-runtime#536
@@ -388,6 +388,8 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(
uint32_t{1});
case UR_DEVICE_INFO_GLOBAL_MEM_CACHE_SIZE:
return ReturnValue(uint64_t{Device->ZeDeviceCacheProperties->cacheSize});
case UR_DEVICE_INFO_IP_VERSION:
Copy link
Contributor

Choose a reason for hiding this comment

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

changes in L0 files look good.

dm-vodopyanov added a commit to dm-vodopyanov/llvm that referenced this pull request Jun 19, 2023
This patch updates Level Zero Loader to version v1.11.0 because the
previous version does not support implementation of oneapi-src/level-zero-spec#23
Level Zero extension, required for implementing
sycl_ext_oneapi_device_architecture on host

Addresses intel#9843 (comment)
steffenlarsen pushed a commit that referenced this pull request Jun 20, 2023
This patch updates Level Zero Loader to version v1.11.0 because
the previous version does not support implementation of 
oneapi-src/level-zero-spec#23 Level Zero
extension, required for
implementing sycl_ext_oneapi_device_architecture on host

Addresses #9843 (comment)
@dm-vodopyanov
Copy link
Contributor Author

dm-vodopyanov commented Jun 20, 2023

After #9873 is merged, this PR will be updated with the recent changes from intel/llvm, and info about Level Zero loader will be removed from PR description.

Current failures in pre-commit are due to #9873 is not merged yet.

@dm-vodopyanov dm-vodopyanov temporarily deployed to aws June 29, 2023 22:10 — with GitHub Actions Inactive
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws June 29, 2023 22:14 — with GitHub Actions Inactive
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws June 30, 2023 00:02 — with GitHub Actions Inactive
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws June 30, 2023 00:11 — with GitHub Actions Inactive
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws June 30, 2023 08:09 — with GitHub Actions Inactive
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws June 30, 2023 08:10 — with GitHub Actions Inactive
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws June 30, 2023 09:29 — with GitHub Actions Inactive
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws June 30, 2023 09:32 — with GitHub Actions Inactive
@dm-vodopyanov
Copy link
Contributor Author

The driver on Windows CI machines seems to have been updated, but we still have device IP == 0 in pre-commit.
@jandres742 could you please check, does https://www.intel.com/content/www/us/en/download/726609/intel-arc-iris-xe-graphics-whql-windows.html have the implementation for device IP Level Zero/OpenCL extension?

Meanwhile, I will mark the test as XFAIL on Windows, so when we will get proper driver on Windows CI machines, the test started to pass, and we can enable it for Windows.

@dm-vodopyanov dm-vodopyanov temporarily deployed to aws June 30, 2023 10:20 — with GitHub Actions Inactive
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws June 30, 2023 12:02 — with GitHub Actions Inactive
@dm-vodopyanov
Copy link
Contributor Author

All failures are unrelated.

  • SYCL Pre Commit / Linux / SYCL E2E on Intel CPU/GEN9 GPU (pull_request_target)
Failed Tests (1):
  SYCL :: ESIMD/accessor_local.cpp
  • SYCL Pre Commit / Linux / HIP AMDGPU LLVM Test Suite (pull_request_target)
Failed Tests (5):
  SYCL :: Basic/span.cpp
  SYCL :: USM/memops2d/copy2d_device_to_host.cpp
  SYCL :: USM/memops2d/copy2d_host_to_device.cpp
  SYCL :: USM/memops2d/memcpy2d_device_to_host.cpp
  SYCL :: USM/memops2d/memcpy2d_host_to_device.cpp
  • SYCL Pre Commit / Linux / [AWS] CUDA LLVM Test Suite (pull_request_target)

  • SYCL Pre Commit / Windows / L0 GEN12 LLVM Test Suite (pull_request_target)

Failed Tests (1):
  SYCL :: ESIMD/api/functional/operators/operator_assignment_glb_mask.cpp

@dm-vodopyanov dm-vodopyanov merged commit d0b01b2 into intel:sycl Jun 30, 2023
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws July 3, 2023 00:59 — with GitHub Actions Inactive
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws July 3, 2023 00:59 — with GitHub Actions Inactive
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws July 3, 2023 01:04 — with GitHub Actions Inactive
@dm-vodopyanov dm-vodopyanov temporarily deployed to aws July 3, 2023 01:04 — with GitHub Actions Inactive
@jandres742
Copy link
Contributor

The driver on Windows CI machines seems to have been updated, but we still have device IP == 0 in pre-commit. @jandres742 could you please check, does https://www.intel.com/content/www/us/en/download/726609/intel-arc-iris-xe-graphics-whql-windows.html have the implementation for device IP Level Zero/OpenCL extension?

Meanwhile, I will mark the test as XFAIL on Windows, so when we will get proper driver on Windows CI machines, the test started to pass, and we can enable it for Windows.

@dm-vodopyanov Windows drivers are usually behind in terms of L0 version. We would have to wait for next release.

veselypeta pushed a commit to veselypeta/llvm that referenced this pull request Sep 21, 2023
…RSION (intel#9873)

This should have been an obvious update of Unified Runtime tag to
support UR_DEVICE_INFO_IP_VERSION, required in
intel#9843 (just tag update, nothing else),
but it also brought many API breaks caused by this patch:
oneapi-src/unified-runtime#536. So the current
PR updates our codebase in accordance with changed UR API.

---------

Signed-off-by: Dmitry Vodopyanov <[email protected]>
Co-authored-by: Callum Fare <[email protected]>
Co-authored-by: Jaime Arteaga <[email protected]>
veselypeta pushed a commit to veselypeta/llvm that referenced this pull request Sep 21, 2023
…l Zero and OpenCL (intel#9843)

This patch introduces new host API for
sycl_ext_oneapi_device_architecture extension and implements it,
currently only for Level Zero and OpenCL

Depends on 

- oneapi-src/unified-runtime#573
- intel#9873
- intel#9979
- intel#10054
fabiomestre pushed a commit to fabiomestre/llvm that referenced this pull request Sep 26, 2023
…RSION (intel#9873)

This should have been an obvious update of Unified Runtime tag to
support UR_DEVICE_INFO_IP_VERSION, required in
intel#9843 (just tag update, nothing else),
but it also brought many API breaks caused by this patch:
oneapi-src/unified-runtime#536. So the current
PR updates our codebase in accordance with changed UR API.

---------

Signed-off-by: Dmitry Vodopyanov <[email protected]>
Co-authored-by: Callum Fare <[email protected]>
Co-authored-by: Jaime Arteaga <[email protected]>
fabiomestre pushed a commit to fabiomestre/unified-runtime that referenced this pull request Sep 26, 2023
…RSION (#9873)

This should have been an obvious update of Unified Runtime tag to
support UR_DEVICE_INFO_IP_VERSION, required in
intel/llvm#9843 (just tag update, nothing else),
but it also brought many API breaks caused by this patch:
oneapi-src#536. So the current
PR updates our codebase in accordance with changed UR API.

---------

Signed-off-by: Dmitry Vodopyanov <[email protected]>
Co-authored-by: Callum Fare <[email protected]>
Co-authored-by: Jaime Arteaga <[email protected]>
fabiomestre pushed a commit to oneapi-src/unified-runtime that referenced this pull request Sep 27, 2023
…RSION (#9873)

This should have been an obvious update of Unified Runtime tag to
support UR_DEVICE_INFO_IP_VERSION, required in
intel/llvm#9843 (just tag update, nothing else),
but it also brought many API breaks caused by this patch:
#536. So the current
PR updates our codebase in accordance with changed UR API.

---------

Signed-off-by: Dmitry Vodopyanov <[email protected]>
Co-authored-by: Callum Fare <[email protected]>
Co-authored-by: Jaime Arteaga <[email protected]>
omarahmed1111 pushed a commit to omarahmed1111/unified-runtime that referenced this pull request Oct 23, 2023
…RSION (#9873)

This should have been an obvious update of Unified Runtime tag to
support UR_DEVICE_INFO_IP_VERSION, required in
intel/llvm#9843 (just tag update, nothing else),
but it also brought many API breaks caused by this patch:
oneapi-src#536. So the current
PR updates our codebase in accordance with changed UR API.

---------

Signed-off-by: Dmitry Vodopyanov <[email protected]>
Co-authored-by: Callum Fare <[email protected]>
Co-authored-by: Jaime Arteaga <[email protected]>
omarahmed1111 pushed a commit to omarahmed1111/unified-runtime that referenced this pull request Oct 23, 2023
…RSION (#9873)

This should have been an obvious update of Unified Runtime tag to
support UR_DEVICE_INFO_IP_VERSION, required in
intel/llvm#9843 (just tag update, nothing else),
but it also brought many API breaks caused by this patch:
oneapi-src#536. So the current
PR updates our codebase in accordance with changed UR API.

---------

Signed-off-by: Dmitry Vodopyanov <[email protected]>
Co-authored-by: Callum Fare <[email protected]>
Co-authored-by: Jaime Arteaga <[email protected]>
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.

7 participants