Skip to content

Commit ec18ff9

Browse files
committed
test(Sysman): Test to validate memory bandwidth counters with workload
Related-To: VLCLJ-2505 Signed-off-by: Aviral Nigam <[email protected]>
1 parent d7a0c57 commit ec18ff9

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

conformance_tests/sysman/test_sysman_memory/src/test_sysman_memory.cpp

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,58 @@ class MemoryModuleTest : public lzt::SysmanCtsClass {};
2727
#define MEMORY_TEST MemoryModuleTest
2828
#endif // USE_ZESINIT
2929

30+
ze_result_t copy_workload(ze_device_handle_t device,
31+
ze_device_mem_alloc_desc_t *device_desc,
32+
void *src_ptr, void *dst_ptr, int32_t local_size) {
33+
34+
ze_result_t result = ZE_RESULT_SUCCESS;
35+
void *src_buffer = src_ptr;
36+
void *dst_buffer = dst_ptr;
37+
int32_t offset = 0;
38+
39+
ze_module_handle_t module = lzt::create_module(
40+
device, "copy_module.spv", ZE_MODULE_FORMAT_IL_SPIRV, nullptr, nullptr);
41+
ze_kernel_handle_t function = lzt::create_function(module, "copy_data");
42+
43+
lzt::set_group_size(function, 1, 1, 1);
44+
lzt::set_argument_value(function, 0, sizeof(src_buffer), &src_buffer);
45+
lzt::set_argument_value(function, 1, sizeof(dst_buffer), &dst_buffer);
46+
lzt::set_argument_value(function, 2, sizeof(int32_t), &offset);
47+
lzt::set_argument_value(function, 3, sizeof(int32_t), &local_size);
48+
49+
ze_command_list_handle_t cmd_list = lzt::create_command_list(device);
50+
51+
const int32_t group_count_x = 1;
52+
const int32_t group_count_y = 1;
53+
ze_group_count_t tg;
54+
tg.groupCountX = group_count_x;
55+
tg.groupCountY = group_count_y;
56+
tg.groupCountZ = 1;
57+
58+
result = zeCommandListAppendLaunchKernel(cmd_list, function, &tg, nullptr, 0,
59+
nullptr);
60+
if (result != ZE_RESULT_SUCCESS) {
61+
return result;
62+
}
63+
64+
lzt::append_barrier(cmd_list, nullptr, 0, nullptr);
65+
lzt::close_command_list(cmd_list);
66+
ze_command_queue_handle_t cmd_q = lzt::create_command_queue(device);
67+
68+
result = zeCommandQueueExecuteCommandLists(cmd_q, 1, &cmd_list, nullptr);
69+
if (result != ZE_RESULT_SUCCESS) {
70+
return result;
71+
}
72+
73+
lzt::synchronize(cmd_q, UINT64_MAX);
74+
lzt::destroy_command_queue(cmd_q);
75+
lzt::destroy_command_list(cmd_list);
76+
lzt::destroy_function(function);
77+
lzt::destroy_module(module);
78+
79+
return result;
80+
}
81+
3082
TEST_F(
3183
MEMORY_TEST,
3284
GivenComponentCountZeroWhenRetrievingSysmanHandlesThenNonZeroCountIsReturned) {

0 commit comments

Comments
 (0)