Commit Graph

233 Commits

Author SHA1 Message Date
Szymon Morek
6aeb8dffa0 performance: enable staging read for images
Related-To: NEO-12968

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-20 15:02:28 +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
Lukasz Jobczyk
7832b115a4 fix: Select csr once for staging buffer memcpy
Resolves: NEO-13083

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-11-22 15:42:09 +01:00
Jaroslaw Warchulski
723e1e7d29 fix: expose tiles as devices in OCL with combined hierarchy
Related-To: GSD-8708
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-11-21 15:23:06 +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
Maciej Plewka
df7e5191ed fix: check if tracing_exit was called before return from api call
Related-To: GSD-9415, NEO-12719
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-11-06 11:31:31 +01:00
Maciej Plewka
75595e687e fix: add missing tracing_exit before return in api.cpp
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>

Related-To: GSD-9415, NEO-12719
2024-11-05 11:59:05 +01:00
Maciej Plewka
1dafb66463 fix: return success from release calls after platform teardown
Related-To: NEO-11282
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-09-26 19:30:26 +02:00
Mateusz Jablonski
d5812f49d7 refactor: remove not needed vme builtin related code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-16 15:27:49 +02:00
Bartosz Dunajski
4f1262645b refactor: pass extra walker params
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-09-10 15:30:03 +02:00
Michal Mrozek
20d6910b66 performance: move usm pool init to first alloc call
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-07-18 16:07:22 +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
Alicja Lukaszewicz
b4c31492d3 fix: add missing tracing to all functions in api.cpp
Related-To: NEO-11576

Signed-off-by: Alicja Lukaszewicz <alicja.lukaszewicz@intel.com>
2024-06-06 12:14:21 +02:00
Aleksander Czerwionka
4667f55ea2 fix: add missing checks to return proper OpenCL error from API
changes affect clEnqueueNDCountKernelINTEL and
clGetKernelMaxConcurrentWorkGroupCountINTEL

Related-To: NEO-9688

Signed-off-by: Aleksander Czerwionka <aleksander.czerwionka@intel.com>
2024-05-07 20:32:36 +02:00
Jaroslaw Warchulski
ea057abd36 fix: allow empty set to be passed to clSetKernelExecInfo
Related-To: GSD-8538
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-04-16 14:11:04 +02:00
Dominik Dabek
0d69dfe165 refactor: remove comment
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-04-08 11:43:19 +02: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
Compute-Runtime-Validation
5535ef3049 Revert "performance(ocl): enable usm pool allocator"
This reverts commit 7bc8424a69.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-12-29 05:54:07 +01:00
Dominik Dabek
7bc8424a69 performance(ocl): enable usm pool allocator
Enable opencl usm pool allocator by default

Related-To: NEO-9700

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-12-28 13:14:41 +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
Dominik Dabek
239831f097 fix: return error for 0 size usm allocations
according to both level zero and opencl specs, usm allocations with
size=0 should return invalid/unsupported buffer size errors

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-12-22 17:26: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
Mateusz Jablonski
27fbdde4c5 refactor: correct naming of unified memory enums
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 15:58:21 +01:00
Maciej Plewka
f8eefbd020 fix: return error code for usm param passed to clSetKernelExecInfo
Related-To: NEO-8202

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-12-05 09:14:00 +01:00
Baj, Tomasz
fe0c7f1004 fix: when size is 0 then don't copy
Related-To: NEO-8381

Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2023-12-04 11:18:00 +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
Baj, Tomasz
10a97548c2 refactor: remove ReturnSubDevicesAsApiDevices from OCL and L0
Related-To: NEO-9437

Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2023-11-09 15:43:06 +01: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
Kacper Nowak
0f161c1f19 fix(ocl): Add missing tracing mechanism for clCreateSubDevices API call
Related-To: NEO-8898
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-09-25 10:09:47 +02:00
Kacper Nowak
66c030b5a0 fix: Remove unneeded cast from clCloneKernel API call
Related-To: NEO-8330
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-09-08 14:21:12 +02:00
Kacper Nowak
43321dd463 fix: Remove unneeded cast from clLinkProgram API call
Related-To: NEO-8330
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-09-01 15:36:51 +02:00
Kacper Nowak
1afaf37f78 refactor: Unify GTPin initialization logic between APIs
Add support for new GTPin loading logic in OCL path, similar to existing
in L0 - invoking exposed, dedicated API call (OpenGTPinOCL).
- Move logic to shared, including unit tests
- Check whether instrumentation is required on
  context creation and if yes,
  make a call to OpenGTPinOCL function.
  Handle potential errors gracefully without exiting.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-08-09 17:15:24 +02:00
Compute-Runtime-Validation
65df34bbc7 Revert "refactor: Unify GTPin initialization logic between APIs"
This reverts commit 68a5108e05.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-07 04:31:52 +02:00
Kacper Nowak
68a5108e05 refactor: Unify GTPin initialization logic between APIs
Add support for new GTPin loading logic in OCL path, similar to existing
in L0 - invoking exposed, dedicated API call (OpenGTPinOCL).
- Move logic to shared, including unit tests
- Check whether instrumentation is required on
  clGetPlatformIDs API call, and if yes,
  make a call to OpenGTPinOCL function.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-08-05 18:22:08 +02:00
Neil R Spruit
8efd8853fb feature: L0 Device Hierarchy support for Composite & Flat modes
Related-To: LOCI-4615

- Added Support for users to set ZE_FLAT_DEVICE_HIERARCHY to either FLAT
or COMPOSITE to change how devices are returned in zeDeviceGet and
clGetDeviceIDs.
- COMPOSITE is default behavior that exists today.
- FLAT returns all sub devices which have no sub devices and all root
devices that have no sub devices in zeDeviceGet ie with all devices
flattened out in order.
- Added zeDeviceGetRootDevice for one to retrieve the Root Device for
any SubDevice.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-07-20 01:00:54 +02:00
Kacper Nowak
1fc435e529 fix(ocl): Remove unneeded cast from ClCreateContextFromType API call
Remove not needed c-style cl_context handle casting on
clCreateContextFromType API call. This bug is currently also visible
when using OCL tracing API.
Related-To: NEO-8011
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-06-19 14:07: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
Warchulski, Jaroslaw
e72a607c31 fix: propagate error from makeResident to API call
Related-To: NEO-6766
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-05-30 16:13:38 +02:00
Lu, Wenbin
5d653c8536 fix: Add alignment support to createUnifiedMemoryAllocation
Allows the user to use alignments > 64KB in `createUnifiedMemoryAllocation`

So that the restriction in `piextUSMDeviceAlloc` of the DPC++ runtime
could be lifted

Related-To: LOCI-4168

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-05-02 09:19:23 +02:00
Diedrich, Kamil
5149d74141 refactor: Remove globaly enabled cl_cache
Current behaviour will be detecd path existence

Related-To: NEO-4262

Signed-off-by: Diedrich, Kamil <kamil.diedrich@intel.com>
2023-04-28 23:28:49 +02:00
Warchulski, Jaroslaw
bbf23df6eb feature: add new API functions for external memory sharing
Related-To: NEO-6757
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-04-28 11:43:19 +02:00
Kacper Nowak
7be2ac84d3 Refactor(ocl): refactor OCL Kernel and MultiDeviceKernel class 1/n
- For static create() method for Kernel and MultiDeviceKernel force errcodeRet
parameter to be passed via reference (instead of a pointer)
- Move part of kernel's creation logic to initialize() method

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-04-11 11:43:26 +02:00
Kacper Nowak
3459f3a7f6 fix(OCL): Propagate error on kernel creation to API call
On clCreateKernelsInProgram API call, we do not propagate potential
error from MultiDeviceKernel::create function. User would not know that
i.e. out of 4 kernels, only 3 were created succesfully.
- Propagate error returned from MultiDeviceKernel::create function to
API call
- In case of a failure on kernel creation, release all resources for the
already created ones and return empty array (nullptrs).

Related-To: NEO-7879
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-04-06 15:12:41 +02:00
Compute-Runtime-Validation
2b93126795 Revert "Add alignment support to createUnifiedMemoryAllocation"
This reverts commit ca02bbba4b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-30 15:43:47 +02:00
Lu, Wenbin
ca02bbba4b Add alignment support to createUnifiedMemoryAllocation
Allows the user to use alignments > 64KB in `createUnifiedMemoryAllocation`

So that the restriction in `piextUSMDeviceAlloc` of the DPC++ runtime
could be lifted

Related-To: LOCI-4168

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-03-28 10:57:04 +02:00
Fabian Zwolinski
65c73a690f Introduce Online, Offline, Disabled DebuggingModes
This change allows to set DebuggingMode via
ZET_ENABLE_PROGRAM_DEBUGGING env var
0: Disabled
1: Online
2: Offline

Related-To: NEO-7630
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-03-17 09:31:17 +01:00
Mateusz Hoppe
e62c5e25d5 refactor: change debugging enabled to debugging mode
Related-To: NEO-7630

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-15 13:41:41 +01:00
Jaime Arteaga
55952d33df feature: Enable use KMD calls in prefetch APIs
If applications call Prefetch APIs, like
zeCommandListAppendMemoryPrefetch and
clEnqueueMigrateMemINTEL, then enable the use of KMD calls
by default.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-03-07 16:31:50 +01:00