Commit Graph

1954 Commits

Author SHA1 Message Date
Lukasz Jobczyk
0e758e4bb5 performance: Add debug flag to set BCS split minimal size
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-05-17 08:07:43 +02:00
Dunajski, Bartosz
7b207d5e11 feature: CPU copy path for in-order CommandList
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-16 15:32:48 +02:00
Zbigniew Zdanowicz
5a908f6634 performance: enable command list primary batch buffer on xe hpg platform
Related-To: NEO-7807

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-05-16 15:17:30 +02:00
Zbigniew Zdanowicz
e450434118 fix: dispatch state base address once after heap reload
Related-To: NEO-7963

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-05-16 15:01:24 +02:00
Lukasz Jobczyk
9f755b54ad performance: Bidirectional BCS split implementation for OCL
Related-To: NEO-7877

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-05-16 13:34:18 +02:00
Compute-Runtime-Validation
375f212b2d Revert "fix: setGroupSize caching to not hide error"
This reverts commit 56b167f530.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-05-16 02:58:11 +02:00
Dominik Dabek
56b167f530 fix: setGroupSize caching to not hide error
When setting kernel group size with incorrect values, error would not be
returned if method called with same arguments a second time.

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-05-15 14:57:46 +02:00
Lukasz Jobczyk
01b31bfb86 fix: Do not treat event waitlists as a barriers
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-05-12 13:34:54 +02:00
Dunajski, Bartosz
3ef7286f81 feature: Timestamp event signaling for in-order CommandLists
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-12 13:12:11 +02:00
Michal Mrozek
ff5fe7f294 performance: do not copy on CPU if events not ready
- in case events are not ready, we want to pipeline the operation instead
of doing it in place of the call.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2023-05-11 19:29:49 +02:00
Dunajski, Bartosz
00e8997342 feature: Experimental support of immediate cmd list in-order execution
Dont signal sync allocation from Walker in Kernel split path

Related-To: LOCI-4332

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-11 12:32:33 +02:00
Maciej Plewka
a68534f464 fix: fill per byte for unaligned pointers
Related-To: NEO-7693

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-05-11 11:54:21 +02:00
Dunajski, Bartosz
41478c5972 feature: Experimental support of immediate cmd list in-order execution [6/n]
Related-To: LOCI-4332

- Signal appendWaitOnEvents API call
- Signal appendBarrier call
- Handle sync allocation residency

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-11 11:41:49 +02:00
Dunajski, Bartosz
5c988e8a76 refactor: dont split BCS commands during appendMemoryCopy call
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-11 11:38:03 +02:00
Zbigniew Zdanowicz
2fbae4e483 fix: disable state base address tracking
Related-To: NEO-7963

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-05-11 11:10:16 +02:00
Zbigniew Zdanowicz
b8c925b3b5 performance: improve reset call on copy engine command lists
Compute related command list properties should be reset only on compute
command lists.

Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-05-10 13:00:18 +02:00
Zbigniew Zdanowicz
a140fa2989 performance: enable command list primary batch buffer on xe hpc platform
Related-To: NEO-7807

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-05-10 12:13:42 +02:00
Lukasz Jobczyk
49b7c0bec4 performance: Adjust BCS split masks
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-05-10 10:45:09 +02:00
Dunajski, Bartosz
36d3c65284 feature: Use Event allocation for cross in-order CL synchronization
Related-To: LOCI-4332

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-10 10:06:35 +02:00
Dunajski, Bartosz
feff1c35cc feature: Experimental support of immediate cmd list in-order execution [5/n]
Related-To: LOCI-4332

- Signal non-timestamp Walkers with in-order CL value
- Event host synchronization based on CL signal value

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-09 11:46:14 +02:00
Zbigniew Zdanowicz
01c20212c3 performance: limit number of copies of dirty flags and state values
Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-05-09 09:45:41 +02:00
Lukasz Jobczyk
6d1a81f177 fix: Set temporary alloc task count
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-05-08 15:31:38 +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
Raiyan Latif
609265a0af fix: Free Peer Allocations in Virtual Memory Path
Related-To: LOCI-4359

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2023-05-03 01:15:18 +02:00
Neil R Spruit
102c38fc34 feature: Use L0 Loader teardown callback
Related-To: LOCI-4174

- Call zelSetDriverTeardown during L0 Driver teardown to prevent users
from calling into destroyed functions and encountering crashes
during teardown.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-05-02 19:42:06 +02:00
Lu, Wenbin
5d653c8536 fix: Add alignment support to createUnifiedMemoryAllocation
Allows the user to use alignments > 64KB in `createUnifiedMemoryAllocation`

So that the restriction in `piextUSMDeviceAlloc` of the DPC++ runtime
could be lifted

Related-To: LOCI-4168

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-05-02 09:19:23 +02:00
Neil R Spruit
7014ddefc2 fix: Set IPC type in ipcData explicitly
Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-05-01 19:34:17 +02:00
Diedrich, Kamil
5149d74141 refactor: Remove globaly enabled cl_cache
Current behaviour will be detecd path existence

Related-To: NEO-4262

