Commit Graph

447 Commits

Author SHA1 Message Date
Dunajski, Bartosz
31d351cd53 refactor: unify and simplify Drm CSR methods
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-20 11:42:21 +02:00
Lukasz Jobczyk
f370b8f56a fix: Remove alignment condition for tlb flush
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-14 10:19:12 +02:00
Lu, Wenbin
4de792cee0 fix: support alignments in host and shared UnifiedMemoryAllocation
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-07-13 08:48:41 +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
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
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
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
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
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
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
c8875e5561 test: add missing expectation of printed error message
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-30 16:33:28 +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
Filip Hazubski
5bfcb07b49 build: update i915 headers
third_party/uapi/drm - from 7067d1a82560a2e79adefac0d28e08cb163ae907
https://cgit.freedesktop.org/drm-tip

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-06-27 13:22:42 +02:00
Aravind Gopalakrishnan
ba4c4a5af0 feature(sysman): Retrieve uuid for Sysman device properties
- Abstracts product helpers logic for uuid
- Add UUID retrieval for Linux for Sysman via zesInit path

Related-To: LOCI-4137

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2023-06-26 19:17:21 +02:00
Kamil Kopryk
082d33bb7c fix: correct query topology on xe
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-22 13:24:52 +02:00
Matias Cabral
96517a08aa feature: Implement zetMetricGroupGetGlobalTimestampsExp()
Resolves: LOCI-3072

Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2023-06-21 09:48:41 +02:00
Bari, Pratik
a15e8a9679 feature: Added changes for Porting Memory API with XE driver
The Memory Info object is used in the getState function for memory.
Some of the ULTS in the memory modules has been modified.
A function to return the sysfs nodes for the Memory address range has
been added in the IoctlHelper class corresponding to the XE and i915
driver.

Related-To: LOCI-4397

Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
2023-06-20 21:38:17 +02:00
Milczarek, Slawomir
f189f425ce feature: KMD migration on access counters with no preferred location
Set no preference for KMD migrated shared allocation and rely on ACC to migrate.

Related-To: NEO-6839

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-06-20 08:14:34 +02:00
Mateusz Jablonski
5ab592994c refactor: remove not used parameter in ioctl helper xe method
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-19 14:15:43 +02:00
Matias Cabral
cfa187aec6 feature: Support for metrics group exp extension
Support zet_metric_global_timestamps_resolution_exp_t

Resolves: LOCI-4350

Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2023-06-16 07:48:32 +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
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
Mateusz Jablonski
4f72835b7d fix: create dedicated class for root device indices to store unique values
remove method to removing duplicates from StackVec as the method
implicitly sorted the vector

Related-To: GSD-4692
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-12 22:24:06 +02:00
Kamil Kopryk
0605716499 fix: don't query ipVersion if not supported
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-12 16:12:24 +02:00
Jaime Arteaga
09fcfbba6b feature: Disable nonblocking exec support on Xe HPC
When receiving EAGAIN, UMD should retry the submission again.
On scenarios where KMD runs out of ring-space, an error
should be propagated up to the user. Those scenarios are
more rare, but still we will need KMD support in the future
to differentiate those two cases: retry and propagate error to
user, since right now, KMD returns the same error code.

Related-To: NEO-8040

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-06-07 21:01:09 +02:00
Dunajski, Bartosz
5fe9d70066 feature: new multitile post sync layout for immediate write [1/n]
No functional changes in this commit. This is prework.

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-07 13:11:10 +02:00
Kamil Kopryk
dadd19e17b fix: init releaseHelper after ipVersion setup
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-06 14:22:42 +02:00
Jaime Arteaga
2efd6e547a feature: Add support for chunking in the UMD (1/N)
Read if support for chunking is available in the KMD.
If available, KMD will create a BO with 1 or more chunks,
depending on the chunk size selected.

Related-To: NEO-7695

Sync to
https://github.com/intel-gpu/drm-uapi-helper/releases/tag/v2.0-rc18

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-06-02 23:27:40 +02:00
Mateusz Jablonski
6f21d133cf fix: extend MemoryInfo class interface to expose single memory region
unify logic of OverrideDrmRegion debug flag

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-30 16:27:42 +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
Jaime Arteaga
37ed03a15c feature: Propagate error from makeResident to caller
Have makeResident return error to the caller, instead of always
SUCCESS. This will allow interfaces like zeContextMakeMemoryResident
to fail properly.

