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?
Related to #2795
min_max_mem_alloc_sizeintest_conformance/api/test_api_min_max.cpphardcodes:Current spec text for
CL_DEVICE_MAX_MEM_ALLOC_SIZE:That puts the actual floor at 32 MB for full profile, not 128 MB.
CL_DEVICE_MAX_MEM_ALLOC_SIZEhas 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: