Commit Graph

2515 Commits

Author SHA1 Message Date
Bartosz Dunajski db9c0d1103 Refactor and enable MI_MEM_FENCE programming for DirectSubmission dispatch
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-07 12:53:56 +02:00
Daniel Chabrowski 3c4b442c79 Virtual engines for BCS
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-04-07 11:52:29 +02:00
Zbigniew Zdanowicz fd45ac133d Unify append calls
Related-To: NEO-6242

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-04-07 10:18:55 +02:00
Mateusz Hoppe 5b175ebb4a Fix Scratch surface state programming on PVC
- program max num of threads in surface state

Resolves: NEO-6850

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-04-07 07:44:23 +02:00
Compute-Runtime-Validation 7a3976ad64 Revert "Force 64KB page size for cpu alignment in dual storage allocation"
This reverts commit 7ff6a5c1fa.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-04-07 00:45:07 +02:00
Compute-Runtime-Validation 64d3f95410 Revert "Allow for zebin rebuild when IR is present"
This reverts commit 2ae3f3e521.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-04-06 23:17:22 +02:00
Michal Mrozek fe9fe80fc6 Avoid dynamic memory allocation [3/n]
- use reference on auto type to prevent copy.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-04-06 18:07:19 +02:00
Kamil Diedrich 7ff6a5c1fa Force 64KB page size for cpu alignment in dual storage allocation
There is no need to force 2MB alignment for CPU allocation in dual
storage usage. Additionaly for WSL this will allow to avoid usage of
malloc in driver path.

Relates-To: NEO-6620
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-04-06 15:28:17 +02:00
Dominik Dabek 4044320301 Limit allocations in execute command list
Reserve space in ResidencyContainer

Related-To: NEO-6837

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-04-06 15:00:34 +02:00
Dominik Dabek 8d5c674110 Dynamic memory tracking, update function printing
Print only demangled name if it succeeded.

Related-To: NEO-6837

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-04-06 14:34:24 +02:00
Bartosz Dunajski 6e9c890890 Enable sfence instruction programming for DirectSubmission dispatch
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-06 14:24:04 +02:00
Zbigniew Zdanowicz f4407064a4 Refactor store register mem encoder to include partition parameter
Related-To: NEO-6811

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-04-06 14:00:56 +02:00
Aravind Gopalakrishnan 4fdb0700fe Disable flush task path on ATS
Related-To: LOCI-2984

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-04-06 02:14:41 +02:00
Dominik Dabek f7a767c767 Add demangling to dynamic memory tracking
Related-To: NEO-6837

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-04-05 20:38:27 +02:00
Mateusz Jablonski d3b7ea10c8 Dont allocate dynamic memory when preparing params for vm bind call
Related-To: NEO-6837
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-05 19:41:56 +02:00
Daniel Chabrowski eaba246464 Test prelim command stream and clos cache
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-04-05 16:48:00 +02:00
Krystian Chmielewski 2ae3f3e521 Allow for zebin rebuild when IR is present
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-04-05 10:25:06 +02:00
Mateusz Jablonski 95103c3a33 Correct getters in generated commands
cast to uint64_t before shifting value

Related-To: NEO-6475
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-04 16:35:17 +02:00
Filip Hazubski d2462ff8fb Add debug flag to control ISA allocation padding
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-04-04 15:12:30 +02:00
Mateusz Jablonski 7f6296174c Add PVC device ids
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-04 10:48:59 +02:00
Michal Mrozek 787c74ce7a Do not make dynamic allocations in hot calls.
std::stringstream does memory allocation even though it is not used.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-04-01 20:23:59 +02:00
Bartosz Dunajski 779bca39a7 Debug flag to add sfence instruction prior to DirectSubmission dispatch
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-01 15:53:03 +02:00
Mateusz Hoppe beff0019d1 SBA tracking for single address space
Related-To: NEO-6539


Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-04-01 15:24:11 +02:00
Mateusz Hoppe 4374197c9d Fixes for bindless configuration
- enhance ults code, do not inject memory manager
- fix some issues related to bindless global heap

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-04-01 15:08:43 +02:00
Mateusz Jablonski 7910567a76 Handle missing tag address in getting completion address
rename test fixture to comply one definition rule

