Commit Graph

684 Commits

Author SHA1 Message Date
Compute-Runtime-Validation 8042df8bb4 Revert "fix: support alignments in device and shared memory allocation on WSL2"
This reverts commit dd46bf1e90.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-04 02:25:25 +02:00
Lu, Wenbin dd46bf1e90 fix: support alignments in device and shared memory allocation on WSL2
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-10-03 19:22:23 +02:00
Mateusz Jablonski 5e4ea627f7 refactor: correct printf formats
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 18:14:20 +02:00
Fabian Zwolinski 7c80f49176 fix: refactor Windows cl_cache and add extra safety layers
What's changed:
- Add early return when open existing config
fails due to different error than `ERROR_FILE_NOT_FOUND`
- Swich `ReadFileEx` to `ReadFile`
- Add `SetFilePointer` to make sure we're reading
from the beginning of the file
- Pass `overlapped` to `WriteFile` to make sure
we're writing from the beginning of the file

Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-10-02 19:04:14 +02:00
Baj, Tomasz cb903cbc03 refactor: Move disableRcs to releaseHelper
Related-To: NEO-8296

Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2023-09-29 14:19:02 +02:00
Katarzyna Cencelewska 027551724e fix: override value of MaxDualSubSlicesSupported when equal 0
when kmd is not set value of MaxDualSubSlicesSupported
then set it as half of MaxSubSlicesSupported

Related-To: NEO-8397
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-09-27 17:37:24 +02:00
Maciej Plewka 8658fdb04e fix: Use stack vec for api specific prefix
Related-To: NEO-8388, GSD-6296

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-21 16:10:54 +02:00
Fabian Zwolinski e96dd344c3 feature: add new environment variables for compiler cache on Windows
Changes:
- replaced registry keys with environment variables
for cl_cache in OCL
- added compiler cache helpers
- implemented support for new env vars on Windows
- added tests

New env vars mechanism works as follows:
If `PERSISTENT_CACHE` is set,
driver checks if `NEO_CACHE_DIR` is set.
If `NEO_CACHE_DIR` is not set,
driver uses `%LocalAppData%\NEO\neo_compiler_cache`
as `cl_cache` destination folder.
If `NEO_CACHE_DIR` is not set and `%LocalAppData%`
path could not be obtained,
compiler cache is disabled.

In the current Windows implementation,
special characters in the folder path are not supported.

Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-21 12:40:48 +02:00
Mateusz Jablonski 3b2c41e5ee fix: define isDirectSubmissionSupported per HW release
Related-To: NEO-8187
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-21 09:37:48 +02:00
Mateusz Hoppe 371412a826 refactor: remove useLocalMem from allocate32BitGraphicsMemoryImpl
- this method allocates System Memory
- argument is not needed - ExternalHeap is selected inside this function
- remove unneeded ults
- allocate memory in Device Pool for external heap allocation in
OsAgnosticMemoryManager

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-09-18 10:08:09 +02:00
Fabian Zwolinski 0538f0524a refactor: make os_handle.h non os specific
Use the same file `os_handle.h` on both
Linux and Windows.
Change implementation of `HandleType` -> `UnifiedHandle` to
`std::variant<int, void *>`
use `int` on Linux
use `void *` on Windows

Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-15 15:53:41 +02:00
Fabian Zwolinski 0dd40b8616 refactor: Split compiler interface between OSs
Create new file:
`os_handle.h` which contains OS specific Handle type.
Add `shared/source/os_interface/<windows/linux>`
include directory to level_zero.

Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-12 15:56:53 +02:00
Mrozek, Michal d9f938f3db refactor: remove not needed code
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2023-09-12 14:25:04 +02:00
Mateusz Jablonski aa6b837a67 fix: define preferred allocation method per hw release
Related-To: HSD-18033144631
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-11 12:54:52 +02:00
Mateusz Jablonski 46288b8efd fix: setup correct non-release key name in getStringWithFlags
unify function for getting env

Related-To: NEO-8347
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-08 15:39:36 +02:00
Lukasz Jobczyk e9f199bcad performance: Wait in busy loop with timeout before Gdi sync object
Resolves: NEO-8343

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-09-08 14:40:20 +02:00
Fabian Zwolinski 10675134e1 feature: Add process safety to Windows compiler cache
Related-To: NEO-8092

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
Co-authored-by: Diedrich, Kamil <kamil.diedrich@intel.com>
2023-09-06 15:34:15 +02:00
Zbigniew Zdanowicz cb641226b5 fix: add debug key to provide alternative directory for wddm residency logs
Related-To: NEO-8211

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-09-01 10:15:09 +02:00
Mateusz Hoppe 9e89704624 feature: debug flag to disable DriverStore path enforcement
Resolves: NEO-8320

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-08-31 08:20:53 +02:00
Mateusz Jablonski a4addad510 refactor: prework for defining preferred allocation method per allocation type
Related-To: HSD-18032442707, HSD-18032440987
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-30 12:17:33 +02:00
Mateusz Jablonski e429afec1e refactor: unify mocks for getenv function
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-23 13:44:40 +02:00
Kacper Kasper 991febcdf4 fix: extend cache hash with compiler commit sha, lib size and mtime
Related-To: NEO-4262

Signed-off-by: Kacper Kasper <kacper.k.kasper@intel.com>
2023-08-22 15:28:57 +02:00
John Falkowski d49190f4ae feature: Add debug/release variables prefixes
Add debug/release variables with prefixes for Level Zero, OpenCL and NEO

