Skip to content

Commit b0ae5c3

Browse files
author
Steffen Larsen
committed
[SYCL][PI][CUDA] Kernel group private memory size
Signed-off-by: Steffen Larsen <[email protected]>
1 parent da36441 commit b0ae5c3

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

sycl/include/CL/sycl/detail/pi.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,8 @@ typedef enum {
246246
CL_KERNEL_COMPILE_WORK_GROUP_SIZE,
247247
PI_KERNEL_LOCAL_MEM_SIZE = CL_KERNEL_LOCAL_MEM_SIZE,
248248
PI_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE =
249-
CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE
249+
CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE,
250+
PI_KERNEL_PRIVATE_MEM_SIZE = CL_KERNEL_PRIVATE_MEM_SIZE
250251
} _pi_kernel_group_info;
251252

252253
typedef enum {

sycl/plugins/cuda/pi_cuda.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2074,6 +2074,15 @@ pi_result cuda_piKernelGetGroupInfo(pi_kernel kernel, pi_device device,
20742074
return getInfo(param_value_size, param_value, param_value_size_ret,
20752075
static_cast<size_t>(warpSize));
20762076
}
2077+
case PI_KERNEL_PRIVATE_MEM_SIZE: {
2078+
// OpenCL PRIVATE == CUDA LOCAL
2079+
int bytes = 0;
2080+
cl::sycl::detail::pi::assertion(cuFuncGetAttribute(&bytes,
2081+
CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES,
2082+
kernel->get()) == CUDA_SUCCESS);
2083+
return getInfo(param_value_size, param_value, param_value_size_ret,
2084+
pi_uint64(bytes));
2085+
}
20772086
default:
20782087
PI_HANDLE_UNKNOWN_PARAM_NAME(param_name);
20792088
}

0 commit comments

Comments
 (0)