Commit Graph

794 Commits

Author SHA1 Message Date
Oskar Hubert Weber 3ccab79ed8 test: dir create
Related-To: NEO-11500

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-08-05 13:58:25 +02:00
Dominik Dabek 26428d5af3 feature: track used memory by allocations
Track memory used by memory allocations. System and local per device.
Will be used for heuristics in memory pooling.

Related-To: NEO-11356

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-08-02 17:54:34 +02:00
Mateusz Jablonski 5a339aeb2c test: define mock drm xe in cpp file
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-02 14:36:16 +02:00
Mateusz Jablonski 07a11e640f refactor: include xe header in dedicated namespace
avoid redefinition issue in case of integrating multiple xe drm versions

define mock drm xe in inl file to provide xe definitions for mock members

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-01 14:38:20 +02:00
Mateusz Jablonski 8edc40adbc fix: populate SliceInfo based on TopologyMap in drm path
pick minimal config in case of multi tile

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-31 15:55:21 +02:00
Maciej Bielski 790bb84841 refactor: decouple ClosCacheReservation from Drm
The dependency towards `Drm` is unnecessary and only makes testing more
difficult. Instead, dependency towards `IoctlHelper` alone only is
sufficient.

Related-To: NEO-10158
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-07-31 10:38:35 +02:00
Young Jin Yoon f9228ad11b test: add tests for numa library
Added the test to check whether numa library is not loaded
when EnableHostAllocationMemPolicy is not set.

Related-To: GSD-5053
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-07-29 22:19:19 +02:00
Naklicki, Mateusz d9dec7acfc fix: improve reported flag names for binding process in xe
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-07-29 18:08:13 +02:00
Wenbin Lu e2f1735cc5 test: use realistic values in topology query tests
Related-To: NEO-9489

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-07-29 16:34:22 +02:00
Mateusz Jablonski 382584067a fix: setup initial l3 bank count before querying topology
Resolves: NEO-12169
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-29 12:24:45 +02:00
Mateusz Jablonski 71f4088a1e fix: correct hw info setting in drm path
add fallback to get max eu per ss from topology if not available in other way

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-26 17:23:56 +02:00
Mateusz Jablonski 85df385582 fix: ensure system info is queried before querying topology
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-26 16:03:59 +02:00
Mateusz Jablonski a168bf2f33 fix: ensure drm topology is queried only once
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-26 14:56:41 +02:00
Mateusz Jablonski 7f6c6c6bb9 fix: ensure system info is queried only once
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-26 12:42:27 +02:00
Mateusz Jablonski 0cdfa882eb fix: correct setting hw info in drm flow
firstly, setup hw info using product specific functions
secondly, query system info from GuC to setup max values
then, query memory info
then, query engine info as it depends on memory info
then, query topology as it depends on engine info

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-26 12:20:40 +02:00
Mateusz Jablonski e24acc6155 fix: ensure memory info is queried before querying engine info
initialization of engine info relies on memory info data

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-26 09:28:50 +02:00
Mateusz Jablonski 1fa7e14d0b fix: query engine info prior to query topology
don't setup l3 bank count in default gt sys info

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-25 16:17:44 +02:00
Mateusz Jablonski 3d3dff8dc2 fix: ensure engine info is queried only once
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-25 15:49:37 +02:00
Mateusz Jablonski ef1075a06a fix: ensure memory info is queried only once
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-25 15:01:43 +02:00
Mateusz Jablonski b488799e85 feature: add support for new vm bind flags based on upstream xe kernel
support for DRM_XE_VM_BIND_FLAG_IMMEDIATE and DRM_XE_VM_BIND_FLAG_READONLY

Fixes: #717

Related-To: NEO-10958
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-25 12:43:54 +02:00
Compute-Runtime-Validation 4dc737fc4a Revert "fix: correct setting hw info in drm flow"
This reverts commit 3b2a0983f5.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-07-25 05:41:33 +02:00
Mateusz Jablonski 3b2a0983f5 fix: correct setting hw info in drm flow
firstly, setup hw info using product specific functions
secondly, query system info from GuC to setup max values
thirdly, query topology to setup current topology data

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-24 16:18:58 +02:00
Mateusz Jablonski 64873a5dd2 test: remove dependency of i915 from mock ioctl helper
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-24 13:21:48 +02:00
Wenbin Lu 357a607d22 refactor: correct the naming of some topology-related variables
Related-To: NEO-9489

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-07-24 08:39:12 +02:00
Compute-Runtime-Validation 2116808b8d Revert "fix: correct number of slices based on GuC info"
This reverts commit b6a56bcdde.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-07-23 17:22:31 +02:00
Compute-Runtime-Validation ae68df3832 Revert "fix: unblock xekmd recoverable pagefaults vmbind"
This reverts commit 8f4472a26c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-07-23 16:48:15 +02:00
Naklicki, Mateusz 8f4472a26c fix: unblock xekmd recoverable pagefaults vmbind
Related-To: HSD-13011898606
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-07-23 12:00:25 +02:00
Elaine, Wang 28fa434541 feature: support pci path contains card0
Some OpenCL application need to render libva surface
with drm display and use the same libva surface as
OpenCL kernel output. Such applicatoins need to
use /dev/dri/card0 instead of /dev/dri/renderD128
for getting the display fd.

Related-To: NEO-11714

Signed-off-by: Elaine, Wang <elaine.wang@intel.com>
2024-07-22 11:28:18 +02:00
Young Jin Yoon c01a5c45c7 fix: wait on userfence when VM immediate is used
Removed if condition when calling vm_bind in order to
reflect changed in KMD.
Specifically, dii-4347 to dii-4349 include changes on
strict fence ordering on vm_bind, where user fence has
to be inserted regardless of using pagefault or explicit
residency.

Related-To: NEO-11966
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-07-22 10:52:00 +02:00
Brandon Yates 4513e42ddb build: Update to latest eudebug xe uapi
Remove implementation of some unused and removed
uapis

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-07-22 10:01:44 +02:00
Compute-Runtime-Validation 0cb2a22c55 Revert "fix: correct number of slice count in configureHwInfoDrm"
This reverts commit b597f47a70.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-07-19 04:35:03 +02:00
Mateusz Jablonski b597f47a70 fix: correct number of slice count in configureHwInfoDrm
adjust slice count to proper value based on previously calculated
max slices and max subslice counts

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-18 16:54:51 +02:00
Mateusz Jablonski 64acb65b08 fix: don't crash when getting pci path for non-render device
Related-To: NEO-11714
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-18 12:27:35 +02:00
Mateusz Jablonski b6a56bcdde fix: correct number of slices based on GuC info
KMD exposes flat subslice info without indicating slice index
This commit calculates slice count based on total subslice count and
max subslice per slice count that we have from device blob

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-18 12:12:19 +02:00
Compute-Runtime-Validation d7777ef163 Revert "refactor: remove redundant querying topology info"
This reverts commit 9aa7ad0fd7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-07-18 03:40:49 +02:00
Mateusz Jablonski 55907c853b fix: limit EU count based on subslice count and info from GuC
Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-17 16:40:20 +02:00
Katarzyna Cencelewska 2d1f4e6214 fix: use WB for cpu caching only if system memory
affect xe kmd only

Related-To: NEO-11690
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-07-17 15:35:08 +02:00
Mateusz Jablonski 48d6788b3a fix: add fallback for missing eu count in topology
for xe kmd there will be new query for EU per DSS for PVC, LNL, BMG platforms
when new query is available, previous one (currently used in NEO) will be empty
To avoid integration issues this commit adds fallback to setup that value based
on max eu per dss that we get from GuC in device blob

Support for new query is in PR https://github.com/intel/compute-runtime/pull/745

Related-To: NEO-12012
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-17 14:31:29 +02:00
Brandon Yates 3c51cea04a test: Add test for xe debug user fence wait
Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-07-17 07:40:35 +02:00
Mateusz Jablonski 9aa7ad0fd7 refactor: remove redundant querying topology info
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-17 07:34:27 +02:00
Szymon Morek b03ac6abd1 fix: disable usm compression on linux
Related-To: NEO-12047

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-07-16 14:59:33 +02:00
Szymon Morek 432ecbc8f4 fix: disable compression for exported allocations
Related-To: NEO-12021

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-07-16 05:41:14 +02:00
Mateusz Jablonski 64f2312aa0 refactor: setup engine capabilities in drm specifc code
once drm specific code queries engine info, caps are stored in drm-agnostic form

Related-To: NEO-10445
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-15 11:00:15 +02:00
Joshua Santosh Ranjan 2e5bf8d24d fix: remove perf open from the initialization path
Related-To: NEO-11975

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2024-07-15 10:17:53 +02:00
Compute-Runtime-Validation 1929e54e91 Revert "feature: temporarily enable scratch page on pvc"
This reverts commit e3b97e3716.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-07-12 09:55:25 +02:00
Mateusz Jablonski 3f65f75cc3 refactor: unify EngineInfo ctors
remove redundant constructor
create helper struct for numbers of engines
adjust test scopes

Related-To: NEO-10445
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-11 17:08:15 +02:00
Mateusz Jablonski e2dcd8909c test: remove xe debugger from test that is executed without xe debugger
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-11 15:25:34 +02:00
Mateusz Jablonski 51a9aa792f refactor: pass engine capabilities to all EngineInfo ctors
Related-To: NEO-10445
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-11 09:29:17 +02:00
Maciej Bielski 005b273b1e test: stop abusing ctors in DrmMockCustom and derived types
Calling virtual functions from within constructors is incorrect, the
virtualization mechanism does not work until a constructor completes.
So, instead of performing many operations in constructors, make them
small and use static `create()` methods to construct the object properly
and only then perform additional setup.

Mocks are a prominent example how such practice degrades the code.
A function called from a constructor is basically unmockable. Despite
being overriden by derived type (to alter the execution path as per
needs of a given test-case) the parent versions are always called.

This was making test development more and more painful as at some point
there is no hack to compensate for the lack of standard mechanism.

Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-07-10 08:34:09 +02:00
Mateusz Jablonski e39994f525 fix: setup slm size based on gt system info when not set in capability table
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-09 15:21:35 +02:00