- using predefined structure adds security to enforce data limit
- code is simplified and easier to maintain or add new data fields
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- both drivers: OpenCL and LevelZero cannot be debugged within single
process
Related-To: NEO-7025
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
when blit operation and dcflush needed
resolves problem with corruptions visible when switch ccs with bcs
on platforms without engines coherency
Resolves: NEO-7577
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
1. If cpu based copy is used, it is possible that copy time is
less than device timestamp resolution. In this scenario, this patch
returns 1 instead of 0.
2. This patch also fixes usage of CPU time instead of CPU timestamp
for end timestamp calculation.
Related-To: LOCI-3754
Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
- fix: signal correct remainder packets for single kernels
- fix: signal correct reminder packets for fill and copy memory operations
- fix: all level of event compaction properly estimate reminder events
- refactor: unify code for event signal for kernels
Related-To: NEO-7490
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
Optimize zeKernelSetGroupSize by early returning success if group size
values have not changed since last function call.
Moved ImplicitArgs construction above setGroupSize call
in kernel initialization to prevent pImplicitArgs being nullptr
in calls in which we use cached group sizes and early return.
Related-To: NEO-7394
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
- printf used in kernel is printed on synchronize() call, if
hang is detected - printf buffer was not printed immediately but
only when Kernel was destroyed
- this change adds copying printf buffer with internal engine
(whenever available) right after hang detection on
CommandQueue::synchronize() call
Related-To: NEO-6427
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This fix is a refactor that improves few parts of the code
- code is easier to analyze, read and maintain
- dispatching process and common code is unified and reused
- signal of all event packets is incorporated in shared code
- number of post sync hw commands is optimized thanks to multi-tile
post sync capabilities
Related-To: NEO-7490
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- do not trigger incorrect / spurious events from internal modules
for debugger
- do not register Elf for internal modules
Related-To: NEO-7605
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Return ZE_EXTERNAL_MEMORY_TYPE_FLAG_OPAQUE_WIN32
for images and USM device for Windows and
ZE_EXTERNAL_MEMORY_TYPE_FLAG_DMA_BUF for USM device for
Linux inside ze_device_external_memory_properties
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
If the shared allocation hasn't been removed up to this point,
then remove it when freeing the pointer.
No need to check if ptr is still in the map, as erase would
automatically return 0 if not found.
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
- Given Device Allocated IPC Event Pool, the open IPC event pool process
must allocate the event pool as a device buffer or usage of the memory
will fail.
- Pass deviceAlloc flag thru the IPC Event Pool Handle to enable the
child processes to allocate the correct memory type.
- Pass isHostVisible flag thru IPCEvent Pool Handle to indicate if the
event pool must be allocated as host visible regardless of the
allocation type.
Related-To: LOCI-3764
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>