Commit Graph

1746 Commits

Author SHA1 Message Date
7e7f8b5bc2 Move files from shared/test/unit_test to shared/test/common
unit_test/helpers/debug_helpers.cpp -> common/helpers
unit_test/page_fault_manager/default_asan_options.cpp -> common/page_fault_manag
unit_test/utilities/cpuintrinsics.cpp -> common/utilities
unit_test/memory_manager/deferred_deleter_mt_tests.cpp -> opencl/test/unit_test/
delete: unit_test/mocks/debugger_l0_create.cpp
delete: unit_test/page_fault_manager/default_asan_options.cpp

Related-To: NEO-6524
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-08-30 12:24:28 +02:00
4809a2a9b3 Allow debug flag to apply allocation alignment for heaps
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-08-29 15:17:56 +02:00
2621460e80 Revert "Change DG2 l1 cache policy to WB"
This reverts commit a820e73dd7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-08-27 08:04:19 +02:00
c0342a0ab5 Optimize binaries' size by adjusting linkage of constants in headers
When header is included for the first time in translation unit,
then preprocessor simply copy-pastes its content. If we define a
constant in a header file and this constant has internal linkage
then each and every translation unit, which includes this header
will have its own copy of this constant.

C++17 introduces inline variables, which are meant to allow creation
of variables in header files, which do not cause multiple instances.

The inline variable has a single instance when:
- constexpr is used without static (constexpr implicitly implies inline)
- inline is used without static
- inline const is used without static (const does not imply internal linkage
when used with inline)

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-08-26 22:52:04 +02:00
54042a191e Implement PauseOnEnqueue for L0
Allow pausing execution before and after enqueuing kernel
using the PauseOnEnqueue and PauseOnGpuMode debug flags.

Related-To: NEO-6570
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2022-08-26 14:48:58 +02:00
a820e73dd7 Change DG2 l1 cache policy to WB
With compiler LSC WAs this gives better performance.

If debugger is active, policy will not be changed ie.
will be WBP.

Related-To: NEO-7003

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-08-26 12:58:45 +02:00
2d949a9f3d Fix device allocation cache
Do not use aligned size when storing allocation
Trim allocation cache before deleting devices

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-08-26 11:15:56 +02:00
cd0c97bdc5 Support for non-Latin characters in application path for AIL
Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2022-08-26 09:23:46 +02:00
94ff080c2a Revert "Call setupHardwareInfoBase inside setupHardwareInfo on pvc"
This reverts commit e8df81158d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-08-25 22:43:14 +02:00
f656707fc0 Use hardware support flags for state compute mode state changes
Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-25 18:46:37 +02:00
d14e45c8e6 infra update
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-08-25 12:25:16 +02:00
98500ee653 Allow overriding hw config on aub/tbx mode
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2022-08-25 10:54:42 +02:00
cf7e7fbc4e CMake: don't include shared/test/unit_test when shared tests are skipped
opencl/test/unit_test/gen9/hw_helper_tests_gen9.cpp -> unit_test/gen9
opencl/test/unit_test/gen11/hw_helper_tests_gen11.cpp -> unit_test/gen11
unit_test/device_binary_format/elf/elf_tests_data.h -> common/device_binary/elf

Related-To: NEO-6524
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-08-25 10:48:37 +02:00
e8df81158d Call setupHardwareInfoBase inside setupHardwareInfo on pvc
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-08-24 17:38:29 +02:00
72c3a04bfd connect hardware pipeline properties support flags to stream properties
Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-24 14:32:29 +02:00
9763d42379 Fix type redefinition
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-08-24 09:45:13 +02:00
835174c076 Remove builtins duplication
Resolves: NEO-7064

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-08-24 07:27:46 +02:00
a5b4a13452 Revert "Return error when image arg does not support media block commands"
This reverts commit 8388e6cf4a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-08-24 06:23:22 +02:00
54041d0f2f Revert "Add hardware support for each pipeline property"
This reverts commit 02cf62902b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-08-24 04:54:22 +02:00
02cf62902b Add hardware support for each pipeline property
This change is a baseline for tight control over
when dispatch pipeline state commands and which
pipeline state properties can be changed for a
given hardware platform

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-23 17:29:14 +02:00
9974d95dc3 Restore wait on user fence during cmdlist destoy/reset
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-7156
2022-08-23 16:51:56 +02:00
595cfebaef Refactor PIPE_CONTROL programming
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-08-23 13:55:25 +02:00
8388e6cf4a Return error when image arg does not support media block commands
Related-To: NEO-7168

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-08-23 12:07:29 +02:00
f7925b9f15 Use unique_ptr in tests of surface
This change removes manual memory management via new/delete
and replaces it with std::unique_ptr.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-08-23 11:32:50 +02:00
5584c1fe7a Set guid and offset for reading UUID
Related-To: LOCI-2831

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-08-23 09:03:10 +02:00
315f6230bf correct name of evict flag to match wddm
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-22 18:14:51 +02:00
9cf95c044e Refactor and reposition state base address tests
Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-22 16:31:09 +02:00
82e29fd048 Add bcs split control mask
Introduce debug variable to control which engines
the tranfser will be split into

