-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL] Try to enqueue host command depencies #2561
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
againull
merged 21 commits into
intel:sycl
from
s-kanaev:private/s-kanaev/ht-workaround-3
Oct 1, 2020
Merged
[SYCL] Try to enqueue host command depencies #2561
againull
merged 21 commits into
intel:sycl
from
s-kanaev:private/s-kanaev/ht-workaround-3
Oct 1, 2020
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
Signed-off-by: Sergey Kanaev <sergey.kanaev@intel.com>
DenisBakhvalov
approved these changes
Sep 30, 2020
againull
approved these changes
Oct 1, 2020
/summary:run |
alexbatashev
pushed a commit
to alexbatashev/llvm
that referenced
this pull request
Oct 5, 2020
…_wrapper * upstream/sycl: (1021 commits) [SYCL] Enable async_work_group_copy for scalar and vector bool types (intel#2582) [SYCL] Fix element type in handler::copy (intel#2590) [NFC][SYCL] Remove unnecessary if condition (intel#2585) [SYCL][NFC] Fix SYCL lit test execution on a system w/o GPU (intel#2584) [SYCL] Add error handling for non-uniform work group size case (intel#2569) [SYCL][ESIMD] Preserve undef initializer for globals in ESIMDLowerVecArg pass (intel#2555) [SYCL] Make Level-Zero events visible on the host (intel#2576) [Driver][SYCL][NFC] Add help information for -Wno-sycl-strict (intel#2570) [SYCL] Relax test to work in Win32 environment. (intel#2580) [SYCL] Emit suppressed warnings from SYCL headers (intel#2575) [SYCL][NFC] Cover more classes with ABI tests (intel#2577) [SYCL][ESIMD] Update ESIMD tests and add raw send support. (intel#2482) [SYCL] Make ESIMD on-device tests require linux,gpu,opencl. (intel#2560) [SYCL] Release commands with no dependencies after they're enqueued (intel#2492) [SYCL] Add multi-device and multi-platform support for SYCL_DEVICE_ALLOWLIST (intel#2483) [SYCL] Try to enqueue host command depencies (intel#2561) [SYCL][ESIMD][NFC] Align namespace name with the spec guidelines (intel#2573) [SYCL][NFC] Add class layout ABI tests for memory objects (intel#2559) [SYCL] Change adress space for global variables (intel#2534) [NFC][SYCL] Fix comment. (intel#2541) ...
jsji
pushed a commit
that referenced
this pull request
May 16, 2024
Various tests already declare `REQUIRES: spirv-dis`, but this feature was never enabled so those tests were always skipped as "unsupported". Original commit: KhronosGroup/SPIRV-LLVM-Translator@08835f4d85ec5c8
kbenzie
added a commit
to kbenzie/intel-llvm
that referenced
this pull request
Feb 17, 2025
[L0][CMDBUF] Optimize fence/event waits during update
Chenyang-L
pushed a commit
that referenced
this pull request
Feb 18, 2025
[L0][CMDBUF] Optimize fence/event waits during update
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Let's have this part of dependency graph:
EC1
andEC2
are of helper typeEmptyCommand
. Both are blocked.C1
andC2
are of any other type which represents some meaningful operation i.e. the one that actually does something useful, likeExecCGCommand
with a host task orUpdateHostReqCommand
for host accessor.This part of graph is result of two submissions: the first one adds
EC1 -> C1
and the second addsEC2 -> C2 -> EC1
.The submission process in both cases adds the corresponding
Cx
command in first place and then adds the empty commandECx
. WhenCx
is added to the graph it's also added to list of leaves for corresponding memory record. Now, whenECx
is added to graph it removes correspondingCx
from list of leaves.ECx
is added to the list instead ofCx
. Blocked state ofECx
prevents it from being enqueued.Upon the second submission,
C2
isn't going to be enqueued right away as it depends on blockedEC1
.When
C1
finishes (whether it is a host task or host accessor's update command) SYCL RT will unblockEC1
and trigger enqueue process for leaves of memory recordsC1
was depending by. Eventually, RT will enqueue theEC1
which will set its event into complete state. Though,EC2
isn't going to be enqueued due to it's blocked state. Neither does its dependencies.PR with test: #2540
PR with comment fix: #2541