Resolves: NEO-6357

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-22 15:15:45 +02:00
Mateusz Hoppe 8435160db4 feature: bindless addressing for images
- program surface states for redescribed images correctly. Image copy
to/from memory are using redescribed surface states,
- refactor state base address programming - program address and size
together, set max size at the beginning due to lack of Enable flag
- set GpuBase in WddmAllocation when external heap is used
- return max ssh required size from kernelInfo or based on stateful args

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-08-18 15:59:20 +02:00
Artur Harasimiuk f6e0c0cf89 Revert "feature: Add debug/release variable prefixes"
This reverts commit ec95d9314a.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-08-18 12:42:39 +02:00
Mateusz Hoppe a26e25f1df fix: do not notify KMDAF when lock/unlock fails
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-08-17 11:32:40 +02:00
John Falkowski ec95d9314a feature: Add debug/release variable prefixes
Resolves:  NEO-6357
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-10 14:01:09 +02:00
Lukasz Jobczyk fc1f45b630 feature: Dispatch monitor fence from wait
Resolves: NEO-8240
Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-08-08 16:42:27 +02:00
Katarzyna Cencelewska 6d8ff6399c feature: add possibility to force device id on Windows
Related-To: HSD-18031930757
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-08-07 11:25:11 +02:00
Katarzyna Cencelewska db35790d5d fix: add missing types that require stateless access
Related-To: HSD-16020995919
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-07-28 21:32:21 +02:00
Zbigniew Zdanowicz b4d6822991 fix: add time units to time interval logs
Related-To: NEO-8211

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-28 20:53:51 +02:00
Mateusz Jablonski c68c41c8c4 refactor: prework for setting preferred allocation method per platform
Related-To: NEO-7194
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-28 19:54:35 +02:00
Zbigniew Zdanowicz 0d8523c386 performance: add time measurement between make resident and wait on gpu
Related-To: NEO-8211

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-27 10:13:23 +02:00
Katarzyna Cencelewska b529adf941 fix: for 32 bit addressing adjust correctly gpuAddress if CONSTANT_SURFACE
Related-To: HSD-16020995919
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-07-27 07:50:17 +02:00
Zbigniew Zdanowicz 5ca376e655 performance: add residency diagnostic for trim callback
Related-To: NEO-8211

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-26 07:46:55 +02:00
Compute-Runtime-Validation e3a408f536 Revert "performance: Change preferred allocation method to AllocateByKmd"
This reverts commit 957aa99f9e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-25 07:23:46 +02:00
Mateusz Jablonski 957aa99f9e performance: Change preferred allocation method to AllocateByKmd
Related-To: NEO-7194
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-24 14:17:44 +02:00
Mateusz Jablonski c0015b3b95 fix: correct cleanup path when set priority call fail in wddm path
improve mock gdi - return unique handle and host ptr when creating allocation

Related-To: NEO-7194
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-24 11:32:10 +02:00
Igor Venevtsev d2dc9fab11 feature: check direct submission support on Windows
- WDDM 2.0 only supported
- WSL is not supported

Related-To: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-07-21 13:53:23 +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
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
Mateusz Jablonski 01990e8bd7 feature(internal): add debug flag to control preferred allocation method on Wddm
Related-To: NEO-7194
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-18 16:46:17 +02:00
Katarzyna Cencelewska 33a5dd486b refactor: remove not needed arguments in adjustGpuPtrToHostAddressSpace
- add also tests to confirm that proper alignment is applied

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-07-18 08:41:59 +02:00
Katarzyna Cencelewska d74bba95c4 fix: use proper gpu ptr when 32 bit
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-07-14 11:00:40 +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
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
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
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
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
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
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
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
Igor Venevtsev 87eb609958 feature: enable direct submission Windows WDDM 2.0
Resolves: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-06-28 09:01:09 +02:00
Igor Venevtsev feb605577c fix: start direct submission controller on first wddm csr flush
Related-To: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-06-27 17:30:45 +02:00
Ryabov, Vladislav 6d41a6bc40 fix: wrong parameter passed to getModuleFileName
The size was passed in bytes, not in number of TCHARs.

Signed-off-by: Vladislav Ryabov <vladislav.ryabov@intel.com>
2023-06-22 16:39:37 +02:00
Maciej Plewka 4e91c4b08f fix: Use virtual map calls to gmm only for compressed formats
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-06-16 13:46:35 +02:00
Compute-Runtime-Validation 6c4391c84a Revert "feature: enable direct submission on Windows for WDDM 2.0"
This reverts commit 386e7e5259.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-06-16 07:33:56 +02:00
Igor Venevtsev 386e7e5259 feature: enable direct submission on Windows for WDDM 2.0
Related-To: NEO-4843

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-06-15 18:46:11 +02:00
Mateusz Jablonski 3b981331c9 fix: correct handling ZE_ENABLE_PCI_ID_DEVICE_ORDER flag
- by default ZE_ENABLE_PCI_ID_DEVICE_ORDER is disabled
- by default devices are sorted by type (discrete first), then by pci order
- when ZE_ENABLE_PCI_ID_DEVICE_ORDER is enabled, devices are sorted by pci id

Related-To: LOCI-4520

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-14 16:27:55 +02:00
Mateusz Jablonski 0c7a36bc8f fix: obtain hw ip version from kmd in wsl mode
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-07 15:20:13 +02:00
Fabian Zwolinski 076e0a0fa8 fix: Increase size of reported global memory available on Windows to 98%
Related-To: NEO-7229
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-06-02 14:21:59 +02:00
Warchulski, Jaroslaw 03d9a20559 feature: add debug flag to wait for release memory
Related-To: NEO-6766
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-06-02 09:57:27 +02:00
Cencelewska, Katarzyna 115d6de350 fix: add debug key to verify device state before submit
- new debug key EnableDeviceStateVerification to check device state not
ony in debug mode

Related-To: NEO-7669
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-05-31 14:31:23 +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
Spruit, Neil R b589e32c4b fix: Force Close of IPC handles at memFree
Related-To: LOCI-4455

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-05-26 17:09:47 +02:00
Maciej Plewka 4b6194cf0c fix: Use Gmm to map virtual gpu addresses
Related-To: NEO-5842, NEO-7946

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-05-25 15:49:05 +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
Kamil Kopryk f32d62970d fix: remove not needed adjustIpVersionIfNeeded function
Related-To: NEO-7786


Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-24 15:56:27 +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
Kamil Kopryk 3e6c83d28a fix: initialize ipVersion in wddm paths
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-22 10:13:13 +02:00
Kamil Kopryk 7d20449589 fix: Add release helper for dg2
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-16 12:04:03 +02:00
Mateusz Jablonski bfd7067c1a fix: create global and constant surface as lockable resource
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-12 10:55:36 +02:00
Mateusz Jablonski f3a89bfe07 fix: add missing settings of isLockable flag in WddmMemoryManager class
- allocateGraphicsMemoryUsingKmdAndMapItToCpuVA in case of no compression
- allocate32BitGraphicsMemoryImpl in case of allocate by KMD

remove redundant ctor of StorageInfo class

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-11 12:14:18 +02:00
Kamil Kopryk 909bb00f22 fix: populate ipVersion before release helper creation
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-08 16:14:47 +02:00
Spruit, Neil R 5633418891 fix: Don't fail on VM reserve with base address on windows
Related-To: LOCI-4333

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-05-04 20:05:16 +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
Fabian Zwolinski cbce863dc2 refactor: Rename member variables to camelCase 3/n
Additionally enable clang-tidy check for member variables

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-28 16:01:14 +02:00
Kamil Kopryk 171e97e71a feature: introduce release helper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-04-27 21:38:08 +02:00
Fabian Zwolinski e351a90f81 refactor: Rename member variables to camelCase 2/n
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-27 20:39:22 +02:00
Mateusz Jablonski 2f9135a4e6 fix: change type of container with registered engines per root device
use StackVec instead of unordered map
resize container at MemoryManager's creation time

Related-To: NEO-7925
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-27 17:06:42 +02:00
Mateusz Jablonski 32d8a3bc6d fix: store registered engines per root device
in most cases we need to iterate over engines associated to single root device

Related-To: NEO-7925
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-27 10:54:07 +02:00
Spruit, Neil R 364c2da9fb feature: Add Support for zeMemPutIpcHandle & zeMemGet IPC Handle converters
Related-To: LOCI-4172, LOCI-4305, LOCI-4306

- Create a new IPC Memory handle upon call to getIpcMemHandle if the
previous handle has been freed.
- Release the Ipc Memory Handle when zeMemPutIpcHandle is called.
- Create a new IPC Handle for tracking thru zeMemGetAllocProperties
when ze_external_memory_export_fd_t is used.
- Convert FD to opaque IPC handle and IPC Handle to FD.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-04-27 03:53:52 +02:00
Fabian Zwolinski 2022592f3d Apply CamelCase for class and struct names 2/2
Additionally change .clang-tidy not to ignore struct names.

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-25 13:10:23 +02:00
Dunajski, Bartosz 6e9257c623 Debug flag to force early exit
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-04-25 09:44:44 +02:00
Kulkarni, Ashwin Kumar 3213f96109 Disable context creation and HWS when NEO_L0_SYSMAN_NO_CONTEXT_MODE is set
Related-To: LOCI-4295

Signed-off-by: Kulkarni, Ashwin Kumar <ashwin.kumar.kulkarni@intel.com>
2023-04-14 11:51:53 +02:00
Fabian Zwolinski fd971f7a61 Generate Offline Dump Context ID
On linux OfflineDumpContextId consists of
32b processId in bits 63:32
32b drmContestId in bits 31:0
Also cache linux implementation of getProcessId since
the value is constant.

Related-To: NEO-7630
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-04 15:58:56 +02:00
Yates, Brandon 0f6140deb0 fix(l0debug): windows topology map should always be created
Topology map was only being created when ZET_ENABLE_PROGAM_DEBUGGING was
set.  This was not correct.  Now it is unconditionally created at init,
and debug attach will fail if it is not valid.

Related-to: LOCI-3937

Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2023-03-27 16:24:57 +02:00
Kulkarni, Ashwin Kumar ae566a42d8 Disable context creation when NEO_L0_SYSMAN_NO_CONTEXT_MODE is set
Related-To: LOCI-4031

Signed-off-by: Kulkarni, Ashwin Kumar <ashwin.kumar.kulkarni@intel.com>
2023-03-16 19:14:46 +01:00
Kamil Kopryk fa8579602f refactor: rename product helper files n/n
Related-To: NEO-7703
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-03-10 13:24:38 +01:00
Kamil Kopryk 57e68624f3 refactor: rename product helper wddm and drm files
Related-To: NEO-7703
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-03-09 17:51:01 +01:00
Mateusz Hoppe 37dbec305d feature: add AssertHandler
- initial implementation to support assert() on GPU

Related-To: NEO-5753

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-08 17:55:23 +01:00
Spruit, Neil R 86e739e9dc feature: Relaxed Virtual Memory reservation with pStart
Related-To: LOCI-3871

- Relaxed the Virtual Memory Reservation to allow pStart and not fail if
the pStart value is not obtained.
- Moves checks on pStart to the user to check and determine if they want
to re-reserve or use the address allocated.
- Changed reserveGpuAddress to use unit64_t type to allow internal
address range structure assignment without cast.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-03-08 08:06:50 +01:00
Mateusz Jablonski f23b1114c0 fix Windows: fallback to System32 when can't load library from driver store
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-02-22 07:49:41 +01:00
Warchulski, Jaroslaw b485c025d0 Cleanup includes 57
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-17 11:19:59 +01:00
Aravind Gopalakrishnan d75c4d3ec7 fix: Skip adding device to list if context creation fails
Propogate error codes from ioctl failure properly up the layers
so that we skip exposing bad root devices.

Related-To: NEO-7709

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2023-02-16 11:40:54 +01:00
Neil Spruit 2aaebddb37 Revert "Heap allocation allow base address and growable addresses"
This reverts commit 44ec497b1a.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-02-15 18:34:40 +01:00
Spruit, Neil R 44ec497b1a feature: Allow for Allocating a base address in the heap and grow an allocation
Related-To: LOCI-3871

