Commit Graph

182 Commits

Author SHA1 Message Date
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
Szymon Morek a25e973205 performance: write image through staging chunks
Related-To: NEO-12968

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-11-06 16:45:22 +01:00
Mrozek, Michal 2febf0597e fix: remove incorrect code
- freed pointer cannot overlap with freed chunks, therefore there is no way
to merge it with freed chunks if they overlap

Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2024-11-05 18:58:41 +01:00
Lukasz Jobczyk fe82425fa9 performance: Prefer to assign new gpu va rather than reuse
Resolves: NEO-10734

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-11-05 10:16:03 +01:00
Szymon Morek 5d62be2bea performance: enable staging buffer for write image
Related-To: NEO-12968

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-11-05 06:06:07 +01:00
Compute-Runtime-Validation aca7875dfd Revert "performance: Prefer to assign new gpu va rather than reuse"
This reverts commit 0f2f3c3764.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-10-31 05:06:43 +01:00
Szymon Morek cf58be4142 performance: use staging buffer when writing to an image
Related-To: NEO-12968

Also, don't import usm/mapped allocations for image
operations

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-10-30 17:02:13 +01:00
Lukasz Jobczyk 0f2f3c3764 performance: Prefer to assign new gpu va rather than reuse
Resolves: NEO-10734

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-10-30 16:48:49 +01:00
Maciej Bielski 45e78fea76 fix: use productHelper in getPatIndexInfoString() on Windows
Fix the PAT-index reporting in logger as currently on Windows reported
values are simply wrong.

The changed logic dependends on `RootDeviceEnvironment` and in order to
avoid introducing such dependencies into logger.[ch] the
`logAllocation()` is no longer a member of `FileLogger` but
a free-function instead (and a separate .cpp file). This is important
because the source files `logger.[ch]` are also used by ocloc library
and there is no point to contaminate ocloc code structure with
unnecessary dependencies.

Related-To: NEO-9421
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-10-22 19:27:13 +02:00
Artur Harasimiuk 00aedcaed4 refactor: add NOLINT for pending problems
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-10-10 11:46:35 +02:00
Michal Mrozek da59b88122 refactor: improve logging of allocations
add capability to measure total amount of allocated memory
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-09-12 11:00:27 +02:00
Fabian Zwoliński 38e1614f4a fix: create and use new allocation type for syncBuffer
Related-To: NEO-11533
Related-To: HSD-18039788811
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-09-06 14:11:33 +02:00
Igor Venevtsev fb8921df97 fix: enable file logger for ReleaseInternal configuration
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2024-08-26 10:54:41 +02:00
Compute-Runtime-Validation 956dd8e17d Revert "fix: set properly resource params when setAllocationType"
This reverts commit 2e0884a301.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-24 05:01:38 +02:00
Katarzyna Cencelewska 2e0884a301 fix: set properly resource params when setAllocationType
gmm params: usage, cachable and resource info
should be set properly when override allocation type

Resolves: HSD-22020344331
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-08-23 16:57:23 +02:00
Filip Hazubski 22a382b7a2 test: Minor test fixes related to alignment
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-08-08 08:26:12 +02:00
Oskar Hubert Weber 3ccab79ed8 test: dir create
Related-To: NEO-11500

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-08-05 13:58:25 +02:00
Bartosz Dunajski c3312f21f7 feature: dont initialize in-order TS nodes
Related-To: NEO-11925

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-07-23 13:31:23 +02:00
Filip Hazubski f8867ac3ac fix: Minor code improvements
Add explicit pointer checks to CommandQueue::blitEnqueueAllowed.

Explicitly check result of getDeviceArgValueIdx during ocloc compile.

Explicitly remove unused StagingBufferManager functions.
Move chunkCopyFunc by reference.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-07-19 09:24:37 +02:00
Morek, Szymon ed7fc9acc9 performance: use staging buffer as a pool
Related-To: NEO-11501

Currently whole staging buffer is consumed even if
size of the transfer is smaller than that buffer.
This commit changes that, so single staging buffer
might be utilized by several smaller transfers
as long as they don't exceed total size

Signed-off-by: Morek, Szymon <szymon.morek@intel.com>
2024-07-18 12:54:00 +02:00
Szymon Morek dbd96372be performance: adjust staging buffer usage
Related-To: NEO-11928

Don't copy through staging buffer if dst usm allocation
was not used before and transfer would be splitted.
Also, don't use staging buffers for mapped ocl buffers.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-07-10 10:19:18 +02:00
Szymon Morek 29e3eb512c performance: non-usm copy through staging buffers
Related-To: NEO-11501

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-06-25 07:18:53 +02:00
Jaroslaw Warchulski 63da79798d refactor: reduce the number of GraphicsAllocation constructors and derivatives
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-06-18 21:31:37 +02:00
Mateusz Jablonski 55fad237b8 test: update gtest API usage
use *_TEST_SUITE* instead of *_TEST_CASE*

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-05-28 16:20:06 +02:00
Szymon Morek 10ed479b16 performance: share inter-module ISA allocations
Related-To: NEO-10258

Currently each module has it's own GA
for kernel ISA's. This change allows new modules to
reuse existing allocation.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-05-09 08:43:55 +02:00
Mateusz Hoppe 5e15543b14 test: improve unit tests - use virtual file system
- use virtualFileSystem in ULTs, writeDataToFile() does not create file
but instead saves filename. Call to fileExists() checks if file was
previously written

Related-To: NEO-7006

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-03-08 13:34:19 +01:00
Dunajski, Bartosz bbe1043f08 feature: initial support for pooling in-order counter allocations
Related-To: NEO-10507

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-03-01 12:08:02 +01:00
Maciej Plewka 964f0166d7 fix: Reuse freed chunk from left even if not aligned
Related-To: NEO-10416, NEO-10418, NEO-10437

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-02-21 12:31:54 +01:00
Maciej Plewka 233f898b59 fix: split freed chunk from right
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>

Related-To: NEO-10280
2024-02-13 16:14:39 +01:00
Compute-Runtime-Validation f6ca565323 Revert "feature: enable use of waitpkg intrinsic"
This reverts commit 2d15517fbe.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-02-06 16:30:26 +01:00
Maciej Plewka 620ad5fa89 fix: change freed chunk size when ptr is aligned
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>

Related-To: NEO-9945
2024-01-30 12:22:28 +01:00
Zbigniew Zdanowicz a25eedb5ac feature: add print of cpu flags and address size upon detection
Related-To: NEO-9737

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-01-24 11:03:30 +01:00
Zbigniew Zdanowicz 2d15517fbe feature: enable use of waitpkg intrinsic
Related-To: NEO-9737

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-01-24 10:46:28 +01:00
Brandon Yates 76de854a69 feature: Set Debug Attach Available for Xe
Related-to: NEO-8402

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-01-24 09:04:11 +01:00
Zbigniew Zdanowicz b5f698e0c5 feature: add umonitor and umwait synchronization function
Related-To: NEO-9737

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-01-19 14:20:19 +01:00