Commit Graph

286 Commits

Author SHA1 Message Date
Mateusz Jablonski 7b54ca131f fix: avoid OOB access in StackVec::resizeImpl
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-19 13:54:24 +02:00
Mateusz Jablonski ebfa384a74 fix: avoid calling free on non-heap object
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-13 16:34:23 +02:00
Michal Mrozek dd631610b3 refactor: move memory tracking to memory manager
- remove wddm specific code
- improve total size reported to be in decimal

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-09-12 17:32:38 +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
Michal Mrozek 7cba813c81 refactor: improve logging by adding size.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-09-11 20:33:55 +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
Mateusz Jablonski c934877790 refactor: remove not needed function
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-30 12:18:14 +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
Filip Hazubski 556ba1b7c4 performance: Avoid data copy in getPciStats function
Additionally explicitly remove unused functions of Directory and
StagingBuffer classes to comply with rule of five.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-08-22 13:30:01 +02:00
Winston Zhang 0590b34cfa feature: refactor and rewrite setErrorDescription
Related-To: NEO-8379

Signed-off-by: Winston Zhang <winston.zhang@intel.com>
2024-08-21 17:26:25 +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
Mateusz Hoppe 96c9956d50 refactor: remove debug break
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-07-04 11:00:54 +02:00
Oskar Hubert Weber a7ddf7848b fix: fatbinary generation with "-out_dir"
Directories are created if needed before generating fatbinary.

Related-To: NEO-11500

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-07-02 13:33:53 +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
Szymon Morek 34e5e18fa6 fix: delete move assignment operator
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-05-31 18:59:51 +02:00
Compute-Runtime-Validation de789ac7e5 Revert "performance: remove page size limit for sharing ISAs"
This reverts commit e7c036a91b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-05-12 09:00:32 +02:00
Szymon Morek e7c036a91b performance: remove page size limit for sharing ISAs
Related-To: NEO-9403

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-05-10 08:56:49 +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
Andrzej Koska b499973658 refactor: removing unnecessary lock
Related-To: NEO-8196

Lock in the constructor should not affect the flow of the code

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2024-04-23 17:39:50 +02:00
Bartosz Dunajski 74dcb5a9e3 feature: initial support for sync dispatch token allocation
Related-To: NEO-8171

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-03-26 12:07:58 +01:00
Zbigniew Zdanowicz fe377b6597 feature: add out cmd pointer to store data imm encoder
Related-To: NEO-10385

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-07 12:52:08 +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
Chodor, Jaroslaw b58717b9e3 feature: Add support for legacy acronyms in ocloc's fatbinary
Expands support for deprecated acronyms to fatbinary. Previously,
these were allowed only in single-target builds.

Related-To: NEO-10190

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-02-15 10:14:49 +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
Lukasz Jobczyk 486cc71b76 refactor: Add GDI profiling
Resolves: NEO-9236
Related-To: NEO-10036

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-02-07 18:44:11 +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
Compute-Runtime-Validation fa9c79fb63 Revert "refactor: Add GDI profiling"
This reverts commit 524ae7713a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-01-30 10:47:34 +01:00
Dominik Dabek dcab4863d5 performance(ocl): calculate max buffer pool count
Set max buffer pool count to use at most 2 percent of device total memory.

Related-To: NEO-9690

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-01-30 07:04:36 +01:00
Lukasz Jobczyk 524ae7713a refactor: Add GDI profiling
Resolves: NEO-9236
Related-To: NEO-10036

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-29 11:36:04 +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
Dominik Dabek 6e434e0424 performance(ocl): increase buffer pool size
increase pool size to 2MB and threshold to 1MB
add limit to the number of pools, set to 2

Related-To: NEO-9690

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-01-24 10:55:29 +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
Katarzyna Cencelewska 7bbe57c671 feature: add debug info for logging pat indexes
Related-To: HSD-18031172224
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-01-23 13:34:35 +01:00
Compute-Runtime-Validation e949ba7144 Revert "refactor: Add GDI profiling"
This reverts commit 8d56f8fb6b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-01-23 06:13:02 +01:00
Lukasz Jobczyk 8d56f8fb6b refactor: Add GDI profiling
Resolves: NEO-9236
Related-To: NEO-10036

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-01-22 14:24:08 +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
Dominik Dabek af1620a308 fix(ocl): allocation info from pool svm ptr
Fix querying allocation info from pooled svm ptr.
Handle requested allocation alignment.
Refactor sorted vector usage.
Do not associate device with host pool allocation.

Related-To: NEO-9700

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-01-05 15:20:01 +01:00
Dominik Dabek 2fe3804cc2 performance(ocl): add usm allocation pooling flag
EnableDeviceUsmAllocationPool and EnableHostUsmAllocationPool for device
and host allocations respectively.

Pool size will be set to flag value * MB.

Allocation size threshold to be pooled is 1MB.

Pools are created per context.

Related-To: NEO-9700

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-12-27 11:42:01 +01:00
Zbigniew Zdanowicz 7418cff844 feature: add debug flags and instrumentation of waitpkg calls
Related-To: NEO-9737

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-12-22 08:34:13 +01:00
Mateusz Jablonski de93bc6928 refactor: correct naming of enum class constants 10/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 11:30:39 +01:00
Chodor, Jaroslaw 7e795cd3c1 feature: Adding support for OCL C support queries to ocloc
Feature needed for automated OCL C compilation with ocloc as backend.
Added queries :
* CL_DEVICE_EXTENSIONS
* CL_DEVICE_EXTENSIONS_WITH_VERSION
* CL_DEVICE_PROFILE
* CL_DEVICE_OPENCL_C_ALL_VERSIONS
* CL_DEVICE_OPENCL_C_FEATURES

Sample command line:
ocloc query -device skl CL_DEVICE_OPENCL_C_FEATURES

Related-To: GSD-7420

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2023-12-18 15:19:16 +01:00
Zbigniew Zdanowicz fa44cc13a6 feature: add wrappers to waitpkg intrinsics
Related-To: NEO-9737

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-12-14 13:52:18 +01:00
Zbigniew Zdanowicz 9024e4a548 feature: add detection of cpu waitpkg support
Related-To: NEO-9737

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-12-13 15:28:35 +01:00
Dominik Dabek 88db02e5a8 Revert "performance(ocl): set buffer pool size to 2MB"
This reverts commit b2cfd1877e.

Resolves: NEO-9771, NEO-9772

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-12-13 15:18:02 +01:00
Dominik Dabek 2146cd07ee refactor: SortedVectorBasedAllocationTracker
Move code out to base class. This will allow to use the sorted vector
class with different values than only SvmData.

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-12-13 12:47:04 +01:00
Mateusz Jablonski 01dd503e47 refactor: correct naming of MemoryPool enum values
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 07:51:39 +01:00
Mateusz Jablonski b182917d9d refactor: correct naming of allocation types
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-11 16:23:37 +01:00
Compute-Runtime-Validation a2994e9b29 Revert "performance(ocl): set pool allocator threshold 1MB"
This reverts commit fc1d93af8e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-12-09 07:02:42 +01:00
Lukasz Jobczyk c8c3f862f4 refactor: Add key to force zero copy without coherency
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-12-07 07:56:54 +01:00
Dominik Dabek fc1d93af8e performance(ocl): set pool allocator threshold 1MB
Increase pool allocator threshold to 1MB
Remove stack allocations based on threshold in tests.

Related-To: NEO-9690

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-12-06 19:55:48 +01:00
Mateusz Jablonski da957d1a37 refactor: correct naming of enum class constants 1/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-05 14:26:42 +01:00
Mateusz Jablonski 6849d33326 refactor: remove redundant definitions KB/MB/GB
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-05 08:55:18 +01:00
Dominik Dabek b2cfd1877e performance(ocl): set buffer pool size to 2MB
Increase small buffer pool allocator size to 2MB