Related-To: NEO-6643
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-01 15:00:35 +02:00
Filip Hazubski 88193cc242 Minor fixes
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-31 20:02:11 +02:00
Mateusz Jablonski 9d502dea25 Refactor waitOnCompletionFence method in DrmMemoryManager
get completion address and value from command stream receiver

Related-To: NEO-6643

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-31 19:30:16 +02:00
Michal Mrozek 0c0603966b Add debug functionality to track dynamic allocations.
- available only via manual build with ENABLE_DYNAMIC_MEMORY_TRACKING.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-31 13:24:15 +02:00
Dominik Dabek 308f9ccfff Do not allocate dynamic state heap if not needed
Dynamic state heap is only used for sampler data.

Related-To: NEO-6821

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-03-31 12:13:13 +02:00
Kacper Nowak afd71beee9 Add slm_alignment entry to .zeInfo payload_arguments section
This commit adds suport for parsing "slm_alignment" entry in .ze_info
section.
- Set requiredSlmAlignment for addresing mode slm
- Enable optional passed slm alignment parsing (with default value=16
left).

Related-To: NEO-6817
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-31 12:00:16 +02:00
Jobczyk, Lukasz a285712cc4 Add missing download allocation calls
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-31 09:49:22 +02:00
Sebastian Luzynski 01e76998d4 Remove unused CPU features
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2022-03-30 18:20:08 +02:00
Daniel Chabrowski 5350553f72 Use PrelimHelper for isDebugAttachAvailable
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-03-30 16:17:05 +02:00
Bartosz Dunajski 08e3853982 Debug flag to add extra MI_MEM_FENCE for DirectSubmission
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-30 16:07:25 +02:00
Compute-Runtime-Validation 91cfd3cd1a Revert "Unify command/ring/semaphore buffers placement"
This reverts commit e035199de4.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-30 14:05:47 +02:00
Krystian Chmielewski 6023a5b58e Zebin: don't fail when extfunc caller cannot be found
This commit removes early fail in linking with zebin and external
functions which happens when, there's a relocation to external functions
section, but it's not modifying any external function. And only treats
GLOBAL FUNC symbols pointing to external functions section as external
function symbols.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-03-30 13:53:25 +02:00
Milczarek, Slawomir 7cd4ca5ce7 Fixed AUB capture in HW mode for umd-migrated shared allocations
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-03-30 12:04:58 +02:00
Naklicki, Mateusz bce96e666f Use updated macro names
Related-To: NEO-6730

Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2022-03-30 10:44:59 +02:00
Sebastian Luzynski cf906030ac Add neon intrinsics for aarch64
Related-To: NEO-6452

Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2022-03-29 18:22:32 +02:00
Rafal Maziejuk c7d8915dd4 Add debug variable to print XY_BLOCK_COPY_BLT command details
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2022-03-29 18:15:13 +02:00
Mateusz Jablonski e035199de4 Unify command/ring/semaphore buffers placement
put them all to the same memory location

Related-To: NEO-6698
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-29 17:55:48 +02:00
Mateusz Hoppe 681c09d314 Extend LinearStream with gpuBase
- added methods to set and query gpu base address

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-03-29 15:15:53 +02:00
Bartosz Dunajski 68351249d1 Add debug flag to read back command buffer pointer
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-29 13:08:18 +02:00
Filip Hazubski 0fa923dff6 Add check for open syscall in case it fails
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-29 10:17:26 +02:00
Zbigniew Zdanowicz 9858438121 Limit multiple partition count to compute command lists
Related-To: NEO-6811

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-03-29 07:29:08 +02:00
Dominik Dabek fccda460d6 Optimize zeCommandListCreate
Do not allocate heap if command list is copy only.

Related-To: NEO-6821

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>

Co-authored-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-28 16:31:10 +02:00
Konstanty Misiak 174c27eb31 Fix CFEFusedEUDispatch debug flag
Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2022-03-28 12:32:05 +02:00
Jobczyk, Lukasz d77a6cbe4b Enable task count update from wait
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2022-03-28 11:09:55 +02:00
Filip Hazubski 3123ab5bf9 Correct media compression format for planar images
Set most significant bit for chroma planes.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-26 21:54:08 +01:00
Filip Hazubski 586e8510de Remove unneeded include
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-26 09:55:25 +01:00
Compute-Runtime-Validation c8116b713f Revert "Account for hwInfo when checking for implicit scaling support"
This reverts commit f6c5995219.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-25 21:41:51 +01:00
Mateusz Jablonski 3ac0581f2e Add debug flags to read back cmd/ring buffer before unblocking semaphore
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-25 20:36:29 +01:00
Mateusz Jablonski e11eb46bff Unify logic for programming mocs in post sync struct
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-25 17:01:51 +01:00
Bartosz Dunajski be50afb930 Add and enable Direct Submission ring switch tag update WA
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-25 12:26:29 +01:00
Daria Hinz efa57f734b Reset GT_SYSTEM_INFO values in ocloc
For AOT compilation, we don't want to set random/default values.
The uploaded structure to IGC will be reset.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-03-25 10:17:18 +01:00
Lukasz Jobczyk a230f267e1 Poll task count indefinitely on high throttle command queue
Resolves: NEO-6781

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-25 10:06:16 +01:00
Compute-Runtime-Validation 0c064ccf4c Revert "Enable task count update from wait"
This reverts commit 5118a5d3a6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-25 00:09:52 +01:00
Compute-Runtime-Validation 525470917f Revert "Clean up resources in final derived csr class"
This reverts commit 737e6e4de5.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-24 19:12:20 +01:00
Kacper Nowak 5477cb6b8c Correct typo
- Replace "aligMent" with correct "aligNMent"
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-24 17:46:49 +01:00
Daniel Chabrowski fc8e795f26 Remove use of alternative not operator
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
2022-03-24 13:13:34 +01:00
Kamil Kopryk f3bf5498a4 Fix typo
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-03-24 12:34:48 +01:00
Krzysztof Gibala ebc006ad53 Move SBA related WAs logic from CSR to EncodeWA
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-03-24 12:24:56 +01:00
Artur Harasimiuk 52da8f7260 allow external definition of NEO_KERNELS_BIN_DIR
Related-To: NEO-6783
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-03-24 12:00:46 +01:00
Kamil Kopryk c56046fd29 Move pvcSteppingBits to PVC struct
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6738
2022-03-24 11:56:39 +01:00
Lukasz Jobczyk 737e6e4de5 Clean up resources in final derived csr class
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-24 11:41:22 +01:00
Kamil Kopryk c415edaba1 Improve isGlobalFenceInCommandStreamRequired helper
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6738
2022-03-24 11:27:54 +01:00
Kamil Kopryk ea3eb2ea23 Improve hwInfoConfig xe_hpc_core helper
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6738
2022-03-24 11:17:58 +01:00
Mateusz Jablonski 8a8b4866cb XeHPC: force local memory for command/ring/semaphore buffer
require 48bit resource for ring/semaphore buffer
for multi tile allocations select first tile
for single tile allocation select preferred tile

Related-To: NEO-6698
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-24 10:54:26 +01:00
Zbigniew Zdanowicz 814b0ecb87 Improve wait function for Fence object
Related-To: NEO-6242

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-03-24 10:48:49 +01:00
Kacper Nowak 1b6a907b13 Code refactor
This commit:
- Optimizes usage of std::unordered map
- Corrects variables naming and output messages
- Minor changes in using std::string methods
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-23 23:12:21 +01:00
Raiyan Latif f6c5995219 Account for hwInfo when checking for implicit scaling support
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2022-03-23 19:16:03 +01:00
Joshua Santosh Ranjan 71abef22bd Code cleanup
This patch fixes missed type-casting.

