summaryrefslogtreecommitdiff
path: root/ufo
diff options
context:
space:
mode:
authorMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2016-05-25 17:05:54 +0200
committerMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2016-05-25 17:05:54 +0200
commita40e607b42e47aacffc9db5dc5e81721f0a03fbc (patch)
tree85c9036068c4c8afe2f670865065032fae5c33b6 /ufo
parent0371e2e432696305f700e430b5f55c76f5d7d0e8 (diff)
Query maximum work group size
Diffstat (limited to 'ufo')
-rw-r--r--ufo/ufo-gpu-node.c9
-rw-r--r--ufo/ufo-gpu-node.h3
2 files changed, 11 insertions, 1 deletions
diff --git a/ufo/ufo-gpu-node.c b/ufo/ufo-gpu-node.c
index 5e416a7..939e734 100644
--- a/ufo/ufo-gpu-node.c
+++ b/ufo/ufo-gpu-node.c
@@ -105,6 +105,15 @@ ufo_gpu_node_get_info (UfoGpuNode *node,
case UFO_GPU_NODE_INFO_LOCAL_MEM_SIZE:
UFO_RESOURCES_CHECK_CLERR (clGetDeviceInfo (priv->device, CL_DEVICE_LOCAL_MEM_SIZE, sizeof (cl_ulong), &ulong_value, NULL));
break;
+
+ case UFO_GPU_NODE_INFO_MAX_WORK_GROUP_SIZE:
+ {
+ size_t size;
+
+ UFO_RESOURCES_CHECK_CLERR (clGetDeviceInfo (priv->device, CL_DEVICE_MAX_WORK_GROUP_SIZE, sizeof (size_t), &size, NULL));
+ ulong_value = (cl_ulong) size;
+ }
+ break;
}
g_value_set_ulong (value, ulong_value);
diff --git a/ufo/ufo-gpu-node.h b/ufo/ufo-gpu-node.h
index 1a951d3..0841baf 100644
--- a/ufo/ufo-gpu-node.h
+++ b/ufo/ufo-gpu-node.h
@@ -74,7 +74,8 @@ struct _UfoGpuNodeClass {
typedef enum {
UFO_GPU_NODE_INFO_GLOBAL_MEM_SIZE = 0,
UFO_GPU_NODE_INFO_MAX_MEM_ALLOC_SIZE,
- UFO_GPU_NODE_INFO_LOCAL_MEM_SIZE
+ UFO_GPU_NODE_INFO_LOCAL_MEM_SIZE,
+ UFO_GPU_NODE_INFO_MAX_WORK_GROUP_SIZE
} UfoGpuNodeInfo;
UfoNode *ufo_gpu_node_new (gpointer context,