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
This extension provides additional _properties_ that can be passed to *clCreateBufferWithProperties*.
44
+
This extension provides additional _properties_ that can be passed to *clCreateBufferWithProperties* and *clGetDeviceInfo*
45
+
This extension can be used to query additional information about Imagination OpenCL device memory. The additional information may be useful to allocate memory objects in different types of memory regions supported by the device.
44
46
45
47
== New API Types
46
48
@@ -62,6 +64,12 @@ Accepted values for `cl_mem_alloc_flags_img`:
@@ -81,6 +89,14 @@ Add Table: List of supported _properties_ when passed to *clCreateBufferWithProp
81
89
| `cl_mem_alloc_flags_img`
82
90
| `CL_MEM_ALLOC_RELAX_REQUIREMENTS_IMG` - On platforms with limited amounts of global memory available it may be desirable to request an allocation larger than the maximum amount reported by the implementation via `CL_DEVICE_MAX_MEM_ALLOC_SIZE` if there is sufficient knowledge about the entire system.
83
91
This property allows an application to request buffer objects that are larger than `CL_DEVICE_MAX_MEM_ALLOC_SIZE`.
92
+
`CL_MEM_ALLOC_GPU_WRITE_COMBINE_IMG` - The GPU device memory backing this allocation will be allocated with the GPU Write Combine flag.
93
+
`CL_MEM_ALLOC_GPU_CACHED_IMG` - The GPU device memory backing this allocation will be allocated with the GPU Cached flag.
94
+
`CL_MEM_ALLOC_GPU_WRITE_COMBINE_IMG` and `CL_MEM_ALLOC_GPU_CACHED_IMG` are mutually exclusive.
95
+
`CL_MEM_ALLOC_CPU_LOCAL_IMG` - The GPU device memory backing this allocation will come from physical memory accessible to both the CPU and GPU.
96
+
`CL_MEM_ALLOC_GPU_LOCAL_IMG` - The GPU device memory backing this allocation will come from physical memory accessible to both the CPU and GPU.
97
+
`CL_MEM_ALLOC_GPU_PRIVATE_IMG` - The GPU device memory backing this allocation will come from physical memory accessible to the GPU only.
98
+
`CL_MEM_ALLOC_CPU_LOCAL_IMG` and `CL_MEM_ALLOC_GPU_LOCAL_IMG` and `CL_MEM_ALLOC_GPU_PRIVATE_IMG` are mutually exclusive.
99
+
84
100
|====
85
101
(Replace the following error value) ::
86
102
+
@@ -89,6 +105,29 @@ This property allows an application to request buffer objects that are larger th
89
105
with
90
106
+
91
107
* `CL_INVALID_BUFFER_SIZE` if _size_ is 0.
108
+
(Add the following error value) ::
109
+
* `CL_INVALID_VALUE` if both `CL_MEM_ALLOC_GPU_WRITE_COMBINE_IMG` and `CL_MEM_ALLOC_GPU_CACHED_IMG` are set.
110
+
* `CL_INVALID_VALUE` if both `CL_MEM_ALLOC_CPU_LOCAL_IMG` and `CL_MEM_ALLOC_GPU_PRIVATE_IMG` are set.
111
+
* `CL_INVALID_VALUE` if both `CL_MEM_ALLOC_CPU_LOCAL_IMG` and `CL_MEM_ALLOC_GPU_LOCAL_IMG` are set.
112
+
* `CL_INVALID_VALUE` if both `CL_MEM_ALLOC_GPU_LOCAL_IMG` and `CL_MEM_ALLOC_GPU_PRIVATE_IMG` are set.
113
+
* `CL_INVALID_VALUE` if `CL_MEM_ALLOC_CPU_LOCAL_IMG` and `CL_MEM_ALLOC_GPU_LOCAL_IMG` and `CL_MEM_ALLOC_GPU_PRIVATE_IMG` are set.
114
+
115
+
--
116
+
117
+
(Modify Section 4.2, *Querying Devices*) ::
118
+
+
119
+
--
120
+
Add Table: List of supported param name by *clGetDeviceInfo* ::
121
+
+
122
+
[cols="1,1,4",options="header",width = "90%"]
123
+
|====
124
+
| clDeviceInfo
125
+
| Return Type
126
+
| Description
127
+
128
+
| `CL_DEVICE_MEMORY_CAPABILITIES_IMG`
129
+
| `cl_mem_alloc_flags_img`
130
+
| Allocation flags describing the memory region capabilities by the device.
92
131
--
93
132
94
133
== Revision History
@@ -99,4 +138,6 @@ with
99
138
|====
100
139
| Version | Date | Author | Changes
101
140
| 1.0.0 | 2020-08-18 | Jeremy Kemp | Initial revision.
102
-
|====
141
+
| 1.1.0 | 2022-01-04 | Jeremy Kemp | Added internal values for cl_mem_alloc_flags_img (1 << 1 and 1 << 2). Corrected a typo.
142
+
| 1.1.1 | 2023-11-16 | Jeba Samuel | Added internal values for cl_mem_alloc_flags_img (1 << 3 and 1 << 4). The flag provides heap hint for local memory regions of the CPU, GPU and scratchpad memory region of the GPU. The extension allows to query the supported memory regions.
0 commit comments