Increase chunk alignment from 256 to 512.
Restores performance in some workloads with pool enabled but lowers maximum
possible number of buffers in pool from 256 to 128.
MemObj size will keep the value passed to clCreateBuffer ie. will not be
aligned up by chunk alignment.
CL_MEM_SIZE will now return same value as with pool disabled.
Related-To: NEO-7332
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Use correct offset for subBuffer created with clCreateSubBuffer
Make calls to clGetMemObjectInfo for CL_MEM_OFFSET and
CL_MEM_ASSOCIATED_MEMOBJECT return values like with pool buffer disabled
Related-To: NEO-7332
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
If a handle cannot be obtained, like PRIME_HANDLE_TO_FD, then
properly check for the error and propagate it upwards.
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
If a handle cannot be obtained, like PRIME_HANDLE_TO_FD, then
properly check for the error and propagate it upwards.
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Improves performance in workloads that create small opencl buffers.
To enable, set env var ExperimentalSmallBufferPoolAllocator=1
Known issues (will be addressed in further commits):
- cannot create subBuffer from such buffer
- pool buffer allocation should be reused
Related-To: NEO-7332
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Use enum class for MemoryPool in GraphicsAllocation
This change will ensure that GA is constructed in the proper way
- Rename namespace for isSystemMemoryPool method
- Add method getMemoryPoolString for logging actual pool which is in used
- Remove wrong pattern in GraphicsAllocation constructor
Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
Dates corrected in copyright headers to reflect original publication date
(2018 for OpenCL, 2020 for Level Zero).
Signed-off-by: lgotszal <lukasz.gotszald@intel.com>
- map allocations with CL_MEM_USE_HOST_PTR are still destroyed in place
- map allocations are additionally checked for completion on all os contexts
Related-To: NEO-5073
Change-Id: I6198ff76704a03412ef648503df8e70fee4bd3be
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
Add ULT to verify that all mapAllocations are destroyed
Related-To: NEO-4672
Change-Id: If7d00cc9101c15bedf7ecf14a24ca9893f3f7c51
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
use it to get allocation type and coherency status
Related-To: NEO-4672
Change-Id: Id1fdc358f7e2038e78c1225ebc986b2a7775c665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
Add queries for getting properties that were used when creating an object:
- CL_QUEUE_PROPERTIES_ARRAY
- CL_PIPE_PROPERTIES
- CL_MEM_PROPERTIES
- CL_SAMPLER_PROPERTIES
Related-To: NEO-4368
Change-Id: Ib761ee3dd338e9718d72ed4c9596b38843a9b802
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
Allow return value size to be 0. Do not modify return value size in case
of error.
Related-To: NEO-4368
Change-Id: I201e8ee7c23fcdc2712f6b04bedc71bf4ab64f06
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
Rename:
- MemoryPropertiesFlags to MemoryProperties
- MemoryPropertiesParser to MemoryPropertiesParserHelper
- getMemoryPropertiesFlags to getFlags
- getMemoryPropertiesFlagsIntel to getFlagsIntel
- functions involved with MemoryPropertiesFlags
Related-To: NEO-4143
Change-Id: I4eec67bba95dd5354d0df43c31e6ca724909138e
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
device directory is renamed to cl_device.
Related-To: NEO-3938
Change-Id: I96794c82632d042da6814550597d805df7bb6436
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>