Commit Graph

98 Commits

Author SHA1 Message Date
Zbigniew Zdanowicz
ff88930625 Refactor ipc event pool data exchange protocol
- 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>
2023-01-17 10:46:52 +01:00
Warchulski, Jaroslaw
c275008e51 Cleanup includes 32
Cleaned up files:
level_zero/core/source/cmdlist/cmdlist_hw.h
level_zero/core/source/cmdqueue/cmdqueue.h
level_zero/core/source/event/event.h
opencl/source/helpers/get_info_status_mapper.h
opencl/source/helpers/hardware_commands_helper.h
shared/source/helpers/per_thread_data.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-16 20:41:37 +01:00
Zbigniew Zdanowicz
ee99df18aa Fix event signaling in command list extension function
Related-To: NEO-7490

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-01-13 14:13:00 +01:00
Zbigniew Zdanowicz
5a82b84219 refactor event interface for better use of functions
Related-To: NEO-7490

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-01-12 11:50:35 +01:00
Zbigniew Zdanowicz
5339d5c0af refactor level zero event for better access of completion field
Related-To: NEO-7490

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-01-12 10:57:57 +01:00
Warchulski, Jaroslaw
7ae44268cb Cleanup includes 17
Cleaned up files:
shared/source/built_ins/sip.h
shared/source/compiler_interface/compiler_cache.h
shared/source/compiler_interface/compiler_interface.h
shared/source/device_binary_format/device_binary_formats.h
shared/source/helpers/timestamp_packet.h
shared/source/kernel/debug_data.h
shared/source/utilities/tag_allocator.h
shared/test/common/mocks/mock_device.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-02 10:59:08 +01:00
Spruit, Neil R
905a0bc0b4 Fix Device Allocated IPC Events for L0
- 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>
2022-12-23 03:29:16 +01:00
Compute-Runtime-Validation
08f53f4e96 Revert "Fix Device Allocated IPC Events for L0"
This reverts commit 1292ea26f5.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-22 21:42:26 +01:00
Spruit, Neil R
1292ea26f5 Fix Device Allocated IPC Events for L0
- 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>
2022-12-20 23:43:03 +01:00
Kamil Kopryk
4a87266be1 Don't use global getter for L0GfxCoreHelper and GfxCoreHelper in L0 files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-20 16:51:43 +01:00
Zbigniew Zdanowicz
595aa2f626 Fix issues in signal all event packets 6/n
This fix unifies setting event properties in event pool, so they are shared
betweem all event pool devices.

Related-To: NEO-7490

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-12-20 10:42:42 +01:00
Compute-Runtime-Validation
ad072b4d5d Revert "Fix Device Allocated IPC Events"
This reverts commit 1360ec9179.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-17 05:36:59 +01:00
Spruit, Neil R
1360ec9179 Fix Device Allocated IPC Events
- 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.

Related-To: LOCI-3764

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-12-15 23:35:39 +01:00
Szymon Morek
637c4e5621 Disable state caching if used on regular cmd list
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-12-09 16:47:39 +01:00
Kamil Kopryk
6993ed5c52 Reduce binaries sizes 2/n
Observed about 50MB reduction in overall binaries size (directory build))
when building all targets
with MSVC (Visual Studio 2022 17.3.0 preview 6)
using Debug 64 configuration.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-08 16:14:38 +01:00
Szymon Morek
4598fc61e2 Don't access virtual method if not needed
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-11-25 16:16:32 +01:00
Szymon Morek
5d2ed42275 Disable isCompleted state if event reset on GPU
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-11-22 17:11:07 +01:00
Zbigniew Zdanowicz
be1c1e89cb Add option to signal and synchronize using all available event packets
Related-To: NEO-7469

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-11-10 23:28:43 +01:00
Kamil Kopryk
af3f370ff0 Correct event reset
Related-To: NEO-7391
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-11-09 17:20:22 +01:00
Zbigniew Zdanowicz
27d042107a Add feature to estimate number of event packets
Related-To: NEO-7469

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-11-04 18:38:17 +01:00
Szymon Morek
d3f30b4046 Remove not needed access to atomic variable
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-10-11 09:34:24 +02:00
Szymon Morek
67c0378a63 set Event::csr for immediate cmdlists
Currently Event::csr is set during
initialization and never changes.
This PR is to associate Event::csr with the one
that was used to dispatch task in cmdlist

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-10-03 11:54:11 +02:00
Szymon Morek
ec04de61a7 [L0][XE_HPC]Perform memcpy on CPU for non-usm ptrs
Related-To: NEO-7237

