Commit Graph

2037 Commits

Author SHA1 Message Date
Fabian Zwolinski 22a719d62f fix: Add missing fp64 extensions in caps initialization
In a scenario where fp64 emulation is both supported and enabled,
we want to include 2 additional extensions:
- cl_khr_fp64 to deviceExtensions
- __opencl_c_fp64 to openclCFeatures (OpenCL ver. 3.0)

Related-To: NEO-7611
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-07-28 21:29:30 +02:00
Filip Hazubski 8dd23f4b4d feature: Add logic around cpu side allocations
Group allocation types related to cpu side allocations in function to
query gmm usage type. These types will have caching enabled even if
CPU caching is not preferred by GPU.

Add logic to query whether the cpu access is allowed for an allocation
(in cases when it is not preffered by GPU).

Related-To: NEO-7194

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-07-28 21:04:24 +02:00
Mateusz Hoppe 997b599168 fix(debugger): pass correct sipAllocation to makeResident
- sipAllocation for context must be resident in Offline mode

Related-To: NEO-7630

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-28 20:51:12 +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
Milczarek, Slawomir 027c51d396 feature: Add CPU side USM allocation to trim candidate list on page fault
Enable eviction of CPU side USM allocation for UMD migrations on Windows.
Reverts incorrect auto-revert commit 218de586a4f28b1de3e983b9006e7a99d3a4d10e.

Related-To: NEO-8015

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-07-25 15:21:12 +02:00
Dunajski, Bartosz 6656e23b86 refactor: unify completion check methods
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-25 14:17:52 +02:00
Dunajski, Bartosz 2c50fd9486 fix: waiting for completion in TBX mode
- use testTaskCountReady method to check TaskCount value
- download all allocations when TaskCount is ready

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-25 11:54:09 +02:00
Cencelewska, Katarzyna 6f45574ff9 fix: add proper bcs synchronization when marker
Related-To: NEO-8105
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-07-24 10:57:41 +02:00
Compute-Runtime-Validation 918b41d26d Revert "feature: Add CPU side USM allocation to trim candidate list on page f...
This reverts commit 60a4448a07.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-24 08:44:22 +02:00
Milczarek, Slawomir 60a4448a07 feature: Add CPU side USM allocation to trim candidate list on page fage fault
Enable eviction of CPU side USM allocation for UMD migrations on Windows.

Related-To: NEO-8015
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-07-23 10:24:28 +02:00
Compute-Runtime-Validation 4a562e352b Revert "feature: Add CPU side USM allocation to trim candidate list on page f...
This reverts commit cce2cc920d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-21 16:40:59 +02:00
Milczarek, Slawomir cce2cc920d feature: Add CPU side USM allocation to trim candidate list on page fault
Enable eviction of CPU side USM allocation for UMD migrations on Windows.

Related-To: NEO-8015

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-07-21 14:18:38 +02:00
Dominik Dabek 0a4d0917d4 performance(ocl): skip dcFlush on no event
Skip dcFlush on waitForBarrier without event by default.

Related-To: NEO-8147

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-07-20 14:57:37 +02:00
Compute-Runtime-Validation 8c155a2e89 Revert "performance: Memory handling improvements"
This reverts commit 5b80bd4d7c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-20 11:37:09 +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
Filip Hazubski 5b80bd4d7c performance: Memory handling improvements
By default prefer allocating memory first by KMD, instead of malloc first.

By default prefer not caching allocations on MTL devices. This results
in allocations being handled with non-coherent pat index.

For integrated devices when caching is not preferred do not allow
direct memory access in CPU domain. For map/unmap operations create
a dedicated memory allocation for CPU access, instead of accessing it
directly, reusing the same logic as when mapping/unmapping local memory.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-07-19 19:21:44 +02:00
Dominik Dabek 622a3ed89c performance(ocl): flag to not dcFlush on no event
If waitForBarrier is not passed outEvent then do
dcFlush on the next synchronize call.

Related-To: NEO-8147

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-07-18 15:38:54 +02:00
Mateusz Hoppe 776917159d feature: cl_khr_external_memory - return platform info
- return supported memory handle types when querying
CL_PLATFORM_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES_KHR

Related-To: NEO-6757

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-18 14:21:20 +02:00
Mateusz Jablonski 33e0eabe91 performance(ocl): verify tracingInProgress after checking for tracing support
Related-To: NEO-7958
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-18 11:42:30 +02:00
Dunajski, Bartosz 815b37bf3a performance: allow waiting for OOQ timestamps in clEnqueueWaitForEvents
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-14 11:33:10 +02:00
Dunajski, Bartosz 712e059ace performance: check completion alloc only once when waiting for Event
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-14 08:32:50 +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
Mateusz Hoppe 9fd7f9cf05 fix: set ImplicitArgs size to size of defined fields
Resolves: NEO-8169

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-12 21:30:32 +02:00
Dunajski, Bartosz 40c7b2842f fix: check engines completion before releasing deferred TSP nodes
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>

Related-To: NEO-8146
2023-07-11 16:11:51 +02:00
Cencelewska, Katarzyna aa0beb8191 fix: Unify logic calculating threads per work group part 4
- also use helper when checking that is simd1 to have same flow

Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-07-07 15:34:59 +02:00
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