Commit Graph

128 Commits

Author SHA1 Message Date
Zbigniew Zdanowicz 46a63d3e0e refactor: unify programming of preferred slm size 5/n
- remove xe2 hpg encode preferred slm size
- add xe2 release helper preferred slm array
- add dedicated method to calculate thread count per sub slice

Related-To: NEO-12639

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-10-09 09:39:35 +02:00
Mateusz Jablonski 18a7a5f6fa refactor: update hw cmds base from gen8 to gen12lp
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-19 18:07:46 +02:00
Mateusz Jablonski 7e218a5f70 test: simplify IsAtLeastGen12lp and IsAtMostGen12lp matchers
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-17 13:42:19 +02:00
Mateusz Jablonski 3cc50f6861 test: remove deprecated matchers
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-17 09:54:12 +02:00
Maciej Plewka 1cd00b5b89 fix: use per product cache line size to align heaps
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-07-24 17:29:20 +02:00
Maciej Plewka afee8814ef refactor: get ioh alignment from static function
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-07-24 14:43:31 +02:00
Mateusz Hoppe 77b817a15c fix: fail when invalid zebin is decoded
- bindless + bindful accesses in single kernel are not supported

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-05-09 15:53:00 +02:00
Zbigniew Zdanowicz 489ef2a310 feature: add getter of walker inline data offset
Related-To: NEO-10381

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-28 09:39:49 +01:00
Katarzyna Cencelewska da7b03dd15 fix: to always use grfs count in calculateNumThreadsPerThreadGroup
grf size != grf count

Related-To: GSD-8437
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-03-22 11:03:18 +01:00
Wenju He 03078541d7 feature: make global bindless heaps resident when created
Make bindless heaps resident right after heap allocation.
Motivation is that SYCL bindless image can be passed as a value argument
or through memory. Therefore, we're not able to make its bindless heap
resident during kernel initialization or setting kernel arguments.

This fixes SYCL bindless image read_write_*D.cpp tests on DG2.

Related-To: NEO-7063
Signed-off-by: Wenju He <wenju.he@intel.com>
2024-03-20 14:40:11 +01:00
Mateusz Jablonski dd1b9d6abc refactor: correct naming of enum class constants 8/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 08:18:18 +01:00
Mateusz Jablonski 9486cd2a26 refactor: rename WALKER_TYPE to DefaultWalkerType
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-04 16:29:32 +01:00
Mateusz Hoppe 8056476d8d fix: program binding table for bindless kernels
- if binding table entries are used in bindless kernel, program Binding
table

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-12-01 19:54:10 +01:00
Kamil Kopryk aa950a4a96 feature: Add heapless mode programming in l0 1/n
Related-To: NEO-7621
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-12-01 17:01:01 +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
Mateusz Hoppe 5a4fa180d6 feature: control bindless compilation mode based on release
- check releaseHelper support when selecting bindless mode, if not
disabled, prefer bindless mode in L0 API
- bindless mode can be forced with DebugVariable: UseBindlessMode

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-19 10:11:11 +02:00
Dominik Dabek 75c4844987 feature(internal): logging kernel dispatch params
Use debug flag PrintKernelDispatchParameters to print params used in
thread group dispatch size heuristic when encoding kernel dispatch.

Related-To: NEO-6989

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-10-17 17:31:54 +02:00
Maciej Bielski 97e7cda912 feature: Optimize intra-module kernel ISA allocations
So far, there is a separate page allocated for each kernel's ISA within
`KernelImmutableData::initialize()`. Apparently the ISA blocks are often
much smaller than a 64k page, which leads to poor memory utilization and
was even observed to cause the device OOM error if a single module has
several keys.

Improve the situation by reusing the parent allocation (owned by the
module instance) for modules, which kernel ISAs can fit together within
a single 64k page. This improves the memory utilization on a single
module level.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-09-21 13:55:45 +02:00
Compute-Runtime-Validation 913a926fd4 Revert "feature: Optimize intra-module kernel ISA allocations"
This reverts commit c348831470.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-19 14:16:05 +02:00
Maciej Bielski c348831470 feature: Optimize intra-module kernel ISA allocations
So far, there is a separate page allocated for each kernel's ISA within
`KernelImmutableData::initialize()`. Apparently the ISA blocks are often
much smaller than a 64k page, which leads to poor memory utilization and
was even observed to cause the device OOM error if a single module has
several keys.

Improve the situation by reusing the parent allocation (owned by the
module instance) for modules, which kernel ISAs can fit together within
a single 64k page. This improves the memory utilization on a single
module level.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-09-19 12:05:09 +02:00
Dunajski, Bartosz 7562842a58 refactor: remove LogicalStateHelper
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-13 10:29:53 +02:00
Mateusz Jablonski 2d01bdec81 fix: change denorm mode in IDD to FlushToZero
denorm support is controlled by IGC, we should just set zero by default

Related-To: NEO-8059
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-23 09:28:32 +02:00
Mateusz Hoppe 313fb84fda feature: bindless addressing mode support
- allow bindless kernels to execute
- bindless addressing kernels are using private heaps mode
- do not differentiate bindful and bindless surface state base addresses

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-19 12:41:03 +02:00
Compute-Runtime-Validation 995e2a79c6 Revert "fix: change denorm mode in IDD to FlushToZero"
This reverts commit 987394b27c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-06-15 11:49:01 +02:00
Mateusz Jablonski 987394b27c fix: change denorm mode in IDD to FlushToZero
denorm support is controlled by IGC, we should just set zero by default

Related-To: NEO-8059
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-13 13:42:50 +02:00
Kamil Kopryk 6a0f7afd64 feature: verify stateful information only when binary is generated by IGC
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Related-To: NEO-6075