Related-To: NEO-9690

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-12-05 00:35:55 +01:00
Mateusz Jablonski c3d3a4db1f refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-04 13:45:53 +01:00
Mateusz Jablonski b92b5892b8 refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-01 08:34:19 +01:00
Mateusz Jablonski c3ac7b78bd refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-01 02:18:46 +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 Jablonski 36194c4e7d refactor: correct variable namings
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-29 23:49:03 +01:00
Mateusz Jablonski 140532f8b6 fix: fix issues with clang-tidy on Windows
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-16 12:30:11 +01:00
Mateusz Jablonski cec6492cd9 fix: fix issues with ubsan in shared and ocl
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-13 12:40:57 +01:00
Konstanty Misiak c160e6ff93 fix: sporadic in software tags test
Related-To: NEO-9272

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2023-11-09 15:50:34 +01:00
Mateusz Jablonski 781533565e fix: fix issues with ubsan in shared and OCL tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-09 12:39:29 +01:00
Mateusz Hoppe 4a5d9eeae7 refactor: do not trigger debug break when mkdir fails with EEXIST
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-11-02 12:26:32 +01:00
Mateusz Jablonski 036d1e4814 refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-30 12:48:51 +01:00
Andrzej Koska c4a24d8f31 fix: Avoiding races when modifying queue and Tag data
Related-To: NEO-8196
Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2023-10-25 14:20:57 +02:00
Jablonski, Mateusz ac5f64f5c6 fix: fix compilation error in clang on Windows (2/n)
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2023-10-24 15:59:06 +02:00
Kozlowski, Marek 90987bd878 feature: add minimal interface for software tag injection
* Add new Software Tag `ArbitraryString`
* Add minimal interface for injecting software tags

Related-To: NEO-5550

Signed-off-by: Marek Kozlowski <marek.kozlowski@intel.com>
2023-10-20 01:49:33 +02:00
Dunajski, Bartosz af7bcbf99c Revert "refactor: split CpuInaccessible MemoryPool types to Device and System"
This reverts commit 2e8cf5fdf5.

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-17 10:03:14 +02:00
Dunajski, Bartosz 2e8cf5fdf5 refactor: split CpuInaccessible MemoryPool types to Device and System
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-16 12:47:13 +02:00
Mateusz Jablonski a420e34b10 fix: explicitly remove assign operators when not needed
when class defines copy/move ctor then corresponding assign operator(s)
should be defined or deleted

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-12 10:25:15 +02:00
Mateusz Jablonski bede264d0d fix: add unrecoverable to avoid undefined behavior
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-11 08:41:44 +02:00
Dunajski, Bartosz 91aa7fb2fe refactor: print allocation info to stdout if flag is set
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-10 10:22:28 +02:00
Mateusz Jablonski ece03e6bbf fix: add checks to avoid invalid behavior
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 15:45:33 +02:00
Mateusz Jablonski 382fc952f2 refactor: add NonAssignableClass to define classes without assign operator
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-05 15:16:58 +02:00
Mateusz Jablonski 1963ea69e5 fix: add missing member initializations
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 08:41:46 +02:00
Mateusz Jablonski 9337911742 fix: add self-assign check in operator=
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 08:09:16 +02:00
Maciej Plewka 8658fdb04e fix: Use stack vec for api specific prefix
Related-To: NEO-8388, GSD-6296

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-21 16:10:54 +02:00
Mateusz Jablonski 46288b8efd fix: setup correct non-release key name in getStringWithFlags
unify function for getting env

Related-To: NEO-8347
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-08 15:39:36 +02:00
Mateusz Jablonski 3845eb3b90 fix: accept more than 16 root devices
Related-To: GSD-5892
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-06 10:13:25 +02:00
Mateusz Jablonski 00e24c0069 performance: leave StackVec::onStackMemRawBytes uninitialized
this memory shouldn't be accessed before resize

Resolves: HSD-18032826534

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-25 11:40:38 +02:00
John Falkowski d49190f4ae feature: Add debug/release variables prefixes
Add debug/release variables with prefixes for Level Zero, OpenCL and NEO

