[Piglit] [PATCH] cl: Add test of get_global_size(dim)

Aaron Watry awatry at gmail.com
Sat Apr 13 12:59:37 PDT 2013


Based on the test cases for get_global_id
---
 tests/cl/program/execute/get-global-size.cl |  105 +++++++++++++++++++++++++++
 1 file changed, 105 insertions(+)
 create mode 100644 tests/cl/program/execute/get-global-size.cl

diff --git a/tests/cl/program/execute/get-global-size.cl b/tests/cl/program/execute/get-global-size.cl
new file mode 100644
index 0000000..884cff1
--- /dev/null
+++ b/tests/cl/program/execute/get-global-size.cl
@@ -0,0 +1,105 @@
+/*!
+[config]
+name: get_global_id
+clc_version_min: 10
+
+[test]
+name: 1D, global_size 4 0 0
+kernel_name: fill1d
+dimensions: 1
+global_size: 4 0 0
+local_size: 1 0 0
+arg_out: 0 buffer int[4] 4 4 4 4
+
+[test]
+name: 1D, global_size 4 0 0, local_size 2 0 0
+kernel_name: fill1d
+dimensions: 1
+global_size: 4 0 0
+local_size: 2 0 0
+arg_out: 0 buffer int[4] 4 4 4 4
+
+[test]
+name: 1D, global_size 4 0 0, local_size 4 0 0
+kernel_name: fill1d
+dimensions: 1
+global_size: 4 0 0
+local_size: 4 0 0
+arg_out: 0 buffer int[4] 4 4 4 4
+
+[test]
+name: 2D, global_size 4 4 0, local_size 1 1 0
+kernel_name: fill2d
+dimensions: 2
+global_size: 4 4 0
+local_size: 1 1 0
+arg_out: 0 buffer int[16] 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16
+
+[test]
+name: 2D, global_size 4 4 0, local_size 2 2 0
+kernel_name: fill2d
+dimensions: 2
+global_size: 4 4 0
+local_size: 2 2 0
+arg_out: 0 buffer int[16] 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16
+
+[test]
+name: 2D, global_size 4 4 0, local_size 4 4 0
+kernel_name: fill2d
+dimensions: 2
+global_size: 4 4 0
+local_size: 4 4 0
+arg_out: 0 buffer int[16] 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16
+
+[test]
+name: 3D, global_size 4 4 4, local_size 1 1 1
+kernel_name: fill3d
+dimensions: 3
+global_size: 4 4 4
+local_size: 1 1 1
+arg_out: 0 buffer int[64] 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 \
+                          64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 \
+                          64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 \
+                          64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64
+
+[test]
+name: 3D, global_size 4 4 4, local_size 2 2 2
+kernel_name: fill3d
+dimensions: 3
+global_size: 4 4 4
+local_size: 2 2 2
+arg_out: 0 buffer int[64] 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 \
+                          64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 \
+                          64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 \
+                          64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64
+
+[test]
+name: 3D, global_size 4 4 4, local_size 4 4 4
+kernel_name: fill3d
+dimensions: 3
+global_size: 4 4 4
+local_size: 4 4 4
+arg_out: 0 buffer int[64] 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 \
+                          64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 \
+                          64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 \
+                          64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64
+!*/
+
+kernel void fill1d(global int* out) {
+    unsigned int size = get_global_size(0);
+	unsigned int id = get_global_id(0);
+    out[id] = size;
+}
+
+kernel void fill2d(global int* out) {
+    unsigned int size = get_global_size(0) * get_global_size(1);
+    unsigned int id = get_global_id(0)*get_global_size(1)+get_global_id(1);
+	out[id] = size;
+}
+
+kernel void fill3d(global int* out) {
+    unsigned int size = get_global_size(0) * get_global_size(1) * get_global_size(2);
+	unsigned int id = (get_global_id(0) * (get_global_size(1) * get_global_size(2)))
+        + (get_global_id(1) * get_global_size(2)) + get_global_id(2);
+    out[id] = size;
+}
-- 
1.7.10.4



More information about the Piglit mailing list