Commit Graph

216 Commits

Author SHA1 Message Date
Lukasz Jobczyk
5d2b673ef6 fix: Adjust waitpkg threshold to 20 us
Resolves: HSD-13012958900

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-23 10:46:22 +02:00
Fabian Zwoliński
204577a91f fix: disable TimestampPoolAllocator
Related-To: NEO-12287, HSD-13012945876
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-04-18 11:30:35 +02:00
Marcel Skierkowski
e82be94368 refactor: Modernize writeDataToFile function
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-04-14 14:28:58 +02:00
Chodor, Jaroslaw
9e14eaaed1 feature: Adding support for scoped debug variables
This allows for limitting debug variables to specific
components.

Related-To: NEO-14473
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-04-11 17:52:17 +02:00
Marcel Skierkowski
5d01677454 refactor: Mock file system in ULTs
Functions: fileExists and loadDataToFile
use IO functions from namespace IoFunctions

Now tests that use these functions
are mocked by default,
but some still require access to real files
and have been restored the ability to read files.
They will be mocked in next PRs.

Related-To: NEO-7006
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-04-09 19:51:46 +02:00
Marcel Skierkowski
4b75d9b218 test: mock filesystem in setting manager
Related-To: NEO-14084
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-04-08 18:41:15 +02:00
Szymon Morek
95e0244f70 fix: properly pass info about 3D image
Related-To: NEO-14538

It's valid for 3D image to copy 2D region.
Current checks for mip map do not consider that.
This change correctly checks for mip mapped 3D image.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-04-03 16:33:57 +02:00
Szymon Morek
6ea83f322d fix: do not override user data beyond slice region
Related-To: NEO-14538

If user passes slice pitch which is larger than region
to copy, do not override memory beyond region but within
that slice pitch.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-04-03 12:37:35 +02:00
Fabian Zwoliński
7ef3880793 feature: implement pool allocator for gpuTimestampDeviceBuffer
The patch applies to Level Zero.
Only allocations < 2MB will be fetched from the pool.
Allocations are shared and reused within a given device.

Additionally, I added a new debug flag to control the allocator:
EnableTimestampPoolAllocator

Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-04-02 14:28:56 +02:00
Szymon Morek
8836f6df0b fix: forward mip map level for 3D images
Related-To: NEO-14539

1D and 2D images have already mip map level set correctly.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-04-02 11:46:41 +02:00
Szymon Morek
3010af596e performance: add infrastructure for staging with 3D images
Related-To: NEO-14026

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-04-01 15:30:30 +02:00
Lukasz Jobczyk
b43b23b6ed fix: Init wait utils after hwInfo init for both OS
Resolves: HSD-18041922513

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-27 16:45:22 +01:00
Lukasz Jobczyk
60b551758c performance: Adjust waitpkg threshold for discrete devices
Related-To: NEO-14336

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-26 14:59:19 +01:00
Lukasz Jobczyk
8fbde30432 fix: Adjust waitpkg threshold to 12 us
Resolves: NEO-14434, NEO-14435
Related-To: NEO-14336

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-24 11:43:54 +01:00
Lukasz Jobczyk
54cb0e24f8 performance: Switch waitpkg use to tpause for ULLS light
Related-To: NEO-13922, NEO-14336

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-21 18:09:37 +01:00
Lukasz Jobczyk
7c75807987 performance: Enable waitpkg with tpause
Resolves: NEO-14336

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-21 17:30:55 +01:00
Lukasz Jobczyk
8a85a96ed2 feature: Add 3-level wait scheme with tpause intrinsic
Related-To: NEO-14336

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-21 12:12:57 +01:00
Chodor, Jaroslaw
0bff9def3b feature: New allocators for opaque arrays
Adds fast allocators for opaque objects of uniform size.

Related-To: NEO-13406

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-03-20 21:59:44 +01:00
Lukasz Jobczyk
75461d190d performance: Adjust umwait counter value
Related-To: NEO-13922, NEO-14336

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-20 13:57:25 +01:00
Compute-Runtime-Validation
5f7f0dd785 Revert "performance: Enable waitpkg"
This reverts commit 8ec5434460.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-03-18 13:28:29 +01:00
Lukasz Jobczyk
8ec5434460 performance: Enable waitpkg
Resolves: NEO-14336

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-11 14:43:01 +01:00
Fabian Zwoliński
f5e37e725c Revert "fix: configure ISA Pool params based on productHelper"
This reverts commit bf20ae7ae8.

Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-03-10 22:41:13 +01:00
Lukasz Jobczyk
53062056ec performance: Enable wait pkg for ULLS light
Related-To: NEO-13922

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-07 12:18:38 +01:00
Szymon Morek
01a66a9347 fix: download staging buffer before reading from it
Related-To: NEO-14154

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-02-21 09:30:23 +01:00
Fabian Zwoliński
bf20ae7ae8 fix: configure ISA Pool params based on productHelper
When is2MBLocalMemAlignmentEnabled returns true,
increase pool size for builtins from 64k to 2MB.

Additionally, set appropriate alignment for kernel ISA heap allocations.
Additionally, configure isaAllocationPageSize based on productHelper

Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-02-20 08:42:35 +01:00
Fabian Zwoliński
1d8c8ac843 refactor: use designated initializers for SmallBuffersParams initialization
Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-02-13 12:32:52 +01:00
Szymon Morek
8152241693 fix: don't override user data during staging read
Related-To: NEO-13574

User can read image with row pitch larger than region width.
In such cases, don't override memory which is out of region
but within row pitch.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-02-12 16:22:48 +01:00
Fabian Zwoliński
1eb8e0efd9 fix: configure small buffers params based on productHelper
Refactor buffer pool allocator to support configurable
SmallBuffersParams based on product helper capabilities.

This patch enables setting custom pool
parameters instead of using fixed static values.

For devices with 2MB local memory alignment enabled
(is2MBLocalMemAlignmentEnabled),
use larger pool configuration:
- Pool size: 16MB (up from 2MB)
- Threshold: 2MB (up from 1MB)
- Alignment: 64KB (unchanged)
- Starting offset: 64KB (unchanged)

This improves memory utilization for devices supporting larger memory
alignments
while maintaining original parameters for other devices.

Key changes:
- Moved params from static template to instance member
- Added SmallBuffersParams struct with default/large configs
- Added constructor and setter methods for params configuration

Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-02-07 12:01:23 +01:00
Szymon Morek
b11322332c performance: enable staging write for cl buffers
Related-To: NEO-13529

Also, add size threshold on iGPU on Linux,
and disable staging if imported host ptr could
be reused

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-02-05 09:41:17 +01:00
Lukasz Jobczyk
09e23804dc refactor: Use timestamp types for events and in order nodes
Switching tagAllocation into UC causes regressions in non event
scenarios. It is no longer used as dependant type for semaphores.
Restoring previous GMM_USAGE settings for tag.
Marking events and in order nodes using only timestamp types as they
have proper GMM_USAGE settings already and can be both in smem and lmem.

Resolves: NEO-13847

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-30 12:20:38 +01:00
Lukasz Jobczyk
82569f6a0f refactor: Switch host events and in order nodes to tagAllocation type
Motivation is to distinguish between host USM resources and internal
driver resources allocated in host memory.

Related-To: NEO-13847

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-28 09:42:19 +01:00
Chodor, Jaroslaw
beedf709bc feature: LookupArray findGreaterEqual
Adding helpers for find first greater equal
value in lookup array. Useful when finding
minimum SLM encoding that satisfies requirements.

Related-To: NEO-12747

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-01-27 13:02:02 +01:00
Compute-Runtime-Validation
676334807f Revert "refactor: Switch host events and in order nodes to tagAllocation type"
This reverts commit 8bbba3fe5c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-27 06:44:12 +01:00
Lukasz Jobczyk
8bbba3fe5c refactor: Switch host events and in order nodes to tagAllocation type
Motivation is to distinguish between host USM resources and internal
driver resources allocated in host memory.