Related-To: LOCI-3022

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-03-23 19:05:48 +01:00
Milczarek, Slawomir f03f530327 Extend zeCommandListAppendMemoryPrefetch to migrate to associated device
Related-To: NEO-6740

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-03-23 14:21:17 +01:00
Baj, Tomasz 1f7fd45251 Move device UUID from L0 to shared
Related-To: NEO-5681

Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2022-03-23 12:52:24 +01:00
Lukasz Jobczyk 5118a5d3a6 Enable task count update from wait
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-23 11:38:50 +01:00
Daniel Chabrowski 28b867f883 Move and extend local memory DRM allocations
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-03-22 13:47:05 +01:00
Jitendra Sharma f52f3df274 Add platform specific getter of debug surface size
For different platforms based on number of available threads
and debug surface layout, calculate max debug surface size.

Related-To: NEO-6676
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2022-03-22 12:18:40 +01:00
Kamil Kopryk 04a141698e Improve getThreadEuRatioForScratch helper
Related-To: NEO-6738

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-03-22 10:47:02 +01:00
Kacper Nowak 50aeae41bf Remove custom _PATCH_TOKEN_GLOBAL_HOST_ACCESS_TABLE definition
This commit removes custom definition of
_PATCH_TOKEN_GLOBAL_HOST_ACCESS_TABLE and
instead uses one provided by IGC.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-21 10:44:27 +01:00
Mateusz Jablonski 3792481d33 XeHPC Implicit scaling: put command/ring/semaphore buffer to first memory bank
In direct submission scenario command/ring/semaphore buffer allocations
are placed in the same memory bank to ensure that their memory is updated in
correct order

Related-To: NEO-6698
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-21 08:10:50 +01:00
Compute-Runtime-Validation be9ce8ee12 Revert "Add report of extension cl_intel_split_work_group_barrier"
This reverts commit 08a4df80e5.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-19 02:49:38 +01:00
Lukasz Jobczyk e870643c41 Adapt direct submission controller to implicit scaling
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-18 18:33:36 +01:00
Rafal Maziejuk 6ee5c0f677 Add appendBaseAddressOffset function to BlitCommandsHelper
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2022-03-18 16:46:15 +01:00
Lukasz Wesierski 08a4df80e5 Add report of extension cl_intel_split_work_group_barrier
Related-To: NEO-6746
Signed-off-by: Lukasz Wesierski <lukasz.wesierski@intel.com>
2022-03-18 14:06:29 +01:00
Zbigniew Zdanowicz 1540d06c25 Correct infinite timeout argument for event synchronization
Related-To: NEO-6242

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-03-18 13:07:09 +01:00
Daniel Chabrowski 754efbdaff Cleanup mocks
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-03-18 11:54:03 +01:00
Compute-Runtime-Validation 963536253f Revert "Correct infinite timeout argument for event synchronization"
This reverts commit 878466a1ea.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-17 10:31:55 +01:00
Jaime Arteaga c0e2251ceb Skip adding allocations to remote devices if not allocated there
When making graphics allocations resident in multi-GPU scenarios,
we should make them resident only if there's an allocation for that
device. So return appropriate null pointer and skip it.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-03-16 23:58:07 +01:00
Joshua Santosh Ranjan 05a150f49f L0 Core Add Support For pci_speed_ext
This patch adds support for reading PCI bandwidth, generation
and linkwidth information from sysfs nodes for the linux
platform.

Related-To: LOCI-2969

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-03-16 22:47:59 +01:00
Zbigniew Zdanowicz 878466a1ea Correct infinite timeout argument for event synchronization
Related-To: NEO-6242

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-03-16 17:58:36 +01:00
Michal Mrozek 493b01e3c8 Remove invariant code from the loop.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-16 14:39:26 +01:00
Filip Hazubski 35d9d9e18c Do not force resetting SCM properties
Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-16 14:16:45 +01:00
Filip Hazubski ef3dffca33 Remove unused function parameter
Remove parameter requiredThreadArbitrationPolicy
from PreambleHelper::programPreamble function.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-16 13:16:13 +01:00
Kacper Nowak 86434e485d Move PATCH_TOKEN_GLOBAL_HOST_ACCESS_TABLE to kernel scope tokens
This commit moves patch token with global host access table to the
kernel scope from the program scope.

Related-To: NEO-6734
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-16 12:58:25 +01:00
Maciej Bielski a71b88fefb PageFaultHandler: speedup UM allocations lookup
Add a per-instance SVMAllocsManager::nonGpuDomainAllocs container for
all allocations to be removed in
moveAllocationsWithinUMAllocsManagerToGpuDomain. This approach replaces
the current iterative search and performs the task faster.

Add 7 new unit-tests to verify the functionality related to
nonGpuDomainAllocs container, both in expected and unexpected/synthetic
scenarios.

For UTs replace a dummy unifiedMemoryManager pointer with a pointer to
an instace of SVMAllocsManager, otherwise a SegFault error is thrown at
the end of tests.

Perform overall cleanup in related tests implementation, includes but
not limited to removal of:

- givenInitialPlacementGpu\
WhenMovingToGpuDomainThenFirstAccessDoesNotInvokeTransfer

As it is fully covered by:

givenAllocationMovedToGpuDomain\
WhenVerifyingPagefaultThenAllocationIsMovedToCpuDomain

- givenInitialPlacementGpu\
WhenVerifyingPagefaultThenFirstAccessDoesNotInvokeTransfer

As it is fully covered by:

givenTbxAndnitialPlacementGpu\
WhenVerifyingPagefaultThenMemoryIsUnprotectedOnly

Finally, reduce code duplication where possible.

Related-To: NEO-6658
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2022-03-16 11:18:24 +01:00
Filip Hazubski cd95572443 Reuse common logic of programming SCM fields for gen 9 and gen 11
Logic related to programming non coherent and thread arbitration policy for
gens 9 and 11 has been moved to EncodeComputeMode object, where similar
logic for gens gen12lp and newer is located.

Functions PreambleHelper::programThreadArbitration and
PreambleHelper::getThreadArbitrationCommandsSize have been removed.

Redundant setForceNonCoherent call has been removed from XE HPG

Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-16 10:04:32 +01:00
Filip Hazubski 32b0f7b014 Remove redundant value CsrSizeRequestFlags::numGrfRequiredChanged
Related-To: NEO-5995

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-15 15:08:15 +01:00
Patryk Wrobel 4cde6ea1ce Detect GPU hangs in CommandMapUnmap::submit()
This change introduces detection of GPU hangs
in CommandMapUnmap::submit() as well as in Event::submitCommand().
ULTs have been added to cover the new code.

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-03-15 13:17:41 +01:00
Mateusz Jablonski c7e76ce109 Add support for a new relocation name for implicit args
Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-15 12:03:51 +01:00
Kamil Kopryk a20edd7160 Correct xe_hpc_core files
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6631
2022-03-15 09:28:18 +01:00
Compute-Runtime-Validation 45100d15ff Revert "Correct implicit args relocation name"
This reverts commit b840737b73.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-14 18:51:49 +01:00
Daria Hinz 452050ae40 Refactoring the use of PVC device ids
Replacing the old device id implementation
& clearing PVC XT temporary.

Related-To: NEO-6742
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-03-14 15:54:52 +01:00
Mateusz Jablonski b840737b73 Correct implicit args relocation name
Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-14 14:20:29 +01:00
Lukasz Jobczyk f8449fb216 Add round robin engine assign controls
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-14 10:57:20 +01:00
Bartosz Dunajski 058d87f712 Add ForceAllResourcesUncached support to CacheSettingsHelper
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-11 15:41:10 +01:00
Filip Hazubski 3eab7009ac Move SCM related WAs logic from CSR to EncodeComputeMode
This will help with unifying the logic between APIs and GENs.

Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-11 14:00:53 +01:00
Kamil Kopryk 7d6bee26c7 Move pvc helpers to pvc files
Related-To: NEO-6631
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-03-11 13:46:59 +01:00
Michal Mrozek 6b29b03c29 Change default thread arbitration policy on PVC.
New default is round robin after stall.
Resolves: NEO-6731

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-11 09:20:53 +01:00
Joshua Santosh Ranjan c7ce397b17 Metrics IP Sampling Add Support for Streamer APIs
This Patch adds support for collecting IP Metrics using
StreamerOpen, StreamerClose and StreamerReadData

