Skip to content

requiredAllocSize in min_max_mem_alloc_size does not match current CL_DEVICE_MAX_MEM_ALLOC_SIZE minimum for either profile #2813

Description

@shajder

Related to #2795

min_max_mem_alloc_size in test_conformance/api/test_api_min_max.cpp hardcodes:

    if (gIsEmbedded)
        requiredAllocSize = 1 * 1024 * 1024;
    else
        requiredAllocSize = 128 * 1024 * 1024;

Current spec text for CL_DEVICE_MAX_MEM_ALLOC_SIZE:

Max size of memory object allocation in bytes. The minimum value is max(min(1024 x 1024 x 1024, 1/4th of CL_DEVICE_GLOBAL_MEM_SIZE), 32 x 1024 x 1024).

That puts the actual floor at 32 MB for full profile, not 128 MB.

CL_DEVICE_MAX_MEM_ALLOC_SIZE has no entry in the embedded profile relaxation table (embedded-device-queries-table in embedded_profile.asciidoc), so the same 32 MB floor applies to embedded devices too. The 1 MB used here is roughly 32x below that.

Questions:

  • Should requiredAllocSize be lowered to 32 MB for both profiles to match the documented minimum, or is there a reason CTS intentionally holds a stricter bar for full profile and a laxer one for embedded?
  • If the latter, should the spec wording be revisited instead?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions