From 5fa1c1359dff878a1c9aa7281c9edd48bee4ba94 Mon Sep 17 00:00:00 2001
From: foreman
Date: Thu, 7 Sep 2017 16:00:01 -0400
Subject: [PATCH] P4 to Git Change 1456363 by wchau@wchau_OCL_boltzmann on
2017/09/07 15:47:03
SWDEV-130808 - Add support of two new queries: CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD, CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_device.cpp#64 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl.hpp#4 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl_ext.h#15 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl.hpp#6 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h#31 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl.hpp#3 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl_ext.h#8 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl.hpp#2 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl_ext.h#2 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#288 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#570 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#353 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.hpp#99 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#55 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#30 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.hpp#11 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#58 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.cpp#21 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.hpp#9 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#275 edit
[ROCm/clr commit: b4af4d6f543c4b69a2c12b9b534b5a4cc2590c6b]
---
projects/clr/opencl/api/opencl/amdocl/cl_device.cpp | 4 +++-
.../opencl/api/opencl/khronos/headers/opencl1.2/CL/cl.hpp | 6 ++++++
.../opencl/api/opencl/khronos/headers/opencl1.2/CL/cl_ext.h | 2 ++
.../opencl/api/opencl/khronos/headers/opencl2.0/CL/cl.hpp | 6 ++++++
.../opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h | 2 ++
.../opencl/api/opencl/khronos/headers/opencl2.1/CL/cl.hpp | 6 ++++++
.../opencl/api/opencl/khronos/headers/opencl2.1/CL/cl_ext.h | 2 ++
.../opencl/api/opencl/khronos/headers/opencl2.2/CL/cl.hpp | 6 ++++++
.../opencl/api/opencl/khronos/headers/opencl2.2/CL/cl_ext.h | 2 ++
9 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/projects/clr/opencl/api/opencl/amdocl/cl_device.cpp b/projects/clr/opencl/api/opencl/amdocl/cl_device.cpp
index 035b59709b..3882a98df2 100644
--- a/projects/clr/opencl/api/opencl/amdocl/cl_device.cpp
+++ b/projects/clr/opencl/api/opencl/amdocl/cl_device.cpp
@@ -248,7 +248,9 @@ RUNTIME_ENTRY(cl_int, clGetDeviceInfo,
CASE(CL_DEVICE_VENDOR_ID, vendorId_);
CASE(CL_DEVICE_MAX_COMPUTE_UNITS, maxComputeUnits_);
CASE(CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS, maxWorkItemDimensions_);
- CASE(CL_DEVICE_MAX_WORK_GROUP_SIZE, maxWorkGroupSize_);
+ CASE(CL_DEVICE_MAX_WORK_GROUP_SIZE, preferredWorkGroupSize_);
+ CASE(CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD, preferredWorkGroupSize_);
+ CASE(CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD, maxWorkGroupSize_);
CASE(CL_DEVICE_MAX_WORK_ITEM_SIZES, maxWorkItemSizes_);
CASE(CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR, preferredVectorWidthChar_);
CASE(CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT, preferredVectorWidthShort_);
diff --git a/projects/clr/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl.hpp b/projects/clr/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl.hpp
index 18175abc2a..bd64d4b3bd 100644
--- a/projects/clr/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl.hpp
+++ b/projects/clr/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl.hpp
@@ -1541,6 +1541,12 @@ __CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_LOCAL_MEM_SIZE_PER_COMPUTE_U
#ifdef CL_DEVICE_LOCAL_MEM_BANKS_AMD
__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_LOCAL_MEM_BANKS_AMD, cl_uint)
#endif
+#ifdef CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD
+__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD, ::size_t)
+#endif
+#ifdef CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD
+__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD, ::size_t)
+#endif
#ifdef CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV
__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV, cl_uint)
diff --git a/projects/clr/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl_ext.h b/projects/clr/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl_ext.h
index 8106804802..d1940d40de 100644
--- a/projects/clr/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl_ext.h
+++ b/projects/clr/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl_ext.h
@@ -207,6 +207,8 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *clTerminateContextKHR_fn)(cl_context /
#define CL_DEVICE_GFXIP_MAJOR_AMD 0x404A
#define CL_DEVICE_GFXIP_MINOR_AMD 0x404B
#define CL_DEVICE_AVAILABLE_ASYNC_QUEUES_AMD 0x404C
+#define CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD 0x4030
+#define CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD 0x4031
typedef union
{
diff --git a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl.hpp b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl.hpp
index 18175abc2a..bd64d4b3bd 100644
--- a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl.hpp
+++ b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl.hpp
@@ -1541,6 +1541,12 @@ __CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_LOCAL_MEM_SIZE_PER_COMPUTE_U
#ifdef CL_DEVICE_LOCAL_MEM_BANKS_AMD
__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_LOCAL_MEM_BANKS_AMD, cl_uint)
#endif
+#ifdef CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD
+__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD, ::size_t)
+#endif
+#ifdef CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD
+__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD, ::size_t)
+#endif
#ifdef CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV
__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV, cl_uint)
diff --git a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h
index 892382ee6d..09d722c44c 100644
--- a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h
+++ b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h
@@ -226,6 +226,8 @@ typedef CL_API_ENTRY cl_program
#define CL_DEVICE_GFXIP_MAJOR_AMD 0x404A
#define CL_DEVICE_GFXIP_MINOR_AMD 0x404B
#define CL_DEVICE_AVAILABLE_ASYNC_QUEUES_AMD 0x404C
+#define CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD 0x4030
+#define CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD 0x4031
typedef union
{
diff --git a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl.hpp b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl.hpp
index 18175abc2a..bd64d4b3bd 100644
--- a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl.hpp
+++ b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl.hpp
@@ -1541,6 +1541,12 @@ __CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_LOCAL_MEM_SIZE_PER_COMPUTE_U
#ifdef CL_DEVICE_LOCAL_MEM_BANKS_AMD
__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_LOCAL_MEM_BANKS_AMD, cl_uint)
#endif
+#ifdef CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD
+__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD, ::size_t)
+#endif
+#ifdef CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD
+__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD, ::size_t)
+#endif
#ifdef CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV
__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV, cl_uint)
diff --git a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl_ext.h b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl_ext.h
index 3fee2f7bc9..e9976ae44b 100644
--- a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl_ext.h
+++ b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl_ext.h
@@ -207,6 +207,8 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *clTerminateContextKHR_fn)(cl_context /
#define CL_DEVICE_GFXIP_MAJOR_AMD 0x404A
#define CL_DEVICE_GFXIP_MINOR_AMD 0x404B
#define CL_DEVICE_AVAILABLE_ASYNC_QUEUES_AMD 0x404C
+#define CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD 0x4030
+#define CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD 0x4031
typedef union
{
diff --git a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl.hpp b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl.hpp
index 18175abc2a..bd64d4b3bd 100644
--- a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl.hpp
+++ b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl.hpp
@@ -1541,6 +1541,12 @@ __CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_LOCAL_MEM_SIZE_PER_COMPUTE_U
#ifdef CL_DEVICE_LOCAL_MEM_BANKS_AMD
__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_LOCAL_MEM_BANKS_AMD, cl_uint)
#endif
+#ifdef CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD
+__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD, ::size_t)
+#endif
+#ifdef CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD
+__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD, ::size_t)
+#endif
#ifdef CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV
__CL_DECLARE_PARAM_TRAITS(cl_device_info, CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV, cl_uint)
diff --git a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl_ext.h b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl_ext.h
index 4f215913ca..5535f5b5d9 100644
--- a/projects/clr/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl_ext.h
+++ b/projects/clr/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl_ext.h
@@ -207,6 +207,8 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *clTerminateContextKHR_fn)(cl_context /
#define CL_DEVICE_GFXIP_MAJOR_AMD 0x404A
#define CL_DEVICE_GFXIP_MINOR_AMD 0x404B
#define CL_DEVICE_AVAILABLE_ASYNC_QUEUES_AMD 0x404C
+#define CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_AMD 0x4030
+#define CL_DEVICE_MAX_WORK_GROUP_SIZE_AMD 0x4031
typedef union
{