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

Tom Stellard tom at stellard.net
Tue Apr 16 09:21:44 PDT 2013


On Sat, Apr 13, 2013 at 02:59:37PM -0500, Aaron Watry wrote:
> Based on the test cases for get_global_id
> ---

Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

>  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
> 
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list