Related-To: LOCI-2755
Related-To: LOCI-2756

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-03-11 03:03:22 +01:00
Bartosz Dunajski c6e27bdc18 Enable prepatcher DirectSubmission WA
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-10 20:23:11 +01:00
Bartosz Dunajski 79fedd59e4 Add BB_START prepatching WA - disabled by default
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-10 17:05:53 +01:00
Krystian Chmielewski 1b4319fdab Update zebin note target metadata
This commit removes ZebinTargetMetadata struct, and uses
ZebinTargetFlags for both target validations: via machine type, and
via intel gt notes.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-03-10 16:47:01 +01:00
Bartosz Dunajski b8028d79c7 PVC: Fix compute units for scratch calculation
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-10 14:04:58 +01:00
Bartosz Dunajski e24322f266 Debug flag to control MI_ARB_CHECK prefetcher
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-10 12:50:05 +01:00
Compute-Runtime-Validation 41c51df086 Revert "Recycle old command buffers of immediate command lists"
This reverts commit 8f93f4f3ec.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-10 09:12:47 +01:00
Compute-Runtime-Validation 1b1481e587 Revert "Add report of extension cl_intel_split_work_group_barrier"
This reverts commit 886d4a36f7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-09 20:11:27 +01:00
Patryk Wrobel 835b344968 Add debug flag to disable GPU hang detection
This change introduces the new flag called DisableGpuHangDetection.
By default it is disabled. When someone wants to disable hang checking,
then this flag can be set to true.

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-03-09 18:07:42 +01:00
Lukasz Wesierski 9d4dacacca Add report of extensions
cl_intel_subgroup_matrix_multiply_accumulate and
cl_intel_subgroup_split_matrix_multiply_accumulate

Related-To: NEO-6745
Signed-off-by: Lukasz Wesierski <lukasz.wesierski@intel.com>
2022-03-09 17:47:42 +01:00
Lukasz Wesierski 886d4a36f7 Add report of extension cl_intel_split_work_group_barrier
Related-To: NEO-6746
Signed-off-by: Lukasz Wesierski <lukasz.wesierski@intel.com>
2022-03-09 17:40:21 +01:00
Milczarek, Slawomir c0b7f05897 Add memory prefetch for kmd migrated shared allocations
This feature is disabled by default, controlled with the knob
AppendMemoryPrefetchForKmdMigratedSharedAllocations

