Commit Graph

4255 Commits

Author SHA1 Message Date
Bari, Pratik
b9837ef068 feature(sysman): Added changes for Porting Frequency API
The new classes SysmanKmdInterface, SysmanKmdInterfaceI915 and
SysmanKmdInterfaceXe have been introduced.
A map is maintained in the SysmanKmdInterfaceI915 and
SysmanKmdInterfaceXe class for the sysfs file names.
The access specifier of the function getDrmVersion has been changed from
protected to public so as to use it in the sysman code. This is required
for the SysmanKmdInterface pointer to point to the
SysmanKmdInterfaceI915 and SysmanKmdInterfaceXe accordingly.
The ULTs have been added for the new sysfs file path corresponding to
the i915 and the Xe driver.

Related-To: LOCI-4399

Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
2023-07-13 08:41:05 +02:00
Compute-Runtime-Validation
6c9a68340a Revert "feature(zebin): Re-introduce support for validation using PRODUCT_CON...
This reverts commit e466fcd7be.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-13 07:55:32 +02:00
Kacper Nowak
e466fcd7be feature(zebin): Re-introduce support for validation using PRODUCT_CONFIG value
Related-To: IGC-6300
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-07-12 18:29:35 +02:00
Mateusz Jablonski
16dd1ebd9a fix: add missing nullptr check in adjustRootDeviceEnvironments method
Related-To: NEO-8166
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-12 14:23:17 +02:00
Milczarek, Slawomir
a6a0b95344 fix: Cpu page fault manager with control of host ptr eviction
Related-To: NEO-8015

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-07-12 14:13:17 +02:00
Zbigniew Zdanowicz
1c0285a156 fix: correct alignment of per thread scratch size
Related-To: NEO-5288

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-12 12:31:47 +02:00
Young Jin Yoon
40af0dddeb feature: disable chunking when debugger is used
Added if conditions to enable useChunking flag by checking
with ExecutionEnvironment::isDebuggingEnabled.

Related-To: NEO-8164
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2023-07-12 03:26:49 +02:00
Kacper Nowak
b908203001 fix: Compile built-ins per release
- Preserve releases on CMake level.
- Instead of generating builtins per platform, generate them per-release
(+ correct naming accordingly).
- Stop using revisions in builtin compilation logic path, as they are
already embedded in release (device ip).
- Remove platform names & revisions from names for generated files
(related to builtins).
- Remove unnecessary code, refactor ULT logic.

Related-To: NEO-7783
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-07-11 16:02:36 +02:00
Fabian Zwolinski
1a398c7199 fix: huge host and shared allocation
Related-To: NEO-7229
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-07-11 15:16:50 +02:00
Lukasz Jobczyk
83bd33befc refactor: Add flag to control BCS split for pageable memory
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-11 15:12:40 +02:00
Andrzej Ratajewski
dc0796c2a1 feature: Add cl_khr_spirv_linkonce_odr to supported extensions
Related-To: NEO-8165
Signed-off-by: Andrzej Ratajewski <andrzej.ratajewski@intel.com>
2023-07-11 13:19:55 +02:00
Mateusz Jablonski
4e464e9d6f fix: adjust root device indices when filtering root device environments
Related-To: NEO-8166
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-11 13:12:20 +02:00
Zbigniew Zdanowicz
3f7269d401 fix: make sip state programing once for all level zero command queues
Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-11 11:34:21 +02:00
Young Jin Yoon
81822e3716 refactor: rename pageSize2Mb to pageSize2M
The previous name "pageSize2Mb" defined in
shared/source/helpers/constant.h is inconsistent to other variable,
i.e. pageSize64k.

Furthermore, it's a bit misleading because the page size is defined in
Megabytes (MB), not in Megabits (Mb).

Related-to: NEO-7695
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2023-07-10 20:12:09 +02:00
Jaime Arteaga
23eeaf816d feature: Add debug keys for chunking allocation and size
Related-to: NEO-7695

New debug keys added:

EnableBOChunking is now a mask
0 = no chunking (default).
1 = shared allocations only
2 = device allocations only
3 = shared and device allocations

MinimalAllocationSizeForChunking sets the minimum allocation
size to apply chunking. Default is 2MB.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-07-07 23:39:43 +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
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
Mateusz Jablonski
68909a895a feature: add AIL for selected apps on MTL
- Adobe Photoshop
- Adobe Premiere Pro
- Adobe After Effect

use RCS as a default engine

Related-To: NEO-8049
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-06 22:31:13 +02:00
Mateusz Hoppe
4aba0f0340 feature: global bindless surface state base support
- program global bindless ssba when external allocator used (
UseExternalAllocatorForSshAndDsh)

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-06 18:31:49 +02:00
Mateusz Hoppe
6205cca038 fix(debugger): require immediate binding for Module's allocations
- all bos from Module must have requireImmediateBinding
flag set
- this change fixes hang in debugger - where MODULE LOAD event
was not sent

