Skip to content

Commit

Permalink
[SYCL][E2E] Fix UR FileCheck conditions to match new traces
Browse files Browse the repository at this point in the history
makes llvm work with this change: oneapi-src/unified-runtime#2101
fixes this bug: oneapi-src/unified-runtime#2002
  • Loading branch information
lslusarczyk committed Sep 25, 2024
1 parent 30578ba commit e11d07d
Show file tree
Hide file tree
Showing 56 changed files with 378 additions and 378 deletions.
16 changes: 8 additions & 8 deletions sycl/cmake/modules/FetchUnifiedRuntime.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -116,14 +116,14 @@ if(SYCL_UR_USE_FETCH_CONTENT)
CACHE PATH "Path to external '${name}' adapter source dir" FORCE)
endfunction()

set(UNIFIED_RUNTIME_REPO "https://github.com/oneapi-src/unified-runtime.git")
# commit 7ecf64d60c31cd72bd88588498536d067bad59d6
# Merge: 17aa04d3 6eb5208b
# Author: aarongreig <aaron.greig@codeplay.com>
# Date: Wed Sep 25 11:14:47 2024 +0100
# Merge pull request #1996 from frasercrmck/ur-max-wg-size-props
# Add two new properties to ur_kernel_group_info_t
set(UNIFIED_RUNTIME_TAG 7ecf64d60c31cd72bd88588498536d067bad59d6)
set(UNIFIED_RUNTIME_REPO "https://github.com/lslusarczyk/unified-runtime.git")
# commit 9ca3ec7a9c1d2f4a362d7e5add103b30271a8a55
# Merge: 7384e2d7 59e5e405
# Author: Piotr Balcer <piotr.balcer@intel.com>
# Date: Mon Sep 23 10:58:51 2024 +0200
# Merge pull request #2113 from oneapi-src/revert-1698-counter-based-2
# Revert "[L0] Phase 2 of Counter-Based Event Implementation"
set(UNIFIED_RUNTIME_TAG 1e4088f7fdc3d2bd9345b41d2b9a2c723a649447)