Related-To: NEO-6740

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-03-09 16:02:18 +01:00
Mateusz Jablonski 3e8a6680e2 Allow undefined symbols in symbol table for OCL
Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-09 10:32:15 +01:00
Kamil Kopryk 038d1d54fa Correct xe_hpc tests
Related-To: NEO-6631


Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-03-09 09:21:30 +01:00
Filip Hazubski 43ed1acc63 Update StateComputeModeProperties design
Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-08 16:30:25 +01:00
Zbigniew Zdanowicz 8f93f4f3ec Recycle old command buffers of immediate command lists
Related-To: NEO-6242

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-03-08 14:59:26 +01:00
Filip Hazubski dd01cff879 Unify logic determining thread arbitration policy value
Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-08 13:14:56 +01:00
Filip Hazubski 865ef4d039 Add RPL-S device IDs
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-08 11:23:57 +01:00
Jaime Arteaga e959597546 Dont return on void function
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-03-07 21:48:38 +01:00
Zbigniew Zdanowicz 8f5dd3cff5 Refactor immediate command list flushing
Related-To: NEO-6242

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-03-07 20:37:28 +01:00
Filip Hazubski 80b520bc9b Change ThreadArbitrationPolicy enum type to int32_t
Change ThreadArbitrationPolicy::NotPresent value to -1
Update initial values to ThreadArbitrationPolicy::NotPresent

Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-07 20:04:24 +01:00
Bartosz Dunajski c612480f16 Add DG2 device ids
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-07 19:53:28 +01:00
Krystian Chmielewski 439389ae19 Do not resolve external functions when none passed
This commit adds check in Linker::resolveExternalFunctions checking
if external functions are present before trying to resolve dependencies
and adds default values for ExternalFunctionInfo.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-03-07 19:05:17 +01:00
Filip Hazubski 0f54a57910 Update programming STATE_COMPUTE_MODE
Remove function clearComputeModePropertiesIfNeeded.
If a field has to be programmed unconditionally, ignore isDirty flag.

Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-07 16:23:59 +01:00
Lukasz Jobczyk 3905fa7540 [PVC] Enable direct submission on main BCS
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-07 14:32:02 +01:00
Jaime Arteaga a010fb3634 Dont close shared handle on imported allocations
Related-To: LOCI-2272

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-03-06 04:35:47 +01:00
Michal Mrozek a0084d4e44 Move command buffers on PVC to local memory.
Better performance of fetching commands.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-04 15:26:24 +01:00
Michal Mrozek f293c9ab25 Avoid ReadModifyWrite problem on devices with coherent L3.
Setting one of bitfields requires read from local memory which is very slow.
This is not needed for devices that have coherent L3.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-04 15:05:04 +01:00
Kacper Nowak c5ff07237b Patchtokens: Add support for querying device globals by host name
This commit enables parsing symbol infos
passed in the PATCH_TOKEN_PROGRAM_SYMBOL_TABLE patchtoken.
Related-To: NEO-6734
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-04 14:38:19 +01:00
Krystian Chmielewski 0ccce5a6d7 Zebin: set kernel barriers based on ext funcs
This change allows for modifying kernel's barrier count
based on called external functions metadata passed
via zeInfo section in zebin.

Added parsing external functions metadata.
Added resolving external functions call graph.
Added updating kernel barriers based on called external functions.
Added support for L0 dynamic link.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-03-04 14:21:50 +01:00
Rafal Maziejuk 6658768149 Add check in XY_BLOCK_COPY_BLT surface width, height & depth setters
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2022-03-03 16:35:51 +01:00
Kacper Nowak 38086029ed Zebin: Add support for querying device globals by host name
This commit adds support for querying global pointers via decorated
names passed in zeInfo.
Related-To: NEO-6734
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-03 13:13:22 +01:00
Lukasz Jobczyk 999c6424a4 While enqueue blit do not flush gpgpu if already flushed
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-03 13:01:57 +01:00
Michal Mrozek 721c59d3d5 Move to StackVec for timestamp packet container.
Do not use std::vector in hot path.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-03 10:34:06 +01:00
Neil R Spruit fc11701422 LLVM IR removed from Compiler Link
Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2022-03-02 17:25:36 +01:00
Grzegorz Choinski b41f088fe9 rename neo_test_kernels to kernels_bin
Related-To: NEO-6172
Signed-off-by: Grzegorz Choinski <grzegorz.choinski@intel.com>
2022-03-02 13:46:26 +01:00
Michal Mrozek 8e94d568a8 Do not set dcFlush in Immediate dispatch mode.
Some devices do not need dcFlush.
Setting it prevents further optimization of pipe controls which
are not needed.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-02 13:20:28 +01:00
Lukasz Jobczyk a79b5184e2 Restore const reference
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-02 10:56:15 +01:00
Lukasz Jobczyk 3c30e1b02b Add AssignBCSAtEnqueue debug flag
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-01 12:43:36 +01:00
Bartosz Dunajski 927bbe9ee9 Disable DirectSubmission in aub/tbx mode
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-01 11:00:42 +01:00
Lukasz Jobczyk b096422e78 BCS round robin adjustments
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-01 09:45:38 +01:00
John Falkowski 22ed1be1a3 Add checks for mmap and getSpace
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2022-02-28 20:57:29 +01:00