Resolves: NEO-6357

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-22 15:15:45 +02:00
Mateusz Jablonski 894bab05ef fix: add missing zero-initialization in StackVec class
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-22 11:54:12 +02:00
Artur Harasimiuk f6e0c0cf89 Revert "feature: Add debug/release variable prefixes"
This reverts commit ec95d9314a.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-08-18 12:42:39 +02:00
John Falkowski ec95d9314a feature: Add debug/release variable prefixes
Resolves:  NEO-6357
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-10 14:01:09 +02:00
Mateusz Jablonski f84f22d23c refactor: remove unused isSharedContext variable
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-26 12:14:23 +02:00
Mateusz Jablonski 0c6d2ebaf3 refactor: remove default argument in SettingsFileReader ctor
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-17 15:06:36 +02:00
Maciej Bielski c7a971a28f feature: add optional onChunkFree callback to AbstractBuffersPool
Instances returned by `getAllocationsVector()` in some cases cannot be
freed (in the `malloc/new` sense) until the `drain()` function invokes
`allocInUse()` on them. Plus, the `chunksToFree` container operates on
pairs `{offset, size}`, not pointers, so such pair cannot be used to
release allocations either.

Provide an optional callback, which can be implemented by the custom
pool derived from `AbstractBuffersPool`. This callback can be used, for
example, to perform actual release of an allocation related to the
currently processed chunk.

Additionally, provide the `drain()` and `tryFreeFromPoolBuffer()`
functions with pool-independent versions and keep the previous versions
as defaults (for allocators with a single pool). The new versions allow
reusing the code for cases when allocator has multiple pools.

In both cases, there was no such needs so far but it arose when working
on `IsaBuffersAllocator`. The latter is coming with future commits, but
the shared code modifications are extracted as an independent step.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-07-13 17:26:51 +02:00
Lu, Wenbin 4de792cee0 fix: support alignments in host and shared UnifiedMemoryAllocation
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-07-13 08:48:41 +02:00
Compute-Runtime-Validation 9c7950cd22 Revert "feature: add optional onChunkFree callback to AbstractBuffersPool"
This reverts commit b7ecf99abb.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-07 04:31:30 +02:00
Maciej Bielski b7ecf99abb feature: add optional onChunkFree callback to AbstractBuffersPool
Instances returned by `getAllocationsVector()` in some cases cannot be
freed (in the `malloc/new` sense) until the `drain()` function invokes
`allocInUse()` on them. Plus, the `chunksToFree` container operates on
pairs `{offset, size}`, not pointers, so such pair cannot be used to
release allocations either.

Provide an optional callback, which can be implemented by the custom
pool derived from `AbstractBuffersPool`. This callback can be used, for
example, to perform actual release of an allocation related to the
currently processed chunk.

Additionally, provide the `drain()` and `tryFreeFromPoolBuffer()`
functions with pool-independent versions and keep the previous versions
as defaults (for allocators with a single pool). The new versions allow
reusing the code for cases when allocator has multiple pools.

In both cases, there was no such needs so far but it arose when working
on `IsaBuffersAllocator`. The latter is coming with future commits, but
the shared code modifications are extracted as an independent step.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-07-06 10:38:55 +02:00
Dunajski, Bartosz 2b5e475db9 refactor: use hex values to print TSP usage
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-23 11:22:10 +02:00
Dunajski, Bartosz b004a27e4e refactor: Debug flag to print TSP usage
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-22 14:47:39 +02:00
Compute-Runtime-Validation 02436b8877 Revert "fix: support alignments in host and shared UnifiedMemoryAllocation"
This reverts commit c11809e002.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-06-14 06:32:40 +02:00
Maciej Bielski 7ea8ed1757 refactor: extract generic parts of small buffers allocator
Currently the whole code resides within the opencl/ tree, but the
mechanism is meant to be reused in L0 for kernel-ISA allocations
optimization (further work).

This commit is a preparation step, which extracts the generic mechanism
and moves the extracted part under the shared/ tree.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-06-13 10:46:03 +02:00