Resolves: NEO-8121

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-06 17:34:22 +02:00
Zbigniew Zdanowicz
c892b8c6f3 fix: remove redundant check
Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-06 14:58:18 +02:00
Zbigniew Zdanowicz
8836838c7c performance: add one time context init sip state to immediate flush task
Related-To: NEO-7808

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-06 14:25:35 +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
Igor Venevtsev
eba306c099 fix: properly set systemMemoryForced flag for secondary command buffers
Due to this flag was not properly handled on Windows, command buffer
allocations were never reused in immediate command lists in case of
host secondary buffers. This lead to huge host memory consumption
and performance degradation

Related-To: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-07-05 17:09:15 +02:00
Zbigniew Zdanowicz
59949bc833 performance: add one time context init csr surface to immediate flush task
Related-To: NEO-7808

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-05 16:18:21 +02:00
Dominik Dabek
f1f0f2410c refactor: remove unused getBaseTimeout
Related-To: GSD-3612

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-07-05 16:12:15 +02:00
Zbigniew Zdanowicz
69d80ee5bc performance: add one time context init preemption mode to immediate flush task
Related-To: NEO-7808

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-05 14:06:14 +02:00
Lukasz Jobczyk
e70f441f52 fix: Idle gpu before invalidate aux table
Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-05 13:51:27 +02:00
Mateusz Hoppe
0cc8330a1a refactor: Unify bindless surface state base programming
- program BSSBA in one place when sbaProperties used

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-04 16:34:43 +02:00
Kacper Nowak
1fba2a162e fix(zebin): Do not use NT_INTELGT_PRODUCT_CONFIG for target device validation
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-07-04 16:22: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
Zbigniew Zdanowicz
e52e4f28f2 fix: correct csr state and command programming
- global stateless mode should save surface state base address
- correctly retrieve scratch offset for front end programming
- do not override general base address value and use indirect heap property

Related-To: NEO-7808

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-03 15:55:55 +02:00
Kamil Kopryk
3f27b5225c performance: Check if print xe logs is needed before locking
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-07-03 14:01:31 +02:00
Mateusz Jablonski
30c5d8a681 fix: pass gmm helper to getDumpSurfaceInfo function
gmm may not exist for buffer allocation

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-03 11:59:52 +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
Compute-Runtime-Validation
2d7505c01c Revert "feature: Add pat index programming to gem create ext call"
This reverts commit 6489379508.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-02 05:06:58 +02:00
Mateusz Jablonski
8327a68c9b fix: correct programming preferred slm size for 12.70/12.71 releases
do not exceed 96K slm allocation size

Related-To: HSD-14019148270, HSD-14019142146
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-30 14:40:34 +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
Lukasz Jobczyk
c294ef48ce fix: Make tlb flush os agnostic
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-06-30 14:12:59 +02:00
Michal Mrozek
5eadedc36e refactor: Remove not used logic.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2023-06-30 10:58:35 +02:00
Zbigniew Zdanowicz
21823af419 performance: add skeleton method to cmdlist immediate flush task
Related-To: NEO-7808

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-06-30 10:46:20 +02:00
Dominik Dabek
10ac167bdc fix(ocl): do not multiply kmdNotify waitTimeout
With direct submission disabled this resulted in waitTimeout long enough
that kmdWait fallback was rarely used.
This caused more CPU spin time.

Related-To: GSD-3612

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-06-29 16:06:28 +02:00
Zbigniew Zdanowicz
eb4e7fb2a6 performance: immediate flush add flushing mechanism to gpu
Related-To: NEO-7808

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-06-29 15:52:13 +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
Compute-Runtime-Validation
550b6703b8 Revert "feature: enable direct submission Windows WDDM 2.0"
This reverts commit 87eb609958.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-06-29 10:33:39 +02:00
Filip Hazubski
6489379508 feature: Add pat index programming to gem create ext call
When upstream ioctl helper is created it will try to create small
allocation, adding I915_GEM_CREATE_EXT_SET_PAT extension. If it
succeeds, for all resources with valid pat index value it will then
explicitly program pat index value with gem create ext call.

PrintBOCreateDestroyResult value can be used to:
- print whether the set pat extension is supported by the kernel, when
  ioctl helper is created
- print whether set pat extension was added for a given gem create ext
  call and what pat index value was programmed

Resolves: NEO-7896

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-06-29 08:51:00 +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
Mateusz Jablonski
c6404e6626 fix: don't submit to gpu when device state is invalid
Related-To: NEO-8049
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-28 12:08:49 +02:00