- Enabled allocation of specified base address in the targeted heap.
- Enabled virtual memory reservations to grow by allocating at the start
of the heap vs the end of the heap.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-02-15 08:13:38 +01:00
Warchulski, Jaroslaw 64f735481d Cleanup includes 48
Cleaned up files:
shared/source/command_container/command_encoder.inl
shared/source/os_interface/hw_info_config.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-10 17:23:02 +01:00
Warchulski, Jaroslaw a2e6a8284b Cleanup includes 47
Cleaned up files:
level_zero/tools/source/debug/windows/debug_session.h
level_zero/tools/source/sysman/memory/windows/os_memory_imp.h
level_zero/tools/source/sysman/windows/kmd_sys_manager.h
opencl/test/unit_test/aub_tests/command_stream/copy_engine_aub_tests_xehp_and
shared/source/command_container/command_encoder.inl
shared/source/command_stream/command_stream_receiver_hw_xehp_and_later.inl
shared/source/helpers/blit_commands_helper_base.inl
shared/test/unit_test/image/image_surface_state_fixture.h
shared/test/unit_test/os_interface/windows/os_interface_win_tests.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-10 17:07:30 +01:00
Kamil Kopryk cab4b956eb refactor: rename compiler product helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-03 09:03:24 +01:00
Kamil Kopryk 2484c7ceb2 refactor: rename hw_helper files to gfx_core_helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-01 19:37:51 +01:00
Kamil Kopryk 7487d1450e Move CompilerProductHelper ownership to RootDeviceEnvironment and Ocloc
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-01 13:09:12 +01:00
Kamil Kopryk 104126ddd7 Move ProductHelper ownership to RootDeviceEnvironment
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-01 08:29:46 +01:00
Kamil Kopryk 7b7c28cb40 refactor: don't use global ProductHelper getter 19/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-30 09:02:04 +01:00
Spruit, Neil R b5692c04cd Support Mapping Multiple Physical Memory with one VA and Bug Fix
- Added support for mapping any portion of a virtual allocation to a
physical mapping with a lookup function for reserved virtual addresses.
- Added support for multiple mappings linked to the same virtual
reservation.
- Fixed bug with 64 bit addresses on windows with invalid addresses
passed to the user.

Related-To: LOCI-3904, LOCI-3914, LOCI-3931

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-01-30 02:36:10 +01:00
Kamil Kopryk a72cae15fe refactor: don't use global ProductHelper getter 9/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-25 11:04:40 +01:00
Warchulski, Jaroslaw bc13db734d Cleanup includes 41
Cleaned up files:
shared/source/command_stream/aub_command_stream_receiver_hw.h
shared/source/helpers/common_types.h
shared/source/os_interface/linux/drm_neo.h
shared/source/os_interface/windows/hw_device_id.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-24 14:37:36 +01:00
Warchulski, Jaroslaw 11764dd9bf Cleanup includes 40
Cleaned up files:
shared/source/os_interface/linux/drm_neo.h
shared/source/os_interface/windows/wddm/um_km_data_translator.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-23 16:19:35 +01:00
Kamil Kopryk 235385abc9 refactor: Remove global CompilerProductHelper gettter 1/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-20 17:17:50 +01:00
Kamil Kopryk adb3e126b4 refactor: Correct typo
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-20 16:07:13 +01:00
Spruit, Neil R f928d695e7 Support for Mapping Physical with Virtual Memory
Related-To: LOCI-3422, LOCI-3421

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-01-20 05:17:10 +01:00
Warchulski, Jaroslaw 77501d86ba Cleanup includes 35
Cleaned up files:
shared/source/command_stream/command_stream_receiver.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-17 18:51:40 +01:00
Igor Venevtsev f67f811de0 Revert "Enable implicit flush control by default for XE_HPG family"
[1/3] - enable implicit flush for GPU idle

This reverts commit 65751513cf05b605cb757a882edbd6269b20ecc1.

Related-To: NEO-6827

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-01-17 10:16:54 +01:00
Igor Venevtsev d99d5963df Enable implicit flush control by default for XE_HPG family
[2/3] - enable implicit flush for new resources

Related-To: NEO-6827

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-01-13 16:20:56 +01:00
Igor Venevtsev c9936a4cbd Enable implicit flush control by default for XE_HPG family
[1/3] - enable implicit flush for GPU idle

Related-To: NEO-6827

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-01-13 14:57:08 +01:00
Warchulski, Jaroslaw bd81b5546d Cleanup includes 25
Cleaned up files:
level_zero/core/source/device/device.h
opencl/source/helpers/dispatch_info.h
shared/source/os_interface/os_interface.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-10 12:54:45 +01:00
Kamil Kopryk 468d722efb Move clGfxCoreHelper ownership to rootDeviceEnv
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-05 12:58:38 +01:00
Mateusz Jablonski 28319a8e81 Refactor: don't pass redundant hw info to applyAdditionalContextFlags
Wddm already contains reference to root device environment

Related-To: NEO-6853
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-01-02 10:20:13 +01:00
Kamil Kopryk 1dc4afe8ab Refactor: pass gfxCoreHelper to convertTimestampsFromOaToCsDomain
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-02 08:12:15 +01:00
Warchulski, Jaroslaw f275eea6ec Cleanup includes 14
Cleaned up files:
shared/source/device/device.h

Related-To: NEO-5548

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-23 10:46:34 +01:00
Neil R Spruit a829ce8941 Fix ReserveGPUAddress to reserve on specific RootDevice indices
Related-To: LOCI-3790

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2022-12-20 23:08:02 +01:00
Mateusz Jablonski 1d6c3b0e04 Store root device environment reference in gmm helper
Related-To: NEO-6853
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-12-19 19:50:16 +01:00
Kamil Diedrich c1e27c85d7 Addition of a variable describing code behavior
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-12-19 15:45:57 +01:00
Kamil Diedrich b36aa626bc Add support for USM shared in WSL for dGPU
This patch force KMD allocation path for USM shared
Additionally we force 64kb page from lock which is
required to properly program GPU VA

