1. Reposition event pool code
- Implementation of event pool methods should be placed in event pool file
2. Change event pool and event classes
- move all class variables to base classes as protected
- add needed setters and getters for runtime
- add extended mocks and whiteboxes for unit tests
- tests using base or mock class when needed
3. Correct event creation in unit tests
- use HW specific timestamp type
- HW unit tests are using template timestamp type for event creation
- other tests are using helper to create event
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- remove double and triple free in open ipc event pool cleanup section
- correctly initialize device vector
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
Remote event pool is created with device list that configure max event packet
IPC context can have different device list and configure different
max event packet.
When these two numbers are different driver should not allow creation of
IPC event pool.
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- 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>