-
Notifications
You must be signed in to change notification settings - Fork 797
[SYCL] [L0] Recycle immediate command lists for queues in a context. #9409
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
Changes from all commits
72db7cb
62d5354
baa24a5
7824474
b534866
000a439
aad432e
2a43d05
bea7026
ea36e95
39e45ca
8699dff
106d80a
19799a9
5bf03d4
c822848
2a1fc0e
78fe84f
0935d1e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,12 @@ | ||
// REQUIRES: gpu, level_zero, level_zero_dev_kit | ||
// RUN: %{build} %level_zero_options -o %t.out | ||
// RUN: env ZE_DEBUG=-1 %{run} %t.out 2>&1 | FileCheck %s | ||
// RUN: env ZE_DEBUG=1 SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=0 %{run} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-STD | ||
// RUN: env ZE_DEBUG=1 SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{run} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-IMM | ||
// | ||
// Check that queue priority is passed to Level Zero runtime | ||
// This is the last value in the ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC | ||
// | ||
// With immediate command lists the command lists are recycled between queues. | ||
#include <sycl/sycl.hpp> | ||
|
||
void test(sycl::property_list Props) { | ||
|
@@ -17,19 +19,25 @@ void test(sycl::property_list Props) { | |
|
||
int main(int Argc, const char *Argv[]) { | ||
|
||
// CHECK: [getZeQueue]: create queue {{.*}} priority = Normal | ||
// CHECK-STD: [getZeQueue]: create queue {{.*}} priority = Normal | ||
// CHECK-IMM: [getZeQueue]: create queue {{.*}} priority = Normal | ||
test(sycl::property_list{}); | ||
|
||
// CHECK: [getZeQueue]: create queue {{.*}} priority = Normal | ||
// CHECK-STD: [getZeQueue]: create queue {{.*}} priority = Normal | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please either add a CHECK-IMM or a comment why it shouldn't be here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. CHECK-IMM is not needed here precisely because of IMM recycling. |
||
// With immediate command list recycling, a new IMM is not created here. | ||
// CHECK-IMM-NOT: [getZeQueue]: create queue {{.*}} priority = Normal | ||
test({sycl::ext::oneapi::property::queue::priority_normal{}}); | ||
|
||
// CHECK: [getZeQueue]: create queue {{.*}} priority = Low | ||
// CHECK-STD: [getZeQueue]: create queue {{.*}} priority = Low | ||
// CHECK-IMM: [getZeQueue]: create queue {{.*}} priority = Low | ||
test({sycl::ext::oneapi::property::queue::priority_low{}}); | ||
|
||
// CHECK: [getZeQueue]: create queue {{.*}} priority = High | ||
// CHECK-STD: [getZeQueue]: create queue {{.*}} priority = High | ||
// CHECK-IMM: [getZeQueue]: create queue {{.*}} priority = High | ||
test({sycl::ext::oneapi::property::queue::priority_high{}}); | ||
|
||
// CHECK: Queue cannot be constructed with different priorities. | ||
// CHECK-STD: Queue cannot be constructed with different priorities. | ||
// CHECK-IMM: Queue cannot be constructed with different priorities. | ||
try { | ||
test({sycl::ext::oneapi::property::queue::priority_low{}, | ||
sycl::ext::oneapi::property::queue::priority_high{}}); | ||
|
Uh oh!
There was an error while loading. Please reload this page.