Commit Graph

153 Commits

Author SHA1 Message Date
Mateusz Jablonski
78a4a92b44 refactor: reorder members to reduce internal padding in structs
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-25 15:50:00 +01:00
Dunajski, Bartosz
bbe1043f08 feature: initial support for pooling in-order counter allocations
Related-To: NEO-10507

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-03-01 12:08:02 +01:00
Dunajski, Bartosz
8dc3364d56 fix: append paths for standalone CB Event
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-02-16 18:14:31 +01:00
Yoon, Young Jin
22f761b4eb feature: Add introspection APIs for event
Added entrypoints for all event-related introspection APIs
and implemented corresponding functions in Event and EventPool.

Modified Event to record its EventPool upon creation.

Related-To: NEO-10265
Signed-off-by: Yoon, Young Jin <young.jin.yoon@intel.com>
2024-02-07 11:48:28 +01:00
Maciej Bielski
134c718a25 fix: support zeEventPool IPC handles from single process
For all execution paths where needed, use `BufferObjectHandleWrapper`
instances for registration of BO-handles and try to obtain shared
ownership. This allows both sides of IPC communication to be implemented
in the same process and avoid the double-free problem on a BufferObject
of the same handle.

Currently there are two pairs of such calls:
* `zeEventPoolGetIpcHandle()` + `zeEventPoolOpenIpcHandle()`
* `zeMemGetIpcHandle()` + `zeMemOpenIpcHandle()`

The capability of executing both sides from the same process is useful
for testing but not only.

Related-To: NEO-9837
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-01-19 14:49:38 +01:00
Dunajski, Bartosz
dfc69c746a feature: create InOrderExecInfo for standalone CB Event
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-01-15 16:56:52 +01:00
Dunajski, Bartosz
aaef241111 refactor: allow creating Event without pool object
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-01-12 10:08:17 +01:00
Dunajski, Bartosz
6abce2b29d feature: zexEventGetDeviceAddress support
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-01-11 16:22:11 +01:00
Dunajski, Bartosz
2082038475 fix: fallback empty counter based pool flags to immediate mode
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-01-05 19:05:40 +01:00
Dunajski, Bartosz
144a78019f feature: initial support for counter based event flags 2
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-01-03 10:01:27 +01:00
Compute-Runtime-Validation
7fa29ba8b5 Revert "feature: initial support for counter based event flags"
This reverts commit f530cf3cc2.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-12-30 00:25:47 +01:00
Dunajski, Bartosz
f530cf3cc2 feature: initial support for counter based event flags
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-29 13:59:21 +01:00
Dunajski, Bartosz
8ca8d72a4c fix: remove explicit template instantiation
Related-To: NEO-9888

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-28 11:29:03 +01:00
Dunajski, Bartosz
df66a0276f refactor: remove not used logic to check dynamic postsync layout
Related-To: NEO-8210

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-27 13:12:11 +01:00
Mateusz Jablonski
138fb65401 refactor: correct naming of enum class constants 11/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 14:52:57 +01:00
Dunajski, Bartosz
717bc0c03f refactor: pass InOrderExecInfo to encode method
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-11 16:43:30 +01:00
Mateusz Jablonski
b182917d9d refactor: correct naming of allocation types
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-11 16:23:37 +01:00
Dunajski, Bartosz
9cc1a23ab6 fix: Regular Event waits for in-order counter if HW chaining is required
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-01 11:17:12 +01:00
Dunajski, Bartosz
41b55eaf77 refactor: improve in-order helper class handling
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-01 09:59:33 +01:00
Mateusz Jablonski
c9664e6bad refactor: rename global debug manager to debugManager
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 13:00:59 +01:00
Dunajski, Bartosz
c281b66587 feature: disable implicit counter based Events transition in IPC mode
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-11-23 12:12:18 +01:00
Dunajski, Bartosz
9a3fea9849 feature: disable IPC for CB Events
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-11-17 11:27:32 +01:00
Dunajski, Bartosz
a0beb96db8 feature: initial support for implicit convertion to CounterBased Events
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-11-08 14:59:12 +01:00
Dunajski, Bartosz
597b3637b3 fix: assign counter based event info in cpu copy path
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-11-08 12:55:25 +01:00
Dunajski, Bartosz
d699cd2a57 feature: experimental Counter Based Event support 2
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-11-06 14:33:10 +01:00
Compute-Runtime-Validation
da9adc6797 Revert "feature: experimental Counter Based Event support"
This reverts commit a8c79e0ba1.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-11-03 10:00:52 +01:00
Dunajski, Bartosz
a8c79e0ba1 feature: experimental Counter Based Event support
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-11-02 18:01:44 +01:00
Mateusz Jablonski
4dfa12c8eb fix: add mechanism to detect gpu timestamp overflows
unify naming CpuGpu to GpuCpu