Related-To: NEO-7173

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-08-19 13:21:10 +02:00
7319d05469 Revert "feat(zebin): set missing pointer size for arg type buffer address"
This reverts commit cc17c53a77.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-08-19 06:54:59 +02:00
cc17c53a77 feat(zebin): set missing pointer size for arg type buffer address
Set missing pointer size for argument type buffer address in zebin.
This PR is related to test failures after merging corresponding IGC
change.

Related-To: IGC-5486
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-08-18 20:37:24 +02:00
18adbed233 feat(zebin): add thread scheduling mode support
Resolves: NEO-7197

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-08-18 16:10:18 +02:00
01b324953e L0Debug - allocate per-tile ISA when tileAttach is enabled
Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-18 15:48:31 +02:00
0011368775 Add parameter to set surface state base address value
This change introduces capability to set surface state base address
when surface state heap or global base address are not available

Related-To: NEO-7187

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-18 15:36:43 +02:00
99c5de855c improve error reporting from ULTs
- preserve original stdout and restore in signal handler what is needed
if stdout capture was enabled by GTest framework
- print information about time elapsed on SIGALRM

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-08-18 15:21:53 +02:00
b10b3ed9dd Add initial enqueue bcs split infrastructure
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-08-18 15:02:08 +02:00
aa3a4765b9 Respect ForceAllResourcesUncached flag
Respect debug flag ForceAllResourcesUncached even when
Override L1 Policy flags are also set

Related-To: NEO-7003

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-08-18 11:46:33 +02:00
acac5ea0d5 Use correct engine group type when programming state base address
Command lists and their helper classes should use engine group type
assigned to the particular command list to check if it is RCS group
and not use default CSR class assigned to the device, since default
and current in command list might be different.

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-17 20:38:23 +02:00
dda5b19859 Adjust the implementation of strncpy_s() for Linux
This change:
- prevents writing memory out of the range of the destination buffer
- prevents calling strlen() with non-null terminated c-string
- corrects the logic, which validates passed range to proceed
when real length fits the destination buffer

Related-To: NEO-7264
Signed-off-by: Wrobel, Patryk <patryk.wrobel@intel.com>
2022-08-17 18:37:46 +02:00
260a324a6f Move files between shared/test/common and /unit_test (xe_*_core, page_fault...)
common/xe_hpc_core/test_preemption_xe_hpc_core -> unit_test/xe_hpc_core
common/xe_hpg_core/excludes_xe_hpg_core -> unit_test/xe_hpg_core
common/xe_hpg_core/dg2/excludes_dg2 -> unit_test/xe_hpg_core/dg2
common/xe_hpg_core/test_preemption_xe_hpg_core -> unit_test/xe_hpg_core
unit_test/base_ult_config_listener.cpp -> common
unit_test/base_ult_config_listener.h -> common
unit_test/test_stats.h -> common
unit_test/test_configuration.h -> common
unit_test/page_fault_manager/cpu_page_fault_manager_tests.h -> common/fixtures
unit_test/page_fault_manager/mock_cpu_page_fault_manager.h -> common/mocks

Related-To: NEO-6524

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-08-17 16:17:00 +02:00
497e5a4765 Zebin: Create mock zebin module for L0 common test module
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-08-17 15:12:49 +02:00
d36a383a84 Delete redundant matchers and use common matchers instead
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2022-08-17 13:54:15 +02:00
d795182eae Move files from shared/test/unit_test to /common (preamble, utilities)
unit_test/preamble/preamble_fixture.h -> common/fixtures
unit_test/source_level_debugger -> common/
unit_test/utilities/base_object_utils.h -> common/utilities
unit_test/utilities/destructor_counted.h -> common/utilities
unit_test/utilities/logger_tests.h -> common/utilities

Related-To: NEO-6524
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-08-17 11:24:58 +02:00
649cd3441a Rename TestBodyImpl->testBodyImpl
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-08-17 10:47:05 +02:00
ceb9d81f87 Add struct argument for input/output in StateBaseAddressHelper
This refactor makes future interface changes easier

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-17 10:28:49 +02:00
9b1afe4067 Minor: Add missing override
Signed-off-by: Cetnerowski, Adam <adam.cetnerowski@intel.com>
2022-08-17 10:00:02 +02:00
bca852617c Remove usage of TestLegacy from opencl tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-08-16 22:16:48 +02:00
44d218e52e Linker: Add support for relocation type PerThreadPayloadOffset
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-08-16 19:14:27 +02:00
5e58104f5a Add flag to control prefetcher disabling behaviour
Certain platforms might not require prefetcher to
be disabled in direct submission. This change
provides a way to control that behaviour.

Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-7218
2022-08-16 16:01:30 +02:00
bfc0919999 Remove usage of TestLegacy from shared tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-08-16 14:36:33 +02:00
cb23a38aad Do not copy arguments passed to FileLogger
Historically, FileLogger was intended to work with scalar types.
Therefore, its member functions utilized parameter packs, which
copied the arguments. However, some time ago std::strings had
started to be passed to this function. The recursion was performing
multiple copies of the same std::string, which could cause
unneeded memory allocations.

This change:
- replaces copying with const references
- applies std::move() operator if possible
- replaces std::unique_lock with std::lock_guard

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-08-16 14:04:52 +02:00