Related-To: NEO-13847

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-24 20:38:56 +01:00
Szymon Morek
0b4fe9a0df performance: add staging transfers for cl buffers
Related-To: NEO-13529

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-01-15 12:24:43 +01:00
Szymon Morek
2815d4167d fix: don't use staging for map allocations
Related-To: NEO-13572

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-01-07 13:30:11 +01:00
Marcel Skierkowski
91a2b9e66b test: use virtualFileSystem in Cpuinfo tests
Related-To: NEO-7006
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-01-03 10:31:04 +01:00
Szymon Morek
1135c1033e fix: set staging buffer writeable for aub and tbx
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-23 13:35:01 +01:00
Marcel Skierkowski
ee0648c365 refactor: use virtualFileSystem in FileLogger ULTs
restored the possibility of different writing modes in the FileLogger
mocked writeToFile in TestFileLogger

Related-To: NEO-7006
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2024-12-18 19:01:39 +01:00
Bartosz Dunajski
b1dea19fbd refactor: move tag initialization to allocator [1/n]
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-12-17 17:53:13 +01:00
Dominik Dabek
e61d04a881 fix(ocl): track buffer pool count per device
Track amount of created buffer pools per device. Do not allocate extra
pools if limit is reached. New contexts will have pooling disabled if
limit is reached on device.

Related-To: NEO-13461

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-12-16 11:38:05 +01:00
Marcel Skierkowski
e27a6dc280 refactor: use virtualFileSystem in ULTs
reducing the number of tests that have interactions with filesystem.
writeDataToFile() saves filename and content in std::map.
fileExistsHasSize() checks if file was previously written to virtualFileSystem
loadDataFromVirtualFile() fetches data from std::map based on filename

Related-To: NEO-7006
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2024-12-13 17:57:07 +01:00
Szymon Morek
6c4eb322b1 performance: introduce staging reads from image
Related-To: NEO-12968

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-11 14:43:45 +01:00
Fabian Zwoliński
5f8e761541 fix: HeapAllocator - ensure getBaseAddress returns initial base address
getBaseAddress was incorrectly returning pLeftBound which changes after
memory allocation.
Added baseAddress field to store and return initial address value.

Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-12-10 10:52:36 +01:00
Compute-Runtime-Validation
58e45afd39 Revert "fix: HeapAllocator - ensure getBaseAddress returns initial base address"
This reverts commit ffec97acc5.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-12-08 14:35:22 +01:00
Fabian Zwoliński
ffec97acc5 fix: HeapAllocator - ensure getBaseAddress returns initial base address
getBaseAddress was incorrectly returning pLeftBound which changes after
memory allocation.
Added baseAddress field to store and return initial address value.

Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-12-05 20:42:16 +01:00
Fabian Zwoliński
d2ce3badfc fix: bindlessHeapsHelper handle unavailable external heap
This PR handles the situation in which a component
has reserved a front window space for itself in the external heap,
so that the Compute Runtime cannot access this area.

In such a situation, we perform the following steps:
1. reserve 4GB chunk in heapStandard
2. split our chunk into 2 parts: heapFrontWindow, heapRegular
3. from this point on, map all linearStream allocations in reserved 4GB
chunk

Patch applies to Windows and WSL.
Patch only applies when the bindless global allocator is enabled.

Related-To: HSD-16025889919
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-12-05 14:18:01 +01:00
Mateusz Jablonski
f2b0dad964 test: remove not used usings/typedefs in shared tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-11-29 10:46:25 +01:00
Szymon Morek
16684d8803 fix: reuse staging buffers from other csr
Related-To: NEO-13247

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-11-18 16:39:57 +01:00
Szymon Morek
1199e19df5 performance: enable image writes through staging chunks
Related-To: NEO-12968

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-11-07 13:43:25 +01:00