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

[CL] Add UR handles to OpenCL adapter #1176

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

omarahmed1111
Copy link
Contributor

@omarahmed1111 omarahmed1111 commented Dec 11, 2023

Redesign OpenCL adapter by adding UR handles and get rid of the casting of the UR handles to OPENCL handles.

intel/llvm#12172

@omarahmed1111 omarahmed1111 force-pushed the Add-handles-to-opencl-adapter branch from 528ca1a to 26bd60a Compare December 11, 2023 14:05
@codecov-commenter
Copy link

codecov-commenter commented Dec 11, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 12.43%. Comparing base (78ef1ca) to head (97dbfd0).
Report is 199 commits behind head on main.

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1176      +/-   ##
==========================================
- Coverage   14.82%   12.43%   -2.40%     
==========================================
  Files         250      241       -9     
  Lines       36220    36242      +22     
  Branches     4094     4111      +17     
==========================================
- Hits         5369     4506     -863     
- Misses      30800    31732     +932     
+ Partials       51        4      -47     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@omarahmed1111 omarahmed1111 force-pushed the Add-handles-to-opencl-adapter branch 3 times, most recently from ceb8b8e to ff5ebc1 Compare December 14, 2023 10:45
@omarahmed1111 omarahmed1111 changed the title [OPENCL] Redesign FuncPtrExtCache by adding UR handles to OPENCL adapter [OPENCL] Add UR handles to OPENCL adapter Dec 14, 2023
@omarahmed1111 omarahmed1111 force-pushed the Add-handles-to-opencl-adapter branch 10 times, most recently from f7b0de5 to 66d5282 Compare December 20, 2023 15:40
@omarahmed1111 omarahmed1111 force-pushed the Add-handles-to-opencl-adapter branch 2 times, most recently from adb6b3d to 4777b93 Compare December 22, 2023 23:05
@omarahmed1111 omarahmed1111 force-pushed the Add-handles-to-opencl-adapter branch 3 times, most recently from 11b092b to ff193b2 Compare January 12, 2024 13:56
@omarahmed1111 omarahmed1111 marked this pull request as ready for review January 12, 2024 14:34
@omarahmed1111 omarahmed1111 requested review from a team as code owners January 12, 2024 14:34
@omarahmed1111 omarahmed1111 force-pushed the Add-handles-to-opencl-adapter branch from ff193b2 to 2821682 Compare January 12, 2024 17:30
@omarahmed1111 omarahmed1111 force-pushed the Add-handles-to-opencl-adapter branch 2 times, most recently from ab61e80 to 61ba805 Compare January 16, 2024 11:23
@RossBrunton RossBrunton force-pushed the Add-handles-to-opencl-adapter branch from 0d1aabc to da306ba Compare January 31, 2025 11:51
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Jan 31, 2025
@RossBrunton RossBrunton force-pushed the Add-handles-to-opencl-adapter branch from da306ba to de1ad89 Compare February 12, 2025 13:01
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 13, 2025
@RossBrunton RossBrunton force-pushed the Add-handles-to-opencl-adapter branch from de1ad89 to 0644512 Compare February 13, 2025 14:50
@github-actions github-actions bot added loader Loader related feature/bug specification Changes or additions to the specification labels Feb 13, 2025
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 14, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 14, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 14, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 14, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 14, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 14, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 14, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 17, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 18, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 18, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 19, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 19, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
@martygrant
Copy link
Contributor

Unified Runtime -> intel/llvm Repo Move Notice

Information

The source code of Unified Runtime has been moved to intel/llvm under the unified-runtime top-level directory,
all future development will now be carried out there. This was done in intel/llvm#17043.

The code will be mirrored to oneapi-src/unified-runtime and the specification will continue to be hosted at oneapi-src.github.io/unified-runtime.

The contribution guide has been updated with new instructions for contributing to Unified Runtime.

PR Migration

All open PRs including this one will be labelled auto-close and shall be automatically closed after 30 days.
To allow for some breathing space, this automation will not be enabled until next week (27/02/2025).

Should you wish to continue with your PR you will need to migrate it to intel/llvm.
We have provided a script to help automate this process.


This is an automated comment.

RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 20, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 20, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 20, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 24, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 24, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 24, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 24, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
RossBrunton added a commit to RossBrunton/intel-llvm that referenced this pull request Feb 25, 2025
At various points, OpenCL native handles need to be retained to ensure
SYCL semantics. Previously, this relied on the fact that UR handles were
typecast CL handles and shared the same reference count.

However, the SYCL RT shouldn't assume this, so instead we call the
appropriate (dynamically looked-up) CL functions on the native handles
instead.

This is in preperation for oneapi-src/unified-runtime#1176 .

This change should also have no observable effect for SYCL code; there
is no change in lifetime semantics.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
command-buffer Command Buffer feature addition/changes/specification conformance Conformance test suite issues. loader Loader related feature/bug opencl OpenCL adapter specific issues specification Changes or additions to the specification
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants