Commit Graph

2012 Commits

Author SHA1 Message Date
Dunajski, Bartosz 00bae2c827 fix: add missing nullptr check
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-07 11:34:49 +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
Dunajski, Bartosz d96cf5846a fix: dont allocate TSP for OOQ without Event
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-06 15:12:22 +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
Cencelewska, Katarzyna 61f701aba5 fix: Unify logic calculating threads per work group part 3
Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-07-04 15:27:44 +02:00
Cencelewska, Katarzyna 2e17c21728 fix: Unify logic calculating threads per work group part 2
- use calculateNumThreadsPerThreadGroup instead of getThreadsPerWG to
have same flow and proper values of threads per work groups

Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-07-04 10:34:02 +02:00
Compute-Runtime-Validation 39740da9d1 Revert "fix: Unify logic calculating threads per work group part 2"
This reverts commit 1e8a53bd53.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-02 07:09:14 +02:00
Cencelewska, Katarzyna 1e8a53bd53 fix: Unify logic calculating threads per work group part 2
- use calculateNumThreadsPerThreadGroup instead of getThreadsPerWG to
have same flow and proper values of threads per work groups

Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-06-30 14:16:08 +02:00
Cencelewska, Katarzyna 0d7aefe66b fix: Unify logic calculating threads per work group part 1
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-06-29 10:43:22 +02:00
Jaroslaw Chodor 023fe38448 fix: Use correct dimensions for UV plane
For image view mapped directly to UV plane,
the dimensions should 2 times smaller than
dimensions of the source image.
(1 raw UV pair maps to 2x2 block of original image)

Related-To: NEO-7936

Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2023-06-28 23:34:50 +02:00
Dunajski, Bartosz ecb415bf62 feature: reenable RelaxedOrdering
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-28 12:20:17 +02:00
Igor Venevtsev c2c622d695 fix: stop direct submission on platform destruction
Related-To: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-06-28 08:41:31 +02:00
Cencelewska, Katarzyna 68d81c82a7 fix: Use proper value about hw local id generations
- remove useless flag ForceNumberOfThreadsInGpgpuThreadGroup
- add new flag "RemoveRestrictionsOnNumberOfThreadsInGpgpuThreadGroup"
to restore old path without restrictions about number of threads in
thread group
- fix forwarding information about hw local ids generations to
calculate numOfThreadsInThreadGroup correctly

Related-To: NEO-7952, NEO-7982
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-06-26 16:35:42 +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
Mateusz Jablonski 2d01bdec81 fix: change denorm mode in IDD to FlushToZero
denorm support is controlled by IGC, we should just set zero by default

Related-To: NEO-8059
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-23 09:28:32 +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
Lukasz Jobczyk 0bc5eead84 fix: Remove not needed BCS split helper
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-06-22 14:36:22 +02:00
Fabian Zwolinski 99d0823e8f fix: Append extra extensions when FP64 emulation is enabled
Related-To: NEO-7611
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-06-22 08:38:53 +02:00
Wawiorko, Grzegorz 45187fe714 fix: Update CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED value
Signed-off-by: Wawiorko, Grzegorz <grzegorz.wawiorko@intel.com>
2023-06-21 10:31:47 +02:00
Dunajski, Bartosz 46e8c3f5dd fix: reenable RelaxedOrdering for OCL
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-20 13:05:25 +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
Kacper Nowak 4ec249cc39 fix(ocl): Fix callbacks for nested API calls
Prevent from tracing nested API calls (case when similar
call is invoked in tracing callback) in OCL.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-7958
2023-06-16 14:28:57 +02:00
Compute-Runtime-Validation 995e2a79c6 Revert "fix: change denorm mode in IDD to FlushToZero"
This reverts commit 987394b27c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-06-15 11:49:01 +02:00
Dominik Dabek 60d5e22f3b fix(ocl): reduce busy waiting in clFinish
Use flushStamp=taskCount when passed flushStamp==0.
This will cause driver to busy wait for a short while before falling
back to use kmd notify.

Related-To: GSD-3612

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-06-14 13:56:40 +02:00
Cencelewska, Katarzyna 7cb3278eb3 fix: add function to calculate number of threads per tg
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-06-13 14:02:24 +02:00
Mateusz Jablonski 987394b27c fix: change denorm mode in IDD to FlushToZero
denorm support is controlled by IGC, we should just set zero by default

Related-To: NEO-8059
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-13 13:42:50 +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
Kamil Kopryk 6a0f7afd64 feature: verify stateful information only when binary is generated by IGC
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Related-To: NEO-6075

