In TBX mode, the host could not write to host buffers after access from device
code due to the lack of a migration mechanism post-initial TBX upload.
Migration is unnecessary with real hardware, but required for TBX.
This patch introduces a new page fault manager type that extends the original
CPU fault manager, enabling automatic migration of host buffers in TBX mode.
Refactoring was necessary to avoid diamond inheritance, achieved by using a
template parameter as the base class for OS-specific fault managers.
Related-To: NEO-12268
Signed-off-by: Jack Myers <jack.myers@intel.com>
This PR handles the situation in which a component
has reserved a front window space for itself in the external heap,
so that the Compute Runtime cannot access this area.
In such a situation, we perform the following steps:
1. reserve 4GB chunk in heapStandard
2. split our chunk into 2 parts: heapFrontWindow, heapRegular
3. from this point on, map all linearStream allocations in reserved 4GB
chunk
Patch applies to Windows and WSL.
Patch only applies when the bindless global allocator is enabled.
Related-To: HSD-16025889919
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
Related-To: GSD-10253, GSD-9467, GSD-9381, NEO-11908
When EnableGlobalTimestampViaSubmission is set then
zeDeviceGetGlobalTimestamp uses immediate cmd submission
method to get GPU time.
Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
Calculate available memory for usm device reuse based as (total device
memory - used memory) * fraction for reuse.
Use sys mem allocs for devices without local memory.
Related-To: NEO-12902
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Performs minor renaming (mostly capitalization) in order to align with
specification.
Renames L1_CACHE_POLICY to L1_CACHE_CONTROL.
Related-To: NEO-13147
Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
Recorded multiple page fault handlers by using vector in
cpu_page_fault_manager_linux.
Added a static handlerIndex in order to track the depth of
handler logic to call appropriate previous handlers.
Related-To: NEO-11563
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
This patchset improves mocking of IGC library name and adds
safety mechanism to ensure that global IGC library name gets
restored before test finishes.
Related-To: NEO-12747
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
L3 bank count should be queried from KMD
L3 bank size should be queried from device blob
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This adds abbility to load different versions of the backend
compiler based on underlying device.
Related-To: NEO-12747
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
- don't load ze_loader.dll from file system
- to perform self-open on Windows use getModuleHandleA with proper module name
- don't free library loaded with getModuleHandleA
- as loader may be not available during runtime teardown:
- load translate handle function during global setup
- load setDriverTeardown function during global teardown
- when loader is not available during teardown, unset translate handle
function
Related-To: GSD-10147
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
Up till now, NEO ignored uknown attributes in zeinfo
which could lead to undefined behavior. With this change
NEO will emit an error whenever an unknown attribute is
encountered.
Note : old behavior can be restored using new
IgnoreZebinUnknownAttributes debug environment variable
Resolves: NEO-11762
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
on Windows use getModuleHandleA with proper module name
don't load ze_loader.dll from file system
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This adds abbility to load different versions of the backend
compiler based on underlying device.
Related-To: NEO-12747
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>