Skip to content

[SYCL] Switch from COPY_HOST_PTR to write for devices w/o HUM #3105

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 3 commits into from
Feb 3, 2021

Conversation

sergey-semenov
Copy link
Contributor

@sergey-semenov sergey-semenov commented Jan 27, 2021

Switch from initializing native memory objects with COPY_HOST_PTR to
creating them without a host ptr and following up with a write
operation for devices without host unified memory.

The reasoning behind this change is that some OpenCL runtimes (e. g.
FPGA) use the queue the memory object write is enqueued to as a hint to
which device from the context this memory should be copied to, as
opposed to COPY_HOST_PTR where only the context itself is known. This
led to unnecessary temporary host copy made by the FPGA runtime during
buffer creation.

Switch from initializing native memory objects with COPY_HOST_PTR to
creating them without a host ptr and following up with a write
operation.

The reasoning behind this change is that some OpenCL runtimes (e. g.
FPGA) use the queue the memory object write is enqueued to as a hint to
which device from the context this memory should be copied to, as
opposed to COPY_HOST_PTR where only the context itself is known. This
led to unnecessary temporary host copy made by the FPGA runtime during
buffer creation.
@sergey-semenov sergey-semenov requested a review from a team as a code owner January 27, 2021 13:29
@romanovvlad
Copy link
Contributor

/summary:run

@bader bader merged commit ad8c9d1 into intel:sycl Feb 3, 2021
sergey-semenov added a commit to sergey-semenov/llvm that referenced this pull request Feb 4, 2021
Align the description of how native memory object creation is handled
for unlinked allocation commands with the changes made in intel#3105.
bader pushed a commit that referenced this pull request Feb 4, 2021
…3161)

Align the description of how native memory object creation is handled
for unlinked allocation commands with the changes made in #3105.
iclsrc pushed a commit that referenced this pull request Apr 21, 2025
After KhronosGroup/SPIRV-Tools#6027 spirv-val is
now rejecting `Aligned 0` Memory Operands. This caused various tests to
fail validation with a recent SPIRV-Tools version.

Original commit:
KhronosGroup/SPIRV-LLVM-Translator@ec5d4d6a5a6594d
AlexeySachkov pushed a commit that referenced this pull request May 28, 2025
After KhronosGroup/SPIRV-Tools#6027 spirv-val is
now rejecting `Aligned 0` Memory Operands. This caused various tests to
fail validation with a recent SPIRV-Tools version.

Original commit:
KhronosGroup/SPIRV-LLVM-Translator@ec5d4d6a5a6594d
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.

3 participants