Additionally, change the parsing of MemoryOperationsStatus from
ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY to
ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY, since when making resources
resident, it is the device running out of memory, instead of the
host.

Related-To: LOCI-4443

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-05-24 21:08:27 +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
Mateusz Hoppe
7d82b690e4 fix(debugger): use per-context fences for vm_bind operations
- vm_bind with user fence updates fence value independently for every
VM hence with per-context VMs, every context needs its unique fence
address. This prevents 2 contexts from updating value possibly
writing lower value than the one that was already stored

Resolves: NEO-8004

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-05-24 15:17:31 +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
4be9b7e609 fix: setup ipVersion in linux paths
Get ipVersion from productHelper function on xe and upstream.
On prelim first try to query ipVersion from kmd,
if it fails, get ipVersion from productHelper function.

Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-23 09:27:15 +02:00
Matias Cabral
38bc7ae403 build: update i915 headers
third_party/uapi/drm - from c7c12de893f808bd7c1215fe9056262295e5203b
https://cgit.freedesktop.org/drm-tip

third_party/uapi/prelim/drm from prelim v2.0-rc17
https://github.com/intel-gpu/drm-uapi-helper

Signed-off-by:  Matias Cabral <matias.a.cabral@intel.com>
2023-05-22 10:25:00 +02:00
Compute-Runtime-Validation
c748fd07dc Revert "fix: initialize ipVersion in linux paths"
This reverts commit 049cd1b568.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-05-20 07:32:36 +02:00
Kamil Kopryk
049cd1b568 fix: initialize ipVersion in linux paths
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-19 13:49:27 +02:00
Francois Dugast
ae7cff3c3e fix: waitUserFence on bind and unbind in Xe
This fixes illegal memory accesses by the job submitted to the GuC.
Also some unit tests are added to harness the vmBind operation.

Related-To: NEO-7996
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-18 15:27:47 +02:00
Milczarek, Slawomir
ac9a96c07f refactor: Unify getters to check platform support for KMD migration
Related-To: NEO-6465

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-05-17 15:45:42 +02:00
Milczarek, Slawomir
22e6e327fc refactor: Use helper to check platform support for KMD migration
Related-To: NEO-6465

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-05-16 16:14:42 +02:00
Mateusz Hoppe
9c17cb9bd9 fix: add CLOEXEC flag when opening gpu cards
- close-on-exec prevents old file descriptor to leak when exec() is
called

Resolves: NEO-7944

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-05-09 11:53:57 +02:00
Mateusz Jablonski
769a9e515e fix: setup MultiTileArchInfo in Xe path
when discovering engines we know which tiles are available

Related-To: NEO-7931
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-05 15:21:11 +02:00
Filip Hazubski
e8ac22c265 fix: Increase size of reported global memory available to 98%
This change applies to Linux.

Resolves: NEO-7229

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-05-04 13:56:26 +02:00
Mateusz Jablonski
87aab0bf6e fix: don't create fake memory regions in xe ioctl helper
populate memory info based on mem usage and gts info
propagate error from xeWaitUserFence function

Related-To: NEO-7931

Co-authored-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-04 13:51:37 +02:00
Mateusz Jablonski
26a2a2829e fix: don't create fake distance info in xe ioctl helper
populate multi tile engine info based on gt_id from xe engine info

Related-To: NEO-7931
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-04 08:21:28 +02:00
Lu, Wenbin
5d653c8536 fix: Add alignment support to createUnifiedMemoryAllocation
Allows the user to use alignments > 64KB in `createUnifiedMemoryAllocation`

So that the restriction in `piextUSMDeviceAlloc` of the DPC++ runtime
could be lifted

Related-To: LOCI-4168

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-05-02 09:19:23 +02:00
Mateusz Jablonski
fd1ad7c1f0 feature: setup heap extended host size based on system memory size
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-28 15:23:01 +02:00