Ngen binaries contain stateful information, however they are
not used in isa on Pvc. Therefore, we can just ignore them.
2023-06-12 11:45:41 +02:00
Dunajski, Bartosz 3d49658f50 feature: new multitile post sync layout for immediate write [2/n]
No functional changes in this commit. This is prework.

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-09 14:20:34 +02:00
Mateusz Hoppe 0844ca0ac8 refactor: cleanup getBindlessMode() usage
- getGlobalBindlessHeapConfiguration() should be used to choose global
alloctor for SSH
- remove not needed and incorrect unit tests
- remove not needed branches
- bindless mode controls bindless compilation only

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-06 17:23:13 +02:00
Kacper Nowak 7d08255d79 refactor: Add unrecoverable macro for case with offset greater than 4 GB
Change DEBUG_BREAK to UNRECOVERABLE macro in the case of offset greater
than 32 bit (4 GB). Such huge offsets are not supported.
Current implementation is able to hide issues leading to incorrect
behaviour (i.e. overwritting indirect data).

Related-To: NEO-7970
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-05-30 17:48:35 +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
Dunajski, Bartosz 0372b9410a fix: set correct number of active packets for IOQ barrier
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-30 16:02:23 +02:00
Compute-Runtime-Validation d247fb5aa1 Revert "fix: Update CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED value"
This reverts commit 49270801d4.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-05-30 12:51:56 +02:00
Mateusz Hoppe 1c196b9f3d refactor: change ApiSpecificConfig functions names
- better description of the meaning of functions

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-05-30 09:20:01 +02:00
Mateusz Jablonski c544004b8e fix: move getProductConfigFromHwInfo to CompilerProductHelper
add tests for default PVC configs

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-29 14:08:52 +02:00
Wawiorko, Grzegorz 49270801d4 fix: Update CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED value
Signed-off-by: Wawiorko, Grzegorz <grzegorz.wawiorko@intel.com>
2023-05-29 12:37:55 +02:00
Maciej Plewka a3de4a1d1d fix: Rediscribe Plane property in image
Related-To: NEO-7946

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-05-26 15:02:07 +02:00
Kacper Nowak d05fee8087 fix(ocl): Use GPU address of SVM alloc. when using builtins
Use GPU address of SVM allocation instead of CPU one. It fixes a bug
visible on platforms, where potentially GPU VA does not have to match
CPU VA.

Related-To: NEO-7970
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-05-26 13:39:14 +02:00
Neil R Spruit ded9d7bff2 feature: Get Peer Allocation with specified base Pointer
Related-To: LOCI-4176

- Given a Base Pointer passed into Get Peer Allocation, then the base
pointer is used in the map of the new allocation to the virtual memory.
- Enables users to use the same pointer for all devices in Peer To Peer.
- Currently unsupported on reserved memory due to mapped and exec
resiedency of Virtual addresses.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-05-24 20:41:20 +02:00
Daria Hinz 331f167cfe feature: Add debug flag for setting hw ip version
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7954
2023-05-23 15:32:46 +02:00
Lukasz Jobczyk 0e758e4bb5 performance: Add debug flag to set BCS split minimal size
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-05-17 08:07:43 +02:00
Lukasz Jobczyk 9f755b54ad performance: Bidirectional BCS split implementation for OCL
Related-To: NEO-7877

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-05-16 13:34:18 +02:00
Naklicki, Mateusz 71e5c76d67 fix: remove explicit AgeBased Thread Arbitration policy
Related-To: NEO-7913
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-05-15 09:58:04 +02:00
Diedrich, Kamil 5a4a2ab8ab feature: Add new environment variables for compiler cache
This patch add new environment variables to control compiler cache.
Works as follow: If persistent cache is set driver check if NEO_CACHE_DIR
is set. If not then driver checks XDG_CACHE_HOME - If exists
then driver create neo_compiler_cache folder, if
not then driver checks HOME directory. If each NEO_CACHE_DIR,
XDG_CACHE_HOME and HOME are not set then compiler cache is disabled.
Current support is for Linux only.

Signed-off-by: Diedrich, Kamil <kamil.diedrich@intel.com>

Related-To: NEO-4262
2023-05-12 10:21:27 +02:00
Mateusz Jablonski b1543289d2 fix: get gmm resource type using ResourceInfo interface
GMM_RESOURCE_INFO interface should be used only within ResourceInfo class

Related-To: NEO-7951
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-11 17:51:14 +02:00
Warchulski, Jaroslaw 7fdf4985a3 feature: add support for cl_khr_external_memory extension
Related-To: NEO-7069
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-05-05 15:51:39 +02:00
Warchulski, Jaroslaw 9a73fa195b feature: Add support for CL_DEVICE_HANDLE_LIST_KHR
Related-To: NEO-6757
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-05-05 15:17:20 +02:00
rcombs e4ed6f07f3 refactor: don't redeclare an STL type in cl_execution_environment.h
Depending on the compiler and STL used, `std::once_flag` may actually be
aliased into an internal namespace (e.g. `std::__1::once_flag`).
Declaring it directly within `std` here may conflict with that
if the actual `<mutex>` header is included in the same translation unit.

This regressed in 77b88f19a1.

Signed-off-by: rcombs <rcombs@rcombs.me>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-04 16:45:54 +02:00