blob: a79cc9acfdedfe9d40f1a3591df37a8caca0d9dd [file] [log] [blame]
Name
IMG_cached_allocations
Name Strings
cl_img_cached_allocations
Contributors
Jeremy Kemp
Contacts
Jeremy Kemp, Imagination Technologies (jeremy.kemp 'at' imgtec.com)
Status
Unapproved.
Version
Revision: #3, Nov 6, 2014
Number
OpenCL Extension #44
Dependencies
Requires OpenCL version 1.2 or later.
This extension is written against the wording of the OpenCL 1.2
Specification.
Overview
This extension extends the functionality provided by
clCreateBuffer and clCreateImage to allow the OpenCL
implementation to allocate memory on the device which
is also cached on the host CPU.
Glossary
None
New Types
None
New Procedures and Functions
None
New Tokens
CL_MEM_USE_UNCACHED_CPU_MEMORY_IMG (1 << 26)
CL_MEM_USE_CACHED_CPU_MEMORY_IMG (1 << 27)
Additions to Chapter 5 of the OpenCL 1.2 Specification (Memory Objects)
In Table 5.3, page 69, add the following text as a new row in the table:
"CL_MEM_USE_UNCACHED_CPU_MEMORY_IMG
If this flag is specified it means that the application wants the
OpenCL implementation to allocate memory on the device so that it
is not cached when accessed on the host."
In Table 5.3, page 69, add the following text as a new row in the table:
"CL_MEM_USE_CACHED_CPU_MEMORY_IMG
If this flag is specified it means that the application wants the
OpenCL implementation to allocate memory on the device so that it
is cached when accessed on the host."
Issues
1. This extension may or may not improve performance; it depends on the
specific use-case. It is most likely to improve performance in cases
where the buffer or image is mapped using clEnqueueMapBuffer/Image
and some processing is then performed on the host-side. Whether the
allocation flag improves performance depends on whether the overhead
of cache flushes is greater than the performance gain from cached
memory accessing when doing the host-side processing. It's recommended
to apply the flag on case-by-case basis to see if it improves your
use-case.
Revision History
#2 - Update overview section to say that the extension also supports images.
Add more detail to the overview section.
#1 - Initial revision.