Ngen binaries contain stateful information, however they are
not used in isa on Pvc. Therefore, we can just ignore them.
2023-06-12 11:45:41 +02:00
Mateusz Hoppe 0844ca0ac8 refactor: cleanup getBindlessMode() usage
- getGlobalBindlessHeapConfiguration() should be used to choose global
alloctor for SSH
- remove not needed and incorrect unit tests
- remove not needed branches
- bindless mode controls bindless compilation only

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-06 17:23:13 +02:00
Mateusz Hoppe 19bb1e334c feature: enable SW exceptions for kernels with assert and debugging
- when debugging is enabled, assert() in gpu kernel will trigger SW
exception

Related-To: NEO-5753

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-01 15:31:36 +02:00
Dunajski, Bartosz 808ff8c2e4 refactor: remove unused EncodeDispatchKernelArgs field
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-01 10:42:22 +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
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
Zbigniew Zdanowicz 38e50007f7 [perf] simplify memory layout of command container class
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-23 13:31:47 +01:00
Zbigniew Zdanowicz bc4e540c33 [fix] unify heaps size programing
- share same code between csr and cmd container to get default heap size
- share handling of debug flag to change heap size
- share platform level surface heap size between csr and command list
- refactor heap size files
- put heap size constant and function into namespace
- command list surface heap size increased to 2MB for xehp+ to match csr
- command list increased surface heap size only for sba tracking
- sba tracking heap consumption increased due to different reset policy

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-17 08:34:06 +01:00
Zbigniew Zdanowicz 34064811d2 Refactor state base address programing 4/n
- This change gets level one cache policy from cached values instead
of calling virtual methods

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-27 17:30:36 +01:00
Lukasz Jobczyk 2f5be7a48d Copy command buffer into ring buffer
Resolves: NEO-7422

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-22 16:37:34 +01:00
Warchulski, Jaroslaw 5ec9de90ee Cleanup includes 52
Cleaned up files:
level_zero/core/source/driver/driver.h
level_zero/tools/source/sysman/fabric_port/windows/os_fabric_port_imp.h
level_zero/tools/source/sysman/pci/os_pci.h
shared/source/debug_settings/debug_settings_manager.h
shared/source/gmm_helper/page_table_mngr.h
shared/source/gmm_helper/windows/gmm_memory_base.h
shared/source/kernel/kernel_arg_metadata.h
shared/test/common/libult/linux/drm_mock.h
shared/test/unit_test/fixtures/command_container_fixture.h
shared/test/unit_test/fixtures/product_config_fixture.h
shared/test/unit_test/helpers/simd_helper_tests_pvc_and_later.inl
shared/test/unit_test/os_interface/hw_info_config_tests.h

Related-To: NEO-5548

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-13 11:39:34 +01:00
Warchulski, Jaroslaw a2e6a8284b Cleanup includes 47
Cleaned up files:
level_zero/tools/source/debug/windows/debug_session.h
level_zero/tools/source/sysman/memory/windows/os_memory_imp.h
level_zero/tools/source/sysman/windows/kmd_sys_manager.h
opencl/test/unit_test/aub_tests/command_stream/copy_engine_aub_tests_xehp_and
shared/source/command_container/command_encoder.inl
shared/source/command_stream/command_stream_receiver_hw_xehp_and_later.inl
shared/source/helpers/blit_commands_helper_base.inl
shared/test/unit_test/image/image_surface_state_fixture.h
shared/test/unit_test/os_interface/windows/os_interface_win_tests.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-10 17:07:30 +01:00
Zbigniew Zdanowicz 7e0401d280 Add improvements to heap estimation in level zero command lists
- add estimation parameter for interface descriptor data count
- add to the heap estimation alignment parameter for dynamic and surface heaps
- extend encode interface and implementations to allow child heaps

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-03 20:26:27 +01:00
Zbigniew Zdanowicz 5097ef4825 Change dispatch kernel interface to provide already prepared heap objects
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-02 14:08:43 +01:00
Kamil Kopryk 2484c7ceb2 refactor: rename hw_helper files to gfx_core_helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-01 19:37:51 +01:00
Zbigniew Zdanowicz 34b8f08fc6 Add state base address properties tracking for command lists
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-01-31 12:47:17 +01:00
Kamil Kopryk 004d3e3416 refactor: don't use global ProductHelper getter 18
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-30 08:15:39 +01:00
Warchulski, Jaroslaw 49837b7bb5 Cleanup includes 39
Cleaned up files:
shared/source/command_container/command_encoder.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-23 11:56:42 +01:00
Kamil Kopryk a4eba996f7 refactor: don't use global ProductHelper getter 4/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-20 10:27:27 +01:00
Kamil Kopryk f2bbb56d29 refactor: don't use global GfxCoreHelper getter 2/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-10 13:07:03 +01:00
Warchulski, Jaroslaw c3a86232d9 Cleanup includes 15
Cleaned up files:
shared/source/command_stream/command_stream_receiver.h
shared/source/command_stream/submissions_aggregator.h
shared/source/helpers/flat_batch_buffer_helper.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-23 12:36:51 +01:00
Tratnack, Geoffrey d2c218efe3 Add a patch to command encoder for samplers when DSH is dirty.
Signed-off-by: Tratnack, Geoffrey geoffrey.tratnack@intel.com
Related-To: LOCI-3365
2022-12-09 11:08:23 +01:00
Kamil Kopryk 03b687881f Rename HwHelper -> GfxCoreHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-09 10:29:06 +01:00
Warchulski, Jaroslaw 1fa5710dff Cleanup includes 10
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-05 12:39:33 +01:00
Dunajski, Bartosz 6f4e7b98dc Unify IDD DenormMode programming
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-15 20:06:45 +01:00