From a3b075019b91152357be360616d67c66a7b3a813 Mon Sep 17 00:00:00 2001
From: foreman
Date: Fri, 8 Sep 2017 11:17:38 -0400
Subject: [PATCH] P4 to Git Change 1456735 by wchau@wchau_OCL_boltzmann on
2017/09/08 11:04:08
SWDEV-130808 - Resubmit the CL#1456363 after finding the AMD SDK 2.9.1 Apps test failure is an app issue.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_device.cpp#66 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl.hpp#6 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl_ext.h#17 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl.hpp#8 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h#33 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl.hpp#5 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl_ext.h#10 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl.hpp#4 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl_ext.h#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#290 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#572 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#355 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.hpp#101 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#58 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.hpp#13 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#60 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.cpp#23 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.hpp#11 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#277 edit
[ROCm/clr commit: ecf9a37a716a00c4b261c9c34a615f9582c714db]
---
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
{