[Beignet] [PATCH 1/2] Enlarge the global mem size.

Zhigang Gong zhigang.gong at linux.intel.com
Tue Nov 26 23:20:54 PST 2013


LGTM, will push latter, thanks.

On Wed, Nov 27, 2013 at 02:06:50PM +0800, Yang Rong wrote:
> When create image, due to alignment, will casue size large than max alloc size.
> Enlarge the global memory size and using it to check size when alloc.
> 
> Signed-off-by: Yang Rong <rong.r.yang at intel.com>
> ---
>  src/cl_gt_device.h |  2 +-
>  src/cl_mem.c       | 10 +++-------
>  2 files changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/src/cl_gt_device.h b/src/cl_gt_device.h
> index e8fa362..d53588f 100644
> --- a/src/cl_gt_device.h
> +++ b/src/cl_gt_device.h
> @@ -51,7 +51,7 @@
>  .min_data_type_align_size = sizeof(cl_long) * 16,
>  .single_fp_config = 0, /* XXX */
>  .global_mem_cache_type = CL_READ_WRITE_CACHE,
> -.global_mem_size = 128 * 1024 * 1024,
> +.global_mem_size = 256 * 1024 * 1024,
>  .max_constant_buffer_size = 512 << 10,
>  .max_constant_args = 8,
>  .error_correction_support = CL_FALSE,
> diff --git a/src/cl_mem.c b/src/cl_mem.c
> index 8c9f8a8..1380176 100644
> --- a/src/cl_mem.c
> +++ b/src/cl_mem.c
> @@ -59,12 +59,7 @@ cl_get_mem_object_type(cl_mem mem)
>      case CL_MEM_GL_IMAGE_TYPE:
>      {
>        struct _cl_mem_image *image = cl_mem_image(mem);
> -      if (image->depth == 1)
> -        return CL_MEM_OBJECT_IMAGE1D;
> -      else if (image->depth == 2)
> -        return CL_MEM_OBJECT_IMAGE2D;
> -      else if (image->depth == 3)
> -        return CL_MEM_OBJECT_IMAGE3D;
> +      return image->image_type;
>      }
>      default:
>        return CL_MEM_OBJECT_BUFFER;
> @@ -209,8 +204,9 @@ cl_mem_allocate(enum cl_mem_type type,
>  
>    assert(ctx);
>  
> +  /* Due to alignment, the image size may exceed alloc max size, check global mem instead */
>    if ((err = cl_get_device_info(ctx->device,
> -                                CL_DEVICE_MAX_MEM_ALLOC_SIZE,
> +                                CL_DEVICE_GLOBAL_MEM_SIZE,
>                                  sizeof(max_mem_size),
>                                  &max_mem_size,
>                                  NULL)) != CL_SUCCESS) {
> -- 
> 1.8.1.2
> 
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list