Related-To: NEO-6913
Signed-off-by: Kamil Diedrich kamil.diedrich@intel.com
2022-12-19 11:09:55 +01:00
Warchulski, Jaroslaw 803bbb89d2 Cleanup includes 13
Cleaned up files:
shared/source/helpers/blit_commands_helper.h
shared/source/helpers/heap_assigner.h
shared/source/memory_manager/alignment_selector.h
shared/source/memory_manager/gfx_partition.h
shared/source/memory_manager/memory_manager.h
shared/source/os_interface/os_memory.h
shared/source/utilities/heap_allocator.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-16 12:36:27 +01:00
Mateusz Jablonski 6c7ca96f28 Reduce usage of global product helper getter [1/n]
Related-To: NEO-6853
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-12-15 15:01:41 +01:00
Katarzyna Cencelewska cf6d706d4b Add missing check during ocl buffer create on Windows
resolves problem with debug break
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-12-15 09:53:12 +01:00
Kamil Diedrich 46136cd2f6 Add wddm ult for wsl build [5/n]
Related-To: NEO-6066
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-12-14 16:32:37 +01:00
Kamil Kopryk 232b886056 Rename HwInfoConfig to ProductHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-14 14:39:52 +01:00
Mateusz Jablonski 8f308f24e5 Reduce usage of global gfx core helper getter [1/n]
Related-To: NEO-6853
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-12-09 17:27:37 +01:00
Kamil Kopryk 03b687881f Rename HwHelper -> GfxCoreHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-09 10:29:06 +01:00
Spruit, Neil R 4fce3ede9b Enable NodeMask Generation thru L0 LUID Extension
Related-To: LOCI-3250

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-12-09 07:22:36 +01:00
Jaime Arteaga 675272a32c Return a unique pointer for multiple calls to openIpcHandles
This to make zexMemOpenIpcHandles and zeMemOpenIpcHandle
behave similarly.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-12-08 21:56:21 +01:00
Kamil Diedrich db24428cd3 Add wddm ult for wsl build [3/n]
Related-To: NEO-6066
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-12-08 16:50:02 +01:00
Mateusz Jablonski e1900c240e Dont return success when peeking internal handle and no handle is returned
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-12-07 21:39:13 +01:00
Kamil Diedrich 1c9f17844b Add wddm ult for wsl build [2/n]
Related-To: NEO-6066
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-12-07 14:42:49 +01:00
Warchulski, Jaroslaw be647d42d9 Cleanup includes 12
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-07 13:14:15 +01:00
Warchulski, Jaroslaw c10aa90815 Cleanup includes 11
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-06 12:25:30 +01:00
Warchulski, Jaroslaw 1fa5710dff Cleanup includes 10
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-05 12:39:33 +01:00
Kamil Kopryk 785b9eeece Rename CompilerHwInfoConfig -> CompilerProductHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-05 11:25:49 +01:00
Jaime Arteaga 99655d34f9 Return a unique pointer for multiple calls to openIpcHandle
This to follow specification, which says:

zeMemOpenIpcHandle:

- Multiple calls to this function with the same IPC handle will return
unique pointers.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-12-01 18:42:54 +01:00
Spruit, Neil R d81b0b14a1 L0 Virtual Memory Reservation support
- Enable support for L0 Virtual Memory reservation on Linux and Windows.
- Excludes support for Linux to allow pStart option

Related-To: LOCI-3397, LOCI-1543

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-12-01 00:55:19 +01:00
Jaime Arteaga 4dfdbd612d Fail when handle cannot be obtain for an allocation
If a handle cannot be obtained, like PRIME_HANDLE_TO_FD, then
properly check for the error and propagate it upwards.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-11-30 20:59:02 +01:00
Warchulski, Jaroslaw 4100e1aa72 Cleanup includes 7
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-28 17:01:48 +01:00
Kamil Diedrich 6f14e8414e Add wddm ult for Linux build [1/n]
Related-To: NEO-6066
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-11-25 12:01:42 +01:00
Compute-Runtime-Validation 7b195d6b8e Revert "Add support for USM shared in WSL for dGPU"
This reverts commit 44d8a6ae2b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-11-25 08:42:15 +01:00
Kamil Diedrich 44d8a6ae2b Add support for USM shared in WSL for dGPU
This patch force KMD allocation path for USM shared
Additionally we force 64kb page from lock which is
required to properly program GPU VA

Related-To: NEO-6913
Signed-off-by: Kamil Diedrich kamil.diedrich@intel.com
2022-11-23 12:41:25 +01:00
Mateusz Jablonski bb308c04ed Refactor aubstream include interface
set include path to third_party/aub_stream
rename third_party/aub_stream/headers -> third_party/aub_stream/aubstream

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-23 10:30:13 +01:00
Compute-Runtime-Validation 565d44e59c Revert "Fail when handle cannot be obtain for an allocation"
This reverts commit 4391ad21bb.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-11-23 05:45:01 +01:00
Jaime Arteaga 4391ad21bb Fail when handle cannot be obtain for an allocation
If a handle cannot be obtained, like PRIME_HANDLE_TO_FD, then
properly check for the error and propagate it upwards.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-11-22 19:29:19 +01:00
Warchulski, Jaroslaw 1c03361273 Cleanup includes 6
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-21 12:02:14 +01:00
Warchulski, Jaroslaw f35f59b573 Cleanup includes 5
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-18 22:46:38 +01:00
Kamil Kopryk 4aee34702e Move HwInfoConfig & HwHelper ownership to RootDeviceEnvironment
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<ProductHelper> for
- configureHwInfoWddm
- configureHwInfoDrm

Use RootDeviceEnvironment getHelper<CoreHelper> for
- getMaxNumSamplers
- adjustDefaultEngineType
2022-11-17 17:05:25 +01:00
Mateusz Hoppe f19abda0e2 Set root device index in OsContext
- correclty choose default engine context accounting for root device
index and  subdevices bitfield

Related-To: NEO-7516

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-11-16 23:02:19 +01:00
Compute-Runtime-Validation 083168dafb Revert "Add support for USM shared in WSL for dGPU"
This reverts commit b0c97e49ea.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-11-16 10:09:42 +01:00
Mateusz Jablonski a17df8fa86 Return SubmissionStatus from processResidency method
it allows to return non-binary status to API layer