Related-To: NEO-8394
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-19 16:31:06 +02:00
Dunajski, Bartosz
1054d166e2 feature: disallow reset/signal calls on in-order Events
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-04 10:35:41 +02:00
Dunajski, Bartosz
135b227c9b feature: handling in-order Event wait from different Regular CmdList
Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-03 16:47:24 +02:00
Mateusz Jablonski
7531ced0e3 refactor: remove not needed error handling for make_unique
make_unique does not return empty object on failure

Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 10:56:15 +02:00
Dunajski, Bartosz
891cc2d09b feature: enable waiting for in-order events from regular CmdList
This is prework. Functional only on immediate CmdLists

Related-To: NEO-8145

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-02 16:42:10 +02:00
Dunajski, Bartosz
c5f5f60f8d feature: cross CmdList and Event in-order data sharing [1/n]
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-29 11:14:18 +02:00
Dunajski, Bartosz
202a33ffac feature: track InOrder allocation ownership
CmdList can be released before Event. In this case, GfxAllocation
destruction must be deferred.

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-25 15:03:25 +02:00
Dunajski, Bartosz
80d0c74605 fix: track registered CSR clients 2
Related-To: NEO-8884

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-25 09:35:55 +02:00
Compute-Runtime-Validation
ade538ce54 Revert "fix: track registered CSR clients"
This reverts commit 53f635e392.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-24 10:07:26 +02:00
Dunajski, Bartosz
53f635e392 fix: track registered CSR clients
In L0 its not possible to track objects relations. For example CmdList
may be removed before Event.
In such case, Event needs to safely skip unregister call, without
accessing CmdList/CmdQueue object.

Related-To: NEO-8884

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-22 09:42:55 +02:00
Dunajski, Bartosz
d3d5da1f72 feature: initial 64b in-order CmdList support
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-19 15:23:37 +02:00
Dunajski, Bartosz
52bab7844e fix: remove not needed check on event reset
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-08-30 09:19:22 +02:00
Dunajski, Bartosz
d582a48b1c feature: make in-order events optional
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-08-29 13:44:11 +02:00
Joshua Santosh Ranjan
b6e76b9118 fix: Move event reference time tracking into event class
This would avoid recalculating reference timestamps
when event is used with different command lists.

Related-To: LOCI-4563

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2023-07-25 08:44:47 +02:00
Dunajski, Bartosz
c18198ebd8 feature: change in-order allocation type to uint32_t
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-05 09:56:32 +02:00
Dunajski, Bartosz
5b9d45f3bc feature: handle in-order allocation overflow
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-04 15:58:11 +02:00
Dunajski, Bartosz
aea5f435db feature: unregister CSR client on Event host synchronize
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-26 12:02:14 +02:00
Dunajski, Bartosz
61fb19caab feature: bring back counter based in-order tracking
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-26 10:01:18 +02:00
Mateusz Jablonski
4f72835b7d fix: create dedicated class for root device indices to store unique values
remove method to removing duplicates from StackVec as the method
implicitly sorted the vector

Related-To: GSD-4692
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-12 22:24:06 +02:00
Dunajski, Bartosz
814de81aca feature: replace in-order sync allocation with TimestampPacket
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-29 09:32:35 +02:00
Neil R Spruit
ded9d7bff2 feature: Get Peer Allocation with specified base Pointer
Related-To: LOCI-4176

- Given a Base Pointer passed into Get Peer Allocation, then the base
pointer is used in the map of the new allocation to the virtual memory.
- Enables users to use the same pointer for all devices in Peer To Peer.
- Currently unsupported on reserved memory due to mapped and exec
resiedency of Virtual addresses.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-05-24 20:41:20 +02:00
Dunajski, Bartosz
23c08f4bca feature: Experimental support of immediate cmd list in-order execution [4/n]
Related-To: LOCI-4332

- Simplify CmdList-Event dependency
- Add waiting on in-order dependency
- Prepare Event for in-order synchronization
- Adjust downloading sync allocation in TBX mode

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-08 13:28:10 +02:00
Lukasz Jobczyk
48114e5423 fix: Release temporary allocations from bcs split
Related-To: NEO-7933

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-04-28 12:51:07 +02:00