- Added support for L0 to query Vector Width Properties which allows for
querying all the supported vector widths and their prefferred and
native vector widths per data type.
- Updated shared code to support querying the same values thru
getPreferredVectorWidth* and getNativeVectorWidth* helper functions
for OpenCL and Level Zero.
- Initial support for reporting base values for the vector
widths with future support for reporting different values per platform and
based on the SIMD/SIMT size used.
Related-To: NEO-13745
Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
Moving defintion of:
- CmdListKernelLaunchParamsExt to cmdlist_launch_params_ext.h
- CopyOffloadMode to copy_offload_mode.h
- MemoryCopyParams to cmdlist_memory_copy_params.h
- CommandToCopy to command_to_copy.h
Store LaunchParamsExt as non-pointer member of CmdListKernelLaunchParams
Related-To: NEO-14560
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
remove default max debug surface size
check state save area size only for debug scenarios
reduce state save area size in unit tests - rely on values from mock
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
L0 API functions have two definitions, internal and external:
- internal definition is in L0 namespace
- external defintion is in extern C scope and points to internal definition
Below API functions are corrected within this change:
- zeDriverGetDefaultContext
- zerDriverGetDefaultContext
- zerDeviceTranslateToIdentifier
- zerIdentifierTranslateToDeviceHandle
- zeDeviceSynchronize
Related-To: NEO-14560
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
- zerDeviceTranslateToIdentifier to translate from device handle to
32-bit unsigned integer identifier
- zerIdentifierTranslateToDeviceHandle to translate from identifier to
device handle associated to default driver handle
Related-To: NEO-14560
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
created command list will take default descriptor which points to:
- ordinal 0
- index 0
- in-order-execution
- asynchronous execution
- normal scheduling priority
- copy offload hint enabled
Related-To: NEO-14560
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
- simplify API to expose and use only single root device. Disallow
returning subdevices. This is experimental mode.
Related-To: NEO-14559
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
use uint32_t-alias type to avoid casting out of ze_structure_type_t enum range
Related-To: NEO-12901
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
- for root device, copy engines from subdevice are used, secondary
contexts must be selected from subdevice in this case
- return low priority BCS from subdevice
Related-To: NEO-14559
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- add `hasImageWriteArg` flag to KernelDescriptor,
based on image access qualifier
- add `isPostImageWriteFlushRequired` method to productHelper,
to require cache flush only on selected platforms
- if possible, add the `textureCacheInvalidationEnable` arg to the
existing PC, otherwise add a new PC
Related-To: NEO-13427, HSD-18041321008
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
- add new enum type for command list flush from immediate
- add new argument for flushing immediate command list - regular command list
- add capability to provide additional stream for epilogue commands
- add pointer to provide external csr mutex to lock both execution and flush
Related-To: NEO-10356
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
Prepare cache setup and reservation logic to be extended w.r.t other
cache-levels.
Conceptually this change is like adding a switch-statement, in several
places, in which existing code makes a single (and only) case. This is
caused by splitting larger development to ease the review. Further cases
will be added in following steps. Such approach sometimes creates code
which may seem redundant but it is meant to simplify plugging following
extensions in an easy way.
Related-To: NEO-12837
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
Inheriting from NonCopyableOrMovableClass or NonCopyableClass
does not prevent derived classes from accidentally defining
their own copy or move constructors, violating the intended design.
This commit introduces two concepts:
- NonCopyableOrMovable
- NonCopyable
Using static asserts with these concepts will guarantee the intended
copy and move limitations.
Related-To: NEO-14068
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
In TBX mode, getExternalMemoryProperties was returning an incorrect status
The status returns have been corrected to ensure proper functionality.
Related-To: HSD-18041313876
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
At the moment the capability is returned only based on the value
returned by the `productHelper`, which is too liberal. The capability
must also consider the support reported by `memoryManager`. Only then
the support reported is aligned with actual logic of handling
USM-allocations.
Related-To: NEO-10040
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>