From 15d6b3204cf06322b58963a339d7ca68775f2120 Mon Sep 17 00:00:00 2001 From: Kseniya Tikhomirova Date: Wed, 28 Jun 2023 17:07:56 +0200 Subject: [PATCH] [SYCL][L0] Add memory access hint to piKernelSetArgMemObj (#9752) Signed-off-by: Tikhomirova, Kseniya --- ur_level_zero_kernel.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/ur_level_zero_kernel.cpp b/ur_level_zero_kernel.cpp index 04bef4242b..367008fcc6 100644 --- a/ur_level_zero_kernel.cpp +++ b/ur_level_zero_kernel.cpp @@ -699,9 +699,25 @@ UR_APIEXPORT ur_result_t UR_APICALL urKernelSetArgMemObj( ur_mem_handle_t_ *UrMem = ur_cast(ArgValue); + ur_mem_handle_t_::access_mode_t UrAccessMode = ur_mem_handle_t_::read_write; + if (Properties) { + switch (Properties->memoryAccess) { + case UR_MEM_FLAG_READ_WRITE: + UrAccessMode = ur_mem_handle_t_::read_write; + break; + case UR_MEM_FLAG_WRITE_ONLY: + UrAccessMode = ur_mem_handle_t_::write_only; + break; + case UR_MEM_FLAG_READ_ONLY: + UrAccessMode = ur_mem_handle_t_::read_only; + break; + default: + return UR_RESULT_ERROR_INVALID_ARGUMENT; + } + } auto Arg = UrMem ? UrMem : nullptr; Kernel->PendingArguments.push_back( - {ArgIndex, sizeof(void *), Arg, ur_mem_handle_t_::read_write}); + {ArgIndex, sizeof(void *), Arg, UrAccessMode}); return UR_RESULT_SUCCESS; }