Commit Graph

237 Commits

Author SHA1 Message Date
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
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