On Wed, Oct 23, 2013 at 06:41:56PM -0500, Aaron Watry wrote:
> The maximum workgroup size for a given kernel is based on the
> capabilities of the device that it's being run on. Previously,
> we were just returning the maximum value of a size_t which is
> obviously wrong.
> 
> This patch uses the device's capabilities, but doesn't take into
> account any resource usage which would decrease the work group
> size further.  Suggestions/comments/fixes welcome.

This seems reasonable to me.

-Tom

> ---
>  src/gallium/state_trackers/clover/api/kernel.cpp | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/src/gallium/state_trackers/clover/api/kernel.cpp 
> b/src/gallium/state_trackers/clover/api/kernel.cpp
> index d6129e6..90bb213 100644
> --- a/src/gallium/state_trackers/clover/api/kernel.cpp
> +++ b/src/gallium/state_trackers/clover/api/kernel.cpp
> @@ -156,7 +156,11 @@ clGetKernelWorkGroupInfo(cl_kernel d_kern, cl_device_id 
> d_dev,
>  
>     switch (param) {
>     case CL_KERNEL_WORK_GROUP_SIZE:
> -      buf.as_scalar<size_t>() = kern.max_block_size();
> +      //FIXME: This should be maximum that the requested device can support 
> for
> +      //       this kernel, not the maximum value of a size_t... and just 
> using
> +      //       dev->max_threads_per_block doesn't take into account the 
> kernel's
> +      //       resource usage...
> +      buf.as_scalar<size_t>() = pdev->max_threads_per_block();
>        break;
>  
>     case CL_KERNEL_COMPILE_WORK_GROUP_SIZE:
> -- 
> 1.8.3.2
> 
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to