Signed-off-by: Diedrich, Kamil <kamil.diedrich@intel.com>
2023-04-28 23:28:49 +02:00
Dunajski, Bartosz
ef10c98497 feature: Experimental support of immediate cmd list in-order execution [3/n]
New allocation to track dependencies counter

Related-To: LOCI-4332

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-04-28 17:51:10 +02:00
Zbigniew Zdanowicz
b6b331fbe2 fix: update unit tests for command list primary batch buffer
Related-To: NEO-7807

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-28 17:15:21 +02:00
Dunajski, Bartosz
1dcab07300 fix: Call RelaxedOrdering regs init before in-order dependencies
Related-To: LOCI-4332

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-04-28 17:01:41 +02:00
Zbigniew Zdanowicz
7b0283e810 performance: allocate states vector together with command list
Allocating vector backing storage on stack makes it allocated
together with the whole command list object.
So no second use of heap for the state changes vector data.

Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-28 16:11:51 +02:00
Fabian Zwolinski
cbce863dc2 refactor: Rename member variables to camelCase 3/n
Additionally enable clang-tidy check for member variables

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-28 16:01:14 +02:00
Lukasz Jobczyk
ff10e400c8 performance: Enable split for non-usm host
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-04-28 14:41:33 +02:00
Zbigniew Zdanowicz
fd77b10c6f performance: lower the number of expected state changes in single exec call
State changes are kept in vector that is reserved for 32 state changes in
single execute call. It can be useful when multiple commands are executed
at once.
More workload use single or few command lists and so creation time of command
queue could be more benefitial.

Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-28 13:10:11 +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
Dominik Dabek
2a262b22e1 performance: initialize cpu copy enabled bool once
In immediate cmdlist, initialize copyThroughLockedPtrEnabled at creation
once, instead of querying helper each mem copy.

Related-To: NEO-7796

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-04-28 11:56:46 +02:00
Cencelewska, Katarzyna
861ec524c6 fix: check icbe version only once when patchtoken
- set by default flag ZebinIgnoreIcbeVersion to true
- for zebin icbe version check is only inside flag
- only when use patchtoken then check icbe version is mandatory

Resolves: NEO-7904
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-04-28 09:26:02 +02:00
Fabian Zwolinski
e351a90f81 refactor: Rename member variables to camelCase 2/n
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-27 20:39:22 +02:00
Dunajski, Bartosz
75827b66c6 feature: Experimental support of immediate cmd list in-order execution [2/n]
- appendWaitOnEvents for previous dispatch
- update RelaxedOrdering logic
- update Event::setIsCompleted logic to reset already completed Event

Related-To: LOCI-4332

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-04-27 11:14:37 +02:00
Mateusz Jablonski
32d8a3bc6d fix: store registered engines per root device
in most cases we need to iterate over engines associated to single root device

Related-To: NEO-7925
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-27 10:54:07 +02:00
Spruit, Neil R
364c2da9fb feature: Add Support for zeMemPutIpcHandle & zeMemGet IPC Handle converters
Related-To: LOCI-4172, LOCI-4305, LOCI-4306

- Create a new IPC Memory handle upon call to getIpcMemHandle if the
previous handle has been freed.
- Release the Ipc Memory Handle when zeMemPutIpcHandle is called.
- Create a new IPC Handle for tracking thru zeMemGetAllocProperties
when ze_external_memory_export_fd_t is used.
- Convert FD to opaque IPC handle and IPC Handle to FD.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-04-27 03:53:52 +02:00
Aravind Gopalakrishnan
e2bbed2f06 fix: Fix get global timestamp for host
To avoid redundant call to gather cpu timestamp as
we already have that info from first ioctl call.

Related-To: LOCI-4354

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2023-04-26 19:19:50 +02:00
Zbigniew Zdanowicz
5adc1816ff performance: add platform check to get default flag for primary batch buffer
Related-To: NEO-7807

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-26 13:39:53 +02:00
Dunajski, Bartosz
14c3777409 feature: Experimental support of immediate cmd list in-order execution [1/n]
Related-To: LOCI-4332

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-04-26 13:15:59 +02:00
Diedrich, Kamil
26ca64bb28 Add process safety to cl_cache on Linux
Current flow will be to have one synchronization point
config.file. Read remains unblocking, only write(caching)
operation will be blocking (lock on config.file)

Related-To: NEO-4262

Signed-off-by: Diedrich, Kamil <kamil.diedrich@intel.com>
2023-04-25 17:35:40 +02:00
Zbigniew Zdanowicz
c0fcdef03e performance: remove not needed estimation
Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-25 14:47:43 +02:00
Lukasz Jobczyk
1e33d00676 Add early return from isAppendSplitNeeded if size too small
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-04-25 14:40:08 +02:00
Zbigniew Zdanowicz
f451207372 performance: dispatch and chain command list batch buffers as primary
Command list batch buffers should be chained when no dynamic or global preamble
is present in command queue.
Return to command queue, when preamble is required.
Chain last command list to the command queue epilog.
Provide first command list batch buffer to KMD/ULLS when no command queue
preamble.

Related-To: NEO-7807

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-25 13:24:11 +02:00
Fabian Zwolinski
e2e00413a8 Apply CamelCase for class and struct names
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-24 15:36:27 +02:00