set(UMF_BUILD_EXAMPLES OFF CACHE INTERNAL "EXAMPLES")
# Due to the use of dependentloadflag and no installer for UMF and hwloc we need
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ int main() {
Q.submit([&](handler &Cgh) {
// Now that we have a read-write host allocation, check that the native
// buffer is created with the UR_MEM_FLAG_USE_HOST_POINTER flag.
// CHECK: urMemBufferCreate
// CHECK: <--- urMemBufferCreate
// CHECK-SAME: UR_MEM_FLAG_USE_HOST_POINTER
auto BufAcc = Buf.get_access<access::mode::read>(Cgh);
Cgh.single_task<Foo>([=]() { int A = BufAcc[0]; });
Expand Down
4 changes: 2 additions & 2 deletions sycl/test-e2e/Basic/buffer/subbuffer_overlap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@ int main() {
for (auto &e : sycl::host_accessor{b})
e = idx++ % size;

// CHECK: urMemBufferPartition
// CHECK: <--- urMemBufferPartition
// CHECK: .origin = 256, .size = 64
q.submit([&](sycl::handler &cgh) {
sycl::accessor acc{sub1, cgh};
cgh.parallel_for(size, [=](auto id) { acc[id] += 1; });
});
// CHECK: urMemBufferPartition
// CHECK: <--- urMemBufferPartition
// CHECK: .origin = 256, .size = 128
q.submit([&](sycl::handler &cgh) {
sycl::accessor acc{sub2, cgh};
Expand Down
4 changes: 2 additions & 2 deletions sycl/test-e2e/Basic/event_release.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ int main() {
// Buffer destruction triggers execution graph cleanup, check that both
// events (one for launching the kernel and one for memory transfer to host)
// are released.
// CHECK: urEventRelease
// CHECK: urEventRelease
// CHECK: <--- urEventRelease
// CHECK: <--- urEventRelease
assert(Val == Gold);
// CHECK: End of main scope
std::cout << "End of main scope" << std::endl;
Expand Down
14 changes: 7 additions & 7 deletions sycl/test-e2e/Basic/fill_accessor_ur.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -129,19 +129,19 @@ int main() {
}

// CHECK: start testFill_Buffer1D
// CHECK: urEnqueueMemBufferFill
// CHECK: <--- urEnqueueMemBufferFill
// CHECK: start testFill_Buffer1D -- OFFSET
// CHECK: urEnqueueMemBufferFill
// CHECK: <--- urEnqueueMemBufferFill

// CHECK: start testFill_Buffer2D
// CHECK: urEnqueueMemBufferFill
// CHECK: <--- urEnqueueMemBufferFill
// CHECK: start testFill_Buffer2D -- OFFSET
// CHECK: urEnqueueKernelLaunch
// CHECK: <--- urEnqueueKernelLaunch

// CHECK: start testFill_Buffer3D
// CHECK: urEnqueueMemBufferFill
// CHECK: <--- urEnqueueMemBufferFill
// CHECK: start testFill_Buffer3D -- OFFSET
// CHECK: urEnqueueKernelLaunch
// CHECK: <--- urEnqueueKernelLaunch

// CHECK: start testFill_ZeroDim
// CHECK: urEnqueueMemBufferFill
// CHECK: <--- urEnqueueMemBufferFill
30 changes: 15 additions & 15 deletions sycl/test-e2e/Basic/kernel_bundle/kernel_bundle_api.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -150,26 +150,26 @@ int main() {

sycl::kernel_bundle<sycl::bundle_state::object> KernelBundleObject1 =
sycl::compile(KernelBundleInput1, KernelBundleInput1.get_devices());
// CHECK:---> urProgramCreate
// CHECK:<--- urProgramCreate
// CHECK-SAME:, .phProgram = {{.*}} ([[PROGRAM_HANDLE1:[0-9a-fA-Fx]+]])
// CHECK-SAME: -> UR_RESULT_SUCCESS;
//
// CHECK:---> urProgramCompile
// CHECK:<--- urProgramCompile
// CHECK-SAME: .hProgram = [[PROGRAM_HANDLE1]]

sycl::kernel_bundle<sycl::bundle_state::object> KernelBundleObject2 =
sycl::compile(KernelBundleInput2, KernelBundleInput2.get_devices());
// CHECK:---> urProgramCreate
// CHECK:<--- urProgramCreate
// CHECK-SAME:, .phProgram = {{.*}} ([[PROGRAM_HANDLE2:[0-9a-fA-Fx]+]])
// CHECK-SAME: -> UR_RESULT_SUCCESS;
//
// CHECK:---> urProgramCompile(
// CHECK:<--- urProgramCompile(
// CHECK-SAME: .hProgram = [[PROGRAM_HANDLE2]]

sycl::kernel_bundle<sycl::bundle_state::executable> KernelBundleExecutable =
sycl::link({KernelBundleObject1, KernelBundleObject2},
KernelBundleObject1.get_devices());
// CHECK:---> urProgramLink{{.*}} -> UR_RESULT_SUCCESS;
// CHECK:<--- urProgramLink{{.*}} -> UR_RESULT_SUCCESS;
// UR tracing doesn't allow checking for all input programs so far.

assert(KernelBundleExecutable.has_kernel(Kernel1ID));
Expand All @@ -179,14 +179,14 @@ int main() {
KernelBundleExecutable2 =
sycl::build(KernelBundleInput1, KernelBundleInput1.get_devices());

// CHECK:---> urProgramCreate
// CHECK:<--- urProgramCreate
// CHECK-SAME:, .phProgram = {{.*}} ([[PROGRAM_HANDLE3:[0-9a-fA-Fx]+]])
// CHECK-SAME: -> UR_RESULT_SUCCESS;
//
// CHECK:---> urProgramBuild(
// CHECK:<--- urProgramBuild(
// CHECK-SAME: .hProgram = [[PROGRAM_HANDLE3]]
//
// CHECK:---> urProgramRetain(
// CHECK:<--- urProgramRetain(
// CHECK-SAME: .hProgram = [[PROGRAM_HANDLE3]]
// CHECK-SAME:-> UR_RESULT_SUCCESS;

Expand All @@ -204,31 +204,31 @@ int main() {
sycl::kernel_bundle KernelBundleExecutable =
sycl::get_kernel_bundle<sycl::bundle_state::executable>(Ctx, {Dev},
{Kernel3ID});
// CHECK:---> urProgramCreate
// CHECK:<--- urProgramCreate
// CHECK-SAME:, .phProgram = {{.*}} ([[PROGRAM_HANDLE4:[0-9a-fA-Fx]+]])
// CHECK-SAME: -> UR_RESULT_SUCCESS;
//
// CHECK:---> urProgramBuild(
// CHECK:<--- urProgramBuild(
// CHECK-SAME: .hProgram = [[PROGRAM_HANDLE4]]
//
// CHECK:---> urProgramRetain(
// CHECK:<--- urProgramRetain(
// CHECK-SAME: .hProgram = [[PROGRAM_HANDLE4]]
// CHECK-SAME:-> UR_RESULT_SUCCESS;
//
// CHECK:---> urKernelCreate(
// CHECK:<--- urKernelCreate(
// CHECK-SAME: .hProgram = [[PROGRAM_HANDLE4]]
// CHECK-SAME: .pKernelName = {{[0-9a-fA-Fx]+}} (_ZTS11Kernel3Name)
// CHECK-SAME: .phKernel = {{[0-9a-fA-Fx]+}} ([[KERNEL_HANDLE:[0-9a-fA-Fx]+]])
// CHECK-SAME: -> UR_RESULT_SUCCESS;
//
// CHECK:---> urKernelRetain(
// CHECK:<--- urKernelRetain(
// CHECK-SAME: .hKernel = [[KERNEL_HANDLE]]
// CHECK-SAME:-> UR_RESULT_SUCCESS;
//
// CHECK:---> urEnqueueKernelLaunch(
// CHECK:<--- urEnqueueKernelLaunch(
// CHECK-SAME: .hKernel = [[KERNEL_HANDLE]]
//
// CHECK:---> urKernelRelease(
// CHECK:<--- urKernelRelease(
// CHECK-SAME: .hKernel = [[KERNEL_HANDLE]]
// CHECK-SAME:-> UR_RESULT_SUCCESS;

Expand Down
14 changes: 7 additions & 7 deletions sycl/test-e2e/Basic/queue/release.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ int main() {
return 0;
}

// CHECK: ---> urEnqueueKernelLaunch(
// CHECK: <--- urEnqueueKernelLaunch(
// FIXME the order of these 2 varies between plugins due to a Level Zero
// specific queue workaround.
// CHECK-DAG: ---> urEventRelease(
// CHECK-DAG: ---> urQueueRelease(
// CHECK: ---> urContextRelease(
// CHECK: ---> urKernelRelease(
// CHECK: ---> urProgramRelease(
// CHECK: ---> urDeviceRelease(
// CHECK-DAG: <--- urEventRelease(
// CHECK-DAG: <--- urQueueRelease(
// CHECK: <--- urContextRelease(
// CHECK: <--- urKernelRelease(
// CHECK: <--- urProgramRelease(
// CHECK: <--- urDeviceRelease(
72 changes: 36 additions & 36 deletions sycl/test-e2e/Basic/subdevice_pi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,36 +51,36 @@ static bool check_separate(device dev, buffer<int, 1> buf,
std::vector<device> subdevices = partition(dev);
assert(subdevices.size() > 1);
// CHECK-SEPARATE: Create sub devices
// CHECK-SEPARATE: ---> urDevicePartition
// CHECK-SEPARATE: <--- urDevicePartition

log_pi("Test sub device 0");
{
queue q0(subdevices[0]);
use_mem(buf, q0);
}
// CHECK-SEPARATE: Test sub device 0
// CHECK-SEPARATE: ---> urContextCreate
// CHECK-SEPARATE: ---> urQueueCreate
// CHECK-SEPARATE: ---> urMemBufferCreate
// CHECK-SEPARATE: ---> urEnqueueKernelLaunch
// CHECK-SEPARATE: ---> urQueueFinish
// CHECK-SEPARATE: <--- urContextCreate
// CHECK-SEPARATE: <--- urQueueCreate
// CHECK-SEPARATE: <--- urMemBufferCreate
// CHECK-SEPARATE: <--- urEnqueueKernelLaunch
// CHECK-SEPARATE: <--- urQueueFinish

log_pi("Test sub device 1");
{
queue q1(subdevices[1]);
use_mem(buf, q1);
}
// CHECK-SEPARATE: Test sub device 1
// CHECK-SEPARATE: ---> urContextCreate
// CHECK-SEPARATE: ---> urQueueCreate
// CHECK-SEPARATE: ---> urMemBufferCreate
// CHECK-SEPARATE: <--- urContextCreate
// CHECK-SEPARATE: <--- urQueueCreate
// CHECK-SEPARATE: <--- urMemBufferCreate
//
// Verify that we have a memcpy between subdevices in this case
// CHECK-SEPARATE: ---> urEnqueueMemBuffer{{Map|Read}}
// CHECK-SEPARATE: ---> urEnqueueMemBufferWrite
// CHECK-SEPARATE: <--- urEnqueueMemBuffer{{Map|Read}}
// CHECK-SEPARATE: <--- urEnqueueMemBufferWrite
//
// CHECK-SEPARATE: ---> urEnqueueKernelLaunch
// CHECK-SEPARATE: ---> urQueueFinish
// CHECK-SEPARATE: <--- urEnqueueKernelLaunch
// CHECK-SEPARATE: <--- urQueueFinish

return true;
}
Expand All @@ -91,14 +91,14 @@ static bool check_shared_context(device dev, buffer<int, 1> buf,
std::vector<device> subdevices = partition(dev);
assert(subdevices.size() > 1);
// CHECK-SHARED: Create sub devices
// CHECK-SHARED: ---> urDevicePartition
// CHECK-SHARED: <--- urDevicePartition

// Shared context: queues are bound to specific subdevices, but
// memory does not migrate
log_pi("Create shared context");
context shared_context(subdevices);
// CHECK-SHARED: Create shared context
// CHECK-SHARED: ---> urContextCreate
// CHECK-SHARED: <--- urContextCreate
//
// Make sure that a single context is created: see --implicit-check-not above.

Expand All @@ -108,25 +108,25 @@ static bool check_shared_context(device dev, buffer<int, 1> buf,
use_mem(buf, q0);
}
// CHECK-SHARED: Test sub device 0
// CHECK-SHARED: ---> urQueueCreate
// CHECK-SHARED: ---> urMemBufferCreate
// CHECK-SHARED: <--- urQueueCreate
// CHECK-SHARED: <--- urMemBufferCreate
//
// Make sure that a single buffer is created (and shared between subdevices):
// see --implicit-check-not above.
//
// CHECK-SHARED: ---> urEnqueueKernelLaunch
// CHECK-SHARED: ---> urQueueFinish
// CHECK-SHARED: <--- urEnqueueKernelLaunch
// CHECK-SHARED: <--- urQueueFinish

log_pi("Test sub device 1");
{
queue q1(shared_context, subdevices[1]);
use_mem(buf, q1);
}
// CHECK-SHARED: Test sub device 1
// CHECK-SHARED: ---> urQueueCreate
// CHECK-SHARED: ---> urEnqueueKernelLaunch
// CHECK-SHARED: ---> urQueueFinish
// CHECK-SHARED: ---> urEnqueueMemBufferRead
// CHECK-SHARED: <--- urQueueCreate
// CHECK-SHARED: <--- urEnqueueKernelLaunch
// CHECK-SHARED: <--- urQueueFinish
// CHECK-SHARED: <--- urEnqueueMemBufferRead

return true;
}
Expand All @@ -137,7 +137,7 @@ static bool check_fused_context(device dev, buffer<int, 1> buf,
std::vector<device> subdevices = partition(dev);
assert(subdevices.size() > 1);
// CHECK-FUSED: Create sub devices
// CHECK-FUSED: ---> urDevicePartition
// CHECK-FUSED: <--- urDevicePartition

// Fused context: same as shared context, but also includes the root device
log_pi("Create fused context");
Expand All @@ -147,7 +147,7 @@ static bool check_fused_context(device dev, buffer<int, 1> buf,
devices.push_back(subdevices[1]);
context fused_context(devices);
// CHECK-FUSED: Create fused context
// CHECK-FUSED: ---> urContextCreate
// CHECK-FUSED: <--- urContextCreate
//
// Make sure that a single context is created: see --implicit-check-not above.

Expand All @@ -157,35 +157,35 @@ static bool check_fused_context(device dev, buffer<int, 1> buf,
use_mem(buf, q);
}
// CHECK-FUSED: Test root device
// CHECK-FUSED: ---> urQueueCreate
// CHECK-FUSED: ---> urMemBufferCreate
// CHECK-FUSED: <--- urQueueCreate
// CHECK-FUSED: <--- urMemBufferCreate
//
// Make sure that a single buffer is created (and shared between subdevices
// *and* the root device): see --implicit-check-not above.
//
// CHECK-FUSED: ---> urEnqueueKernelLaunch
// CHECK-FUSED: ---> urQueueFinish
// CHECK-FUSED: <--- urEnqueueKernelLaunch
// CHECK-FUSED: <--- urQueueFinish

log_pi("Test sub device 0");
{
queue q0(fused_context, subdevices[0]);
use_mem(buf, q0);
}
// CHECK-FUSED: Test sub device 0
// CHECK-FUSED: ---> urQueueCreate
// CHECK-FUSED: ---> urEnqueueKernelLaunch
// CHECK-FUSED: ---> urQueueFinish
// CHECK-FUSED: <--- urQueueCreate
// CHECK-FUSED: <--- urEnqueueKernelLaunch
// CHECK-FUSED: <--- urQueueFinish

log_pi("Test sub device 1");
{
queue q1(fused_context, subdevices[1]);
use_mem(buf, q1);
}
// CHECK-FUSED: Test sub device 1
// CHECK-FUSED: ---> urQueueCreate
// CHECK-FUSED: ---> urEnqueueKernelLaunch
// CHECK-FUSED: ---> urQueueFinish
// CHECK-FUSED: ---> urEnqueueMemBufferRead
// CHECK-FUSED: <--- urQueueCreate
// CHECK-FUSED: <--- urEnqueueKernelLaunch
// CHECK-FUSED: <--- urQueueFinish
// CHECK-FUSED: <--- urEnqueueMemBufferRead

return true;
}
Expand Down
14 changes: 7 additions & 7 deletions sycl/test-e2e/DeviceCodeSplit/grf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -139,16 +139,16 @@ int main(void) {
return 0;
}

// CHECK-LABEL: ---> urProgramBuild
// CHECK-LABEL: <--- urProgramBuild
// CHECK-WITH-VAR-SAME: -g
// CHECK-SAME: -> UR_RESULT_SUCCESS

// CHECK: ---> urKernelCreate({{.*}}SingleGRF{{.*}}-> UR_RESULT_SUCCESS
// CHECK: <--- urKernelCreate({{.*}}SingleGRF{{.*}}-> UR_RESULT_SUCCESS

// CHECK-NO-VAR: urProgramBuild{{.*}}-ze-opt-large-register-file
// CHECK-WITH-VAR: urProgramBuild{{.*}}-g -ze-opt-large-register-file
// CHECK-AUTO-NO-VAR: urProgramBuild{{.*}}-ze-intel-enable-auto-large-GRF-mode
// CHECK-AUTO-WITH-VAR: urProgramBuild{{.*}}-g -ze-intel-enable-auto-large-GRF-mode
// CHECK-NO-VAR: <--- urProgramBuild{{.*}}-ze-opt-large-register-file
// CHECK-WITH-VAR: <--- urProgramBuild{{.*}}-g -ze-opt-large-register-file
// CHECK-AUTO-NO-VAR: <--- urProgramBuild{{.*}}-ze-intel-enable-auto-large-GRF-mode
// CHECK-AUTO-WITH-VAR: <--- urProgramBuild{{.*}}-g -ze-intel-enable-auto-large-GRF-mode
// CHECK-SAME: -> UR_RESULT_SUCCESS

// CHECK: ---> urKernelCreate({{.*}}SpecifiedGRF{{.*}}-> UR_RESULT_SUCCESS
// CHECK: <--- urKernelCreate({{.*}}SpecifiedGRF{{.*}}-> UR_RESULT_SUCCESS
2 changes: 1 addition & 1 deletion sycl/test-e2e/DeviceLib/assert-windows.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
// [{{[0-3]}},0,0], local id: [{{[0-3]}},0,0] Assertion `accessorC[wiID] == 0 &&
// "Invalid value"` failed.
//
// CHECK-FALLBACK: ---> urProgramLink
// CHECK-FALLBACK: <--- urProgramLink

#include "../helpers.hpp"
#include <array>
Expand Down
Loading

0 comments on commit e11d07d

Please sign in to comment.