Related-To: NEO-7412
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-15 13:17:43 +01:00
Szymon Morek 3281dea1fe Allow debug allocs to use copyMemoryToAllocation
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-11-14 17:50:32 +01:00
Kamil Diedrich b0c97e49ea Add support for USM shared in WSL for dGPU
This patch force KMD allocation path for USM shared

Related-To: NEO-6913
Signed-off-by: Kamil Diedrich kamil.diedrich@intel.com
2022-11-14 13:56:22 +01:00
Kamil Kopryk 4aa1697e3c Move hwInfoConfig ownership to RootDeviceEnvironment 2/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Use RootDeviceEnvironment getHelper<ProductHelper> for
- adjustSamplerState
- adjustPlatformForProductFamily.
2022-11-14 13:04:31 +01:00
Warchulski, Jaroslaw e4d10e5460 Cleanup includes 4
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-10 14:22:18 +01:00
Dominik Dabek 30fe24aa79 Avoid cmpexchg due to CPU Hardware limitation
Limit the amount of times compare_exchange_weak is called,
to avoid issues with contention when multiple cpu cores request
the same address.

Related-To: NEO-7030

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-11-08 17:11:52 +01:00
Warchulski, Jaroslaw ef95bfb45e Cleanup includes
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-04 18:04:13 +01:00
Mateusz Jablonski 8ddc889c1d Store hardware IP version in hardware info
Query HW IP version using ioctl helper prelim

Related-To: NEO-7457
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-03 09:57:08 +01:00
Cencelewska, Katarzyna a094a9bafe Fix convert timestamp to use double values
to avoid division by 0
Resolves: HSD-18025033373
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2022-11-02 13:02:45 +01:00
Katarzyna Cencelewska bbd75959d5 Calculate CS timestamp based on OA timestamp and frequencies ratio
Changes affect cores up to xe_hpg

Resolves: NEO-7346
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-10-28 16:26:53 +02:00
Dunajski, Bartosz 7ff37cd5fd Ftr/WA flags cleanup
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-10-26 12:11:31 +02:00
Yates, Brandon 518016f20f L0 Debug - Zero init debug surface in windows
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-10-21 18:36:14 +02:00
Kamil Diedrich 380e2dcc35 [WSL2] Avoid gdi calls while process exit
Related-To: NEO-7380
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-10-21 12:37:07 +02:00
Patryk Wrobel 9b26e96b11 Do not copy std::vector of OS handles when it is not needed
This change replaces unneeded copying of std::vectors
with usage of const references. Furthermore, it adds
reserve() call before filling the container via push_back().

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-10-21 10:28:58 +02:00
Compute-Runtime-Validation 40ddeeb3ba Revert "Add support for USM shared in WSL for dGPU"
This reverts commit 1044a8aeee.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-10-21 05:59:34 +02:00
Kamil Diedrich 1044a8aeee Add support for USM shared in WSL for dGPU
This patch force KMD allocation path for USM host allocation
and also for host part of USM shared allocation

Related-To: NEO-6913
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-10-20 11:26:24 +02:00
Compute-Runtime-Validation e744116bbb Revert "Add support for USM shared in WSL for dGPU"
This reverts commit 68d0523ccf.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-10-19 05:05:55 +02:00
Kamil Diedrich 68d0523ccf Add support for USM shared in WSL for dGPU
This patch force KMD allocation path for USM host allocation
and also for host part of USM shared allocation


Related-To: NEO-6913
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-10-18 14:00:14 +02:00
Compute-Runtime-Validation 5e36b1fcbf Revert "Calculate CS timestamp based on OA timestamp and frequencies ratio"
This reverts commit 03c528382f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-10-16 11:14:46 +02:00
Joshua Santosh Ranjan b2c80be6f9 Fix typo and error check when retrieving pci information
Fix
1. typo PhysialDevicePciSpeedInfo to PhysicalDevicePciSpeedInfo
2. error check to verify open() call

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-10-14 14:57:07 +02:00
Spruit, Neil R 33a587c704 L0 to read Device LUID from the WDDM driver given Debug Variable
- Added Support for reading the Device LUID of the given device used in
Windows WDDM given EnableL0ReadLUIDExtension=1.
- Added inital support for passing back the NodeMask of 1.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-10-14 02:46:40 +02:00
Katarzyna Cencelewska 03c528382f Calculate CS timestamp based on OA timestamp and frequencies ratio
Resolves: NEO-7346
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-10-13 17:41:49 +02:00
Yates, Brandon 44894c1fdf L0 Debug- Create generic topologyMap interface
Move Linux DebugSession thread conversion functions up to
DebugSessionImp to allow reuse in windows implementation

Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-10-13 15:12:05 +02:00
Spruit, Neil R 1995fd9d92 Revert "Support for L0 to read Device LUID from the WDDM driver using EXT Prop"
This reverts commit b5b9c3500f.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-10-12 01:00:18 +02:00
Lukasz Jobczyk b21fef96cb Wait for events from host
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-10-10 12:12:13 +02:00
Yates, Brandon 71bef6094d Use max enabled slice in debugger thread mapping
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-10-03 18:11:50 +02:00
Kamil Diedrich 5d3f82a8a5 Taking into account additionals heaps in gpu VA reservation in WSL
Related-To: NEO-7337

Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-09-29 14:35:16 +02:00
Spruit, Neil R b5b9c3500f Support for L0 to read Device LUID from the WDDM driver using EXT Properties
- Added Support for reading the Device LUID of the given device used in
Windows WDDM.
- Added inital support for passing back the NodeMask of 1.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-09-27 08:18:50 +02:00
Compute-Runtime-Validation d7eacc0280 Revert "Support for L0 to read Device LUID from the WDDM driver using EXT Pro...
This reverts commit af3dd2859b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-27 06:20:55 +02:00
Spruit, Neil R af3dd2859b Support for L0 to read Device LUID from the WDDM driver using EXT Properties
- Added Support for reading the Device LUID of the given device used in
Windows WDDM.
- Added inital support for passing back the NodeMask of 1.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-09-26 19:05:05 +02:00
Yates, Brandon 7dc36ca422 L0 Win Debugger - fix slice mapping bug
Related-to: LOCI-3429
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-09-22 14:40:13 +02:00
Fabian Zwolinski 645600d141 Return error when there is no memory to evict
We want to return error code to the application instead of aborting when
we are not able to make more memory resident.