If size is small enough, it is more efficient to
perform copy through locked ptr on CPU.
This change also introduces experimental flag to
enable this.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-09-26 13:20:40 +02:00
Szymon Morek
ec619f4259 Set event as completed after host signal
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-09-14 15:10:14 +02:00
Szymon Morek
5137b70658 Don't read event memory if signaled state is true
Related-To: NEO-7302

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-09-13 14:34:44 +02:00
Neil R Spruit
ada9b5d4a9 Handle if L0 Event Memory is Shareable
- Properly check for IPC event handle flag to determine if the event
pool memory is sharable between processes.
- Given Host Visible Event Pool, a check is done to determine if the
Host memory can be shared between the processes.
- Enabled handling if Event Host Memory is shareable for DRM
- If Event Pool Memory is Not shareable, then retrieving the IPC Event
Pool Handle returns unsupported.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2022-08-05 00:11:05 +02:00
Mateusz Jablonski
5bf1c84ed3 Cleanup includes in sampler, image, builtin and event
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-03 10:21:59 +02:00
Zbigniew Zdanowicz
7ca20ceb4b Change event algorithm to limit cache flush operation to single kernel packet
Related-To: NEO-6871

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-05-23 13:58:16 +02:00
Artur Harasimiuk
e9be9b64c6 clang-tidy configuration cleanup
Define single .clang-tidy configuration with all used checks and use
NOLINT to selectively silence tool. That way cleanup should be easier.
third_part/ has its own configuration that disables clang-tidy for this
folder.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-11 14:02:04 +02:00
Zbigniew Zdanowicz
819d648997 Use single event for multiple kernels
Related-To: NEO-6871

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-04-28 15:10:04 +02:00
Aravind Gopalakrishnan
79b8051eab Fix packet count when programming L3 flush
Related-To: NEO-5968

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-04-19 17:01:44 +02:00
Zbigniew Zdanowicz
7d79c64c35 Change event memory layout for multi tile capable platforms
Related-To: NEO-6811

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-04-07 10:44:14 +02:00
Compute-Runtime-Validation
b88e16252e Revert "Change event memory layout for multi tile capable platforms"
This reverts commit 616dd55789.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-04-07 07:55:34 +02:00
Zbigniew Zdanowicz
616dd55789 Change event memory layout for multi tile capable platforms
Related-To: NEO-6811

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-04-06 11:20:57 +02:00
Zbigniew Zdanowicz
a6d99f416d Use context end offset for partitioned events
Related-To: NEO-6811

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-03-30 14:20:03 +02:00
Aravind Gopalakrishnan
c1970942aa Update debug key to override timestamp event settings
Related-To: NEO-5968

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-02-23 23:38:05 +01:00
Patryk Wrobel
1275c4e200 Detect GPU hang in remaining blocking calls of L0
This change introduces detection of GPU hangs in
zeEventHostSynchronize and zeFenceHostSynchronize.
Furthermore, if CommandQueueHw::executeCommandLists
uses ZE_COMMAND_QUEUE_MODE_SYNCHRONOUS and hang occurs,
the information about it is propagated to the caller.

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-02-16 14:47:29 +01:00
Aravind Gopalakrishnan
882ae8088f Skip L3Flush event packets during timestamp calculation
Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2021-12-29 20:03:48 +01:00
Zbigniew Zdanowicz
bac79244d5 Add multi tile event signal capability
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-09 12:13:23 +01:00
Zbigniew Zdanowicz
f47814fb32 Remove not needed virtual methods from event class
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-08 12:43:46 +01:00
Zbigniew Zdanowicz
d497392b55 Add command buffer estimation for append wait on events operation
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-06 12:04:59 +01:00
Zbigniew Zdanowicz
df6829f361 Use event pool init code for result of event pool api creation function
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-09 16:29:49 +01:00
Aravind Gopalakrishnan
37ec3cb74e Events workaround for L3Flush issue
Related-To: LOCI-2361

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2021-10-07 03:49:10 +02:00
Aravind Gopalakrishnan
4f7f70fa96 Revert "Events workaround for L3Flush issue"
This reverts commit 473d61d95f169dfe300f0fb7ba8564ac3628a3a9.

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2021-09-21 21:50:50 +02:00
Aravind Gopalakrishnan
0c2800d37f Events workaround for L3Flush issue
Related-To: LOCI-2361

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2021-09-15 23:08:16 +02:00
Mateusz Jablonski
f727d26aa0 Revert "SW WA to add PIPE_CONTROL with dcFlush enabled when event scope..."
This reverts commit c051495eb8

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-09-06 16:37:34 +02:00
Vinod Tipparaju
c051495eb8 SW WA to add PIPE_CONTROL with dcFlush enabled when event scope is host/device
Related-To: LOCI-2361

Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2021-09-03 16:57:57 +02:00
Jaime Arteaga
38e36d00af Skip reset of IPC events
This because they might have been imported after their status
having been already changed by the exporter.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-08-18 22:14:37 +02:00
Aravind Gopalakrishnan
fa2ddedf42 Add implementation for zeEventQueryTimestampExp
Related-To: LOCI-2318

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2021-08-06 11:43:25 +02:00
Bartosz Dunajski
0ecc7b26b4 Revert "Use UINT64_MAX for infinite event timeout"
This reverts commit 147d9b592a810bf80a192833724a79596ec095b9.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-02 12:54:46 +02:00