You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current required minimum for info::device::max_mem_alloc_size is:
Returns the maximum size of memory object allocation in bytes. The minimum value is max (1/4th of info::device::global_mem_size,12810241024) if this SYCL device is not of device type info::device_type::custom.
I suspect this definition came from OpenCL 1.2, which had the same definition for CL_DEVICE_MAX_MEM_ALLOC_SIZE.
Max size of memory object allocation in bytes. The minimum value is max(min(1024 × 1024 × 1024, 1/4th of CL_DEVICE_GLOBAL_MEM_SIZE), 32 × 1024 × 1024) for devices that are not of type CL_DEVICE_TYPE_CUSTOM.
Note that this caps the minimum at 1GB.
Should the SYCL minimum have the same 1GB cap? Or is the difference intentional, and the SYCL minimum should be 1/4 of the total global memory size, even when the total global memory size exceeds 4GB?
The text was updated successfully, but these errors were encountered:
Tangentially, should such limits even be present in the standard that strives for portability? I can see how having some guaranteed minimums can be helpful, but the current wording sounds awfully specific.
The current required minimum for info::device::max_mem_alloc_size is:
I suspect this definition came from OpenCL 1.2, which had the same definition for CL_DEVICE_MAX_MEM_ALLOC_SIZE.
The definition in OpenCL 2.0 and newer though is:
Note that this caps the minimum at 1GB.
Should the SYCL minimum have the same 1GB cap? Or is the difference intentional, and the SYCL minimum should be 1/4 of the total global memory size, even when the total global memory size exceeds 4GB?
The text was updated successfully, but these errors were encountered: