Commit Graph

142 Commits

Author SHA1 Message Date
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
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
Mateusz Jablonski
dd1b9d6abc refactor: correct naming of enum class constants 8/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 08:18:18 +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
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
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
Mateusz Jablonski
beafea9b39 refactor: correct naming of enum class constants 2/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-11 13:13:35 +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
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
Konstanty Misiak
b8571bc8dd test: check if BXML was written correctly
Related-To: NEO-9272

Signed-off-by: Konstanty Misiak <Konstanty.Misiak@intel.com>
2023-11-16 11:30:48 +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
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
Mateusz Jablonski
bb8c8b1acb test: disable perf profiler tests
Related-To: NEO-9236

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-18 16:38:22 +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
Dominik Dabek
eebf2bbd26 performance(ocl): timestamp packet count per gfx
Add support for different timestamp packet counts per gfx family.
Change all packet counts to 1 except for xe-hpc.

Related-To: NEO-8154

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-09-25 20:34:58 +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
John Falkowski
985228ec57 fix: comply with clang tidy
Resolves:  NEO-6357

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-24 01:06:43 +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
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
908cebafe2 fix: comply with clang tidy style
Fix variable case style

Related-To:  NEO-6357

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-14 10:10:34 +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
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
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
Mateusz Jablonski
4f72835b7d fix: create dedicated class for root device indices to store unique values
remove method to removing duplicates from StackVec as the method
implicitly sorted the vector

Related-To: GSD-4692
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-12 22:24:06 +02:00
Fabian Zwolinski
c441e9e971 refactor: Rename member variables to camelCase
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-26 16:05:07 +02:00
Mateusz Hoppe
44273fcea0 fix: do not remove log file when logging disabled
- initialization of FileLogger always removed log file - this change only
removes old file when logging is enabled in current run

Resolves: NEO-7199

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-04-21 00:44:03 +02:00