Skip to content

Commit

Permalink
Run FileCheck in new lit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
EwanC committed Jan 9, 2024
1 parent bad026b commit a4576b4
Show file tree
Hide file tree
Showing 6 changed files with 94 additions and 70 deletions.
26 changes: 23 additions & 3 deletions sycl/test-e2e/Graph/Explicit/memadvise.cpp
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
// RUN: %{build} -o %t.out
// RUN: env SYCL_PI_TRACE=2 %{run} %t.out

// CHECK: piextCommandBufferAdviseUSM
// RUN: env SYCL_PI_TRACE=2 %{run} %t.out 2>&1 | FileCheck %s

// Since Mem advise is only a memory hint that doesn't
// impact results but only performances, we verify
// that a node is correctly added by checking PI function calls.

// CHECK: piextCommandBufferAdviseUSM
// CHECK-NEXT: <unknown> : 0x[[#%x,COMMAND_BUFFER:]]
// CHECK-NEXT: <unknown> : 0x[[#%x,PTR:]]
// CHECK-NEXT: <unknown> : 400
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 0x[[#%x,ADVISE_SYNC_POINT:]]
// CHECK: pi_result : PI_SUCCESS

// CHECK: piextCommandBufferNDRangeKernel(
// CHECK-NEXT: <unknown> : 0x[[#COMMAND_BUFFER]]
// CHECK-NEXT: <unknown> : 0x[[#%x,KERNEL:]]
// CHECK-NEXT: <unknown> : 1
// CHECK-NEXT: <unknown> : 0x[[#%x,GLOBAL_WORK_OFFSET:]]
// CHECK-NEXT: <unknown> : 0x[[#%x,GLOBAL_WORK_SIZE:]]
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 1
// CHECK-NEXT: <unknown> : 0x[[#%x,SYNC_POINT_WAIT_LIST:]]
// CHECK-NEXT: <unknown> : 0x[[#%x,KERNEL_SYNC_POINT:]]
// CHECK: pi_result : PI_SUCCESS

#define GRAPH_E2E_EXPLICIT

#include "../Inputs/memadvise.cpp"
26 changes: 23 additions & 3 deletions sycl/test-e2e/Graph/Explicit/prefetch.cpp
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
// RUN: %{build} -o %t.out
// RUN: env SYCL_PI_TRACE=2 %{run} %t.out

// CHECK: piextCommandBufferPrefetchUSM
// RUN: env SYCL_PI_TRACE=2 %{run} %t.out 2>&1 | FileCheck %s

// Since Prefetch is only a memory hint that doesn't
// impact results but only performances, we verify
// that a node is correctly added by checking PI function calls

// CHECK: piextCommandBufferPrefetchUSM(
// CHECK-NEXT: <unknown> : 0x[[#%x,COMMAND_BUFFER:]]
// CHECK-NEXT: <unknown> : 0x[[#%x,PTR:]]
// CHECK-NEXT: <unknown> : 400
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 0x[[#%x,PREFETCH_SYNC_POINT:]]
// CHECK: pi_result : PI_SUCCESS

// CHECK: piextCommandBufferNDRangeKernel(
// CHECK-NEXT: <unknown> : 0x[[#COMMAND_BUFFER]]
// CHECK-NEXT: <unknown> : 0x[[#%x,KERNEL:]]
// CHECK-NEXT: <unknown> : 1
// CHECK-NEXT: <unknown> : 0x[[#%x,GLOBAL_WORK_OFFSET:]]
// CHECK-NEXT: <unknown> : 0x[[#%x,GLOBAL_WORK_SIZE:]]
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 1
// CHECK-NEXT: <unknown> : 0x[[#%x,SYNC_POINT_WAIT_LIST:]]
// CHECK-NEXT: <unknown> : 0x[[#%x,KERNEL_SYNC_POINT:]]
// CHECK: pi_result : PI_SUCCESS

#define GRAPH_E2E_EXPLICIT

#include "../Inputs/prefetch.cpp"
30 changes: 1 addition & 29 deletions sycl/test-e2e/Graph/Inputs/memadvise.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ int main() {
add_node(
Graph, Queue,
[&](handler &CGH) {
depends_on_helper(CGH, Init);
CGH.single_task<class double_dest>([=]() {
for (int i = 0; i < Count; i++)
Dest[i] = 2 * Src[i];
Expand All @@ -53,35 +54,6 @@ int main() {
}
}

#ifdef GRAPH_E2E_RECORD_REPLAY
exp_ext::command_graph Graph2{Queue.get_context(), Queue.get_device()};

// Test queue::mem_advise
{
Graph2.begin_recording(Queue);

event InitQ = Queue.mem_advise(Src, sizeof(T) * Count, 0);

Queue.submit([&](handler &CGH) {
CGH.depends_on(InitQ);
CGH.single_task<class double_dest3>([=]() {
for (int i = 0; i < Count; i++)
Dest[i] = 3 * Src[i];
});
});
Graph2.end_recording();

auto ExecGraph2 = Graph2.finalize();

Queue.submit([&](handler &CGH) { CGH.ext_oneapi_graph(ExecGraph2); });
Queue.wait_and_throw();

for (int i = 0; i < Count; i++) {
assert(Dest[i] == i * 3);
}
}
#endif

free(Src, Queue);
free(Dest, Queue);
return 0;
Expand Down
30 changes: 1 addition & 29 deletions sycl/test-e2e/Graph/Inputs/prefetch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ int main() {
add_node(
Graph, Queue,
[&](handler &CGH) {
depends_on_helper(CGH, InitPrefetch);
CGH.single_task<class double_dest>([=]() {
for (int i = 0; i < Count; i++)
Dest[i] = 2 * Src[i];
Expand All @@ -53,35 +54,6 @@ int main() {
}
}

#ifdef GRAPH_E2E_RECORD_REPLAY
exp_ext::command_graph Graph2{Queue.get_context(), Queue.get_device()};

// Test queue::prefetch
{
Graph2.begin_recording(Queue);

event InitPrefetch = Queue.prefetch(Src, sizeof(T) * Count);

Queue.submit([&](handler &CGH) {
CGH.depends_on(InitPrefetch);
CGH.single_task<class double_dest3>([=]() {
for (int i = 0; i < Count; i++)
Dest[i] = 3 * Src[i];
});
});
Graph2.end_recording();

auto ExecGraph2 = Graph2.finalize();

Queue.submit([&](handler &CGH) { CGH.ext_oneapi_graph(ExecGraph2); });
Queue.wait_and_throw();

for (int i = 0; i < Count; i++) {
assert(Dest[i] == i * 3);
}
}
#endif

free(Src, Queue);
free(Dest, Queue);
return 0;
Expand Down
26 changes: 23 additions & 3 deletions sycl/test-e2e/Graph/RecordReplay/memadvise.cpp
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
// RUN: %{build} -o %t.out
// RUN: env SYCL_PI_TRACE=2 %{run} %t.out

// CHECK: piextCommandBufferAdviseUSM
// RUN: env SYCL_PI_TRACE=2 %{run} %t.out 2>&1 | FileCheck %s

// Since Mem advise is only a memory hint that doesn't
// impact results but only performances, we verify
// that a node is correctly added by checking PI function calls.

// CHECK: piextCommandBufferAdviseUSM
// CHECK-NEXT: <unknown> : 0x[[#%x,COMMAND_BUFFER:]]
// CHECK-NEXT: <unknown> : 0x[[#%x,PTR:]]
// CHECK-NEXT: <unknown> : 400
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 0x[[#%x,ADVISE_SYNC_POINT:]]
// CHECK: pi_result : PI_SUCCESS

// CHECK: piextCommandBufferNDRangeKernel(
// CHECK-NEXT: <unknown> : 0x[[#COMMAND_BUFFER]]
// CHECK-NEXT: <unknown> : 0x[[#%x,KERNEL:]]
// CHECK-NEXT: <unknown> : 1
// CHECK-NEXT: <unknown> : 0x[[#%x,GLOBAL_WORK_OFFSET:]]
// CHECK-NEXT: <unknown> : 0x[[#%x,GLOBAL_WORK_SIZE:]]
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 1
// CHECK-NEXT: <unknown> : 0x[[#%x,SYNC_POINT_WAIT_LIST:]]
// CHECK-NEXT: <unknown> : 0x[[#%x,KERNEL_SYNC_POINT:]]
// CHECK: pi_result : PI_SUCCESS

#define GRAPH_E2E_RECORD_REPLAY

#include "../Inputs/memadvise.cpp"
26 changes: 23 additions & 3 deletions sycl/test-e2e/Graph/RecordReplay/prefetch.cpp
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
// RUN: %{build} -o %t.out
// RUN: env SYCL_PI_TRACE=2 %{run} %t.out

// CHECK: piextCommandBufferPrefetchUSM
// RUN: env SYCL_PI_TRACE=2 %{run} %t.out 2>&1 | FileCheck %s

// Since Prefetch is only a memory hint that doesn't
// impact results but only performances, we verify
// that a node is correctly added by checking PI function calls

// CHECK: piextCommandBufferPrefetchUSM(
// CHECK-NEXT: <unknown> : 0x[[#%x,COMMAND_BUFFER:]]
// CHECK-NEXT: <unknown> : 0x[[#%x,PTR:]]
// CHECK-NEXT: <unknown> : 400
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 0x[[#%x,PREFETCH_SYNC_POINT:]]
// CHECK: pi_result : PI_SUCCESS

// CHECK: piextCommandBufferNDRangeKernel(
// CHECK-NEXT: <unknown> : 0x[[#COMMAND_BUFFER]]
// CHECK-NEXT: <unknown> : 0x[[#%x,KERNEL:]]
// CHECK-NEXT: <unknown> : 1
// CHECK-NEXT: <unknown> : 0x[[#%x,GLOBAL_WORK_OFFSET:]]
// CHECK-NEXT: <unknown> : 0x[[#%x,GLOBAL_WORK_SIZE:]]
// CHECK-NEXT: <unknown> : 0
// CHECK-NEXT: <unknown> : 1
// CHECK-NEXT: <unknown> : 0x[[#%x,SYNC_POINT_WAIT_LIST:]]
// CHECK-NEXT: <unknown> : 0x[[#%x,KERNEL_SYNC_POINT:]]
// CHECK: pi_result : PI_SUCCESS

#define GRAPH_E2E_RECORD_REPLAY

#include "../Inputs/prefetch.cpp"

0 comments on commit a4576b4

Please sign in to comment.