Related-To: NEO-7289
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-09-22 14:26:55 +02:00
Igor Venevtsev 43676ed02a L0Debug Win: initialize device with empty submission
In case of debuggable context device should be additionally
initialized by early empty submission issue.

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-09-21 12:02:34 +02:00
Mateusz Jablonski 99d63facb5 Clarify meaning of ForceDeviceId debug flag
this flag can be used only to override device id in AUB/TBX mode

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-09-20 13:15:15 +02:00
Cencelewska, Katarzyna 9b19014cf1 Fix read of 64bit enviroment variables
change atoi to atoll

Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2022-09-09 14:00:10 +02:00
Kamil Diedrich 0d5c27a75f Add support for ADL-N for WSL
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-09-07 20:11:45 +02:00
Patryk Wrobel 53c127e64c Remove superfluous const_casts
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-09-06 13:34:01 +02:00
Patryk Wrobel 90ba50bf52 Warn when RAII lock returned from function is discarded
Discarding RAII lock returned from function almost always
is a bug. This change introduces usage of [[no_discard]]
attribute from C++17 to prevent such misues.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-09-01 16:53:03 +02:00
Zbigniew Zdanowicz 315f6230bf correct name of evict flag to match wddm
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-22 18:14:51 +02:00
Kamil Diedrich edeaa968f5 Destroy resource handle when created
Do not create resource when cpuPtr is set

Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-08-16 13:03:59 +02:00
Compute-Runtime-Validation a5614a1c66 Revert "Destroy resource handle when created"
This reverts commit 011a0dd497.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-08-12 09:16:34 +02:00
Zbigniew Zdanowicz 0ecc08337e Add debug flag that overrides control of wddm evict flag
Related-To: NEO-7179

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-11 12:06:11 +02:00
Zbigniew Zdanowicz 50a27bd48e Add gdi system functions logging
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-08-10 16:32:19 +02:00
Kamil Diedrich 011a0dd497 Destroy resource handle when created
Do not create resource when cpuPtr is set

Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-08-10 12:35:49 +02:00
Jitendra Sharma 900c9ffc42 L0 Debug Win: device Thread Id remapping for run control
Related-To: NEO-6971

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2022-08-09 15:15:50 +02:00
Kamil Diedrich b39be32e20 Add member for handling additional adapterInfo fields
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-08-09 14:11:05 +02:00
Compute-Runtime-Validation 3a31caf44a Revert "Add member for handling additional adapterInfo fields"
This reverts commit aafbbf54db.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-08-04 09:36:36 +02:00
Kamil Diedrich aafbbf54db Add member for handling additional adapterInfo fields
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-08-03 16:14:46 +02:00
Compute-Runtime-Validation 00ff0dc337 Revert "Destroy resource handle when created"
This reverts commit 5a6a90aa0e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-08-02 11:04:10 +02:00
Zbigniew Zdanowicz f17b46bc22 Reposition members of wddm classes
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-07-28 14:31:12 +02:00
Kamil Diedrich 5a6a90aa0e Destroy resource handle when created
When allocation is created and createResource is set we need to
remove resourceHandle instead of allocation handle list otherwise
in long running application (a lot of allocations) we will observe
memory leak.

Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-07-28 13:22:52 +02:00
Zbigniew Zdanowicz 4db5d7a6e7 Add flag for hardware support of eviction flag
Related-To: NEO-7179

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-07-26 13:21:43 +02:00
Dunajski, Bartosz 0378f2e8b3 Debug flag to override Images support
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-07-26 12:01:35 +02:00
Compute-Runtime-Validation ead3a95be3 Revert "Support for L0 to read Device LUID from the WDDM driver using ext Pro...
This reverts commit 8124bff387.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-07-23 08:01:24 +02:00
Spruit, Neil R 8124bff387 Support for L0 to read Device LUID from the WDDM driver using ext Properties
- Added Support for reading the Device LUID of the given device used in
Windows WDDM.
- Added inital support for passing back the NodeMask of 1.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-07-22 21:21:32 +02:00
Igor Venevtsev 547dd59272 Debugger L0 Win: Implement CREATE_DEBUG_DATA/MODULE_CREATE events handling
Related-To: NEO-6723

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-07-20 13:20:50 +02:00
Zbigniew Zdanowicz d19cab1fb3 Add new wddm eviction parameter
Related-To: NEO-7179

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-07-18 18:09:57 +02:00
Jitendra Sharma 4a8a93af96 Debugger L0 Win - Generate Proc Entry/Exit events
Related-To: NEO-7117

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2022-07-18 12:32:57 +02:00
Compute-Runtime-Validation d5b2f03dc4 Revert "Enable eviction only when needed flag in wddm"
This reverts commit aced55243c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-07-18 11:56:52 +02:00
Zbigniew Zdanowicz aced55243c Enable eviction only when needed flag in wddm
Related-To: NEO-7179

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-07-15 12:38:53 +02:00
cameron 60c819bb72 Fix Memory leak in drm_memory_manager of OsHandleLinux
Add virtual deconstructor to OsHandle and deconstructor to OsHandleLinux
Add override keyword to destructor
Add overriding deconstructor to OsHandleWin
Add newline before private members

https://github.com/intel/compute-runtime/pull/550

Signed-off-by: Cameron S Murtagh <cameron.murtagh00@gmail.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-13 11:23:48 +02:00
Compute-Runtime-Validation f53ae0a50e Revert "Add debug flag for EOT WA"
This reverts commit cf3817e058.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-07-09 01:21:56 +02:00
Artur Harasimiuk 6cb44ae0d9 includes refactor
use gen specific hw_cmds instead of all-in-one

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-07-08 17:02:19 +02:00
Mateusz Jablonski cf3817e058 Add debug flag for EOT WA
EOT WA requires allocating last 64KB of kernel heap and putting EOT
signature at the last 16 bytes of kernel heap

Related-To: NEO-7099
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-07 16:58:24 +02:00
Igor Venevtsev cb6db5672b Debugger L0 Win - register allocations metadata in debugger
Related-To: NEO-6764

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-06-22 17:22:15 +02:00
Fabian Zwolinski 0966651a78 Create and implement WSL handle refreshing
Additionally rename createResourceInfo overload to decodeResourceInfo.
createResourceInfo(GMM_RESOURCE_INFO *, GMM_RESOURCE_INFO) does not
create a new ResourceInfo, but decodes one on the basis of the provided
existing gmmResourceInfo.

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-06-14 08:43:35 +02:00
Maciej Plewka 213dc2fe24 Make CPU copy for read buffer when host ptr is write combined on DG2
With this commit on DG2 32bit driver will check if passed host ptr for
clEnqueueReadBuffer is write combined memory. If check will be true copy
will be make on CPU.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-06-13 21:23:21 +02:00
Krzysztof Gibala c229ace4df Adjust GmmHelper to be HW aware
Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-06-13 18:33:06 +02:00
Maciej Plewka 5bee8ebd35 Revert "Allow cpu buffers copy on DG2 in 32bit"
This reverts commit 2055daf696.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-06-08 11:26:00 +02:00
Krzysztof Gibala 81899c4477 Add canonized gpuAddress to GraphicsAllocation constructor
Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-06-06 18:17:36 +02:00
Krzysztof Gibala dc1fe7d59a Change MemoryPool to enum class
Use enum class for MemoryPool in GraphicsAllocation
This change will ensure that GA is constructed in the proper way

- Rename namespace for isSystemMemoryPool method
- Add method getMemoryPoolString for logging actual pool which is in used
- Remove wrong pattern in GraphicsAllocation constructor

Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-06-02 12:46:15 +02:00
Krzysztof Gibala ae56d50b4f Pass canonized gpuAddress to GraphicsAllocation
Related-To: NEO-6523

Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-30 16:54:38 +02:00
Igor Venevtsev 8c165a6f41 L0 Debugger Windows - implement debugger attach/detach
Related-To: NEO-6718

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-05-27 16:25:56 +02:00
Yates, Brandon adc51c1b47 Set context debuggable when debugging is enabled
Related-to: NEO-6896
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-05-24 16:45:32 +02:00
Kamil Diedrich ddd8a08fac Add mechanism to avoid calling gdi calls while process exit
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-05-20 11:11:52 +02:00
Yates, Brandon db6562c092 Add windows debugger feature check
Related-To: NEO-6717
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-05-20 08:42:59 +02:00
Compute-Runtime-Validation 9cf1fbd627 Revert "Add windows debugger feature check"
This reverts commit 65214e2e4c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-05-19 12:57:04 +02:00
Daniel Chabrowski 7463e1970b Cleanup headers
Make TUs and headers self-contained, remove unused headers

Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-05-18 11:42:06 +02:00
Yates, Brandon 65214e2e4c Add windows debugger feature check
Related-To: NEO-6717
Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2022-05-18 00:37:39 +02:00
Artur Harasimiuk 3f04769f07 style: configure readability-identifier-naming.FunctionCase
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-17 20:55:56 +02:00
Compute-Runtime-Validation daf7829fa2 Revert "L0 Debugger Windows - implement debugger attach/detach"
This reverts commit f45431c173.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-05-17 19:02:11 +02:00
Igor Venevtsev f45431c173 L0 Debugger Windows - implement debugger attach/detach
Related-To: NEO-6718

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-05-17 14:07:29 +02:00
Artur Harasimiuk 3897f43f8e style: correct local variable naming
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-17 11:14:14 +02:00
Brandon Yates b24635b0c0 Fix style in context_private_data
Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2022-05-17 00:33:51 +02:00
Artur Harasimiuk 819e0f5515 style: configure readability-identifier-naming.LocalVariableCase
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-16 12:39:44 +02:00
Artur Harasimiuk e9be9b64c6 clang-tidy configuration cleanup
Define single .clang-tidy configuration with all used checks and use
NOLINT to selectively silence tool. That way cleanup should be easier.
third_part/ has its own configuration that disables clang-tidy for this
folder.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-11 14:02:04 +02:00
Krzysztof Gibala 2fcda0a528 Refactor: Change decanonize method accessing point
Accessing decanonize method as a member of GmmHelper class object

Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-11 12:57:02 +02:00
Fabian Zwolinski 7bb3bcbc05 Read resource info from internal represenation for WSL
Related-To: LOCI-3037
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-05-11 11:57:23 +02:00
Mateusz Jablonski d935815d74 Move residency data from WddmAllocation to GraphicsAllocation
Related-To: NEO-6848

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-10 18:16:42 +02:00
Bartosz Dunajski c4fcd7ed9b Capability to set low scheduling priority for Wddm context
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-05-10 16:44:25 +02:00
Mateusz Jablonski 943ad0e1eb style: skip redundant unique_ptr::get function
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-10 13:22:40 +02:00
Krzysztof Gibala 4f1e01d279 Create getGmmHelper function in MemoryManager
Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-09 16:51:23 +02:00
Krzysztof Gibala 1c366d1ec0 Refactor: Change canonize method accessing point
Accessing canonize method as a member of GmmHelper class object

Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-09 14:16:31 +02:00
Jaime Arteaga 3f26f45c10 Add support for IPC handles with implicit scaling
When using implicit scaling, device allocations may have
more than one internal allocation created internally. In that case,
a separate dma-buf handle per internal allocation needs to be
exported.

So introduced two driver experimental extensions to export and
import more than one IPC handle:

- zexMemGetIpcHandles
- zexMemOpenIpcHandles

Related-To: LOCI-2919

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-05-09 00:38:17 +02:00
Mateusz Jablonski ac01f74924 style: fix gcc12 compilation errors
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-28 18:07:15 +02:00