- if buffers are not bindful or bindless, set stateless addressing mode
for buffers
Related-To: NEO-12800
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Renames SHARED_LOCAL_MEMORY_SIZE_ENCODES and PREFERRED_SLM_ALLOCATION_SIZE
enumerators' members to follow the specification.
Related-To: NEO-13147
Signed-off-by: Vysochyn, Illia <illia.vysochyn@intel.com>
getLoadedLibVersion is intended for reading version of a library that was
already loaded into the process prior to this call (i.e. new instance of
the library willnot be loaded).
Note: Currently, only windows version of this functionality is implemented.
Related-To: GSD-10248
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
Addresses regressions from the reverted merge
of the tbx fault manager for host memory.
This fixes attempts by the tbx fault manager
to protect/unprotect host buffer memory, even
if the host ptr was not driver-allocated.
In the case of the smoke test that triggered
the critical regression, clCreateBuffer was
called with the CL_MEM_USE_HOST_PTR flag.
The subsequent `mprotect` calls on the
provided host ptr then failed.
Related-To: NEO-12268
Signed-off-by: Jack Myers <jack.myers@intel.com>
restored the possibility of different writing modes in the FileLogger
mocked writeToFile in TestFileLogger
Related-To: NEO-7006
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
Provide cookie in vmBindExt, so that information about deviceBitField
could be provided to vmBind. This information could be used in
debugUMD code to to create grouping of ISA segments on different
tiles.
Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
Track amount of created buffer pools per device. Do not allocate extra
pools if limit is reached. New contexts will have pooling disabled if
limit is reached on device.
Related-To: NEO-13461
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
reducing the number of tests that have interactions with filesystem.
writeDataToFile() saves filename and content in std::map.
fileExistsHasSize() checks if file was previously written to virtualFileSystem
loadDataFromVirtualFile() fetches data from std::map based on filename
Related-To: NEO-7006
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
eudebug interface is now hidden under EuDebugInterface class
shared code uses generic object and param values
layout of structs is guarded by static asserts
eudebug support is guarded by cmake flags:
- NEO_ENABLE_XE_EU_DEBUG_SUPPORT - enables eudebug in general
- NEO_USE_XE_EU_DEBUG_EXP_UPSTREAM - registers exp upstream uAPI support
- NEO_ENABLE_XE_PRELIM_DETECTION - registers prelim uAPI support
This way we can support two different xe-eudebug interfaces within
single binary.
In unit tests there is mock eudebug interface enabled (even if no
eudebug support is enabled by cmake flag).
Related-To: NEO-13472
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
bind info container is needed to distinguish between userptr and handles
with this change it stores only userptrs and their corresponding gpu va
Related-To: NEO-13501
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
Related-To: NEO-11908
There is overhead when submission method is used for
zeDeviceGetGlobalTimestamps. This fixes it.
Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
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>
getBaseAddress was incorrectly returning pLeftBound which changes after
memory allocation.
Added baseAddress field to store and return initial address value.
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
Leverage features of the mechanism to simplify implementation:
- The maximum number of possible cache-region reservations is a small
value known at compile-time
- Each reservation is unique (described by `CacheRegion`) so can have
a dedicated entry with either zero (free) or non-zero (reserved) value
So, there is no need for a dynamic collection (unordered_map here) to
keep track of reservations. A simple array is enough for that purpose.
Also, add some helper-code to enable array-indexing with the values of
`CacheRegion` enum.
Related-To: NEO-12837
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
getBaseAddress was incorrectly returning pLeftBound which changes after
memory allocation.
Added baseAddress field to store and return initial address value.
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@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>
This is a deprecated and redundant entry but needs to
be preserved for compatibility reasons.
Related-To: GSD-10402
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
Related-To: NEO-13340
When regular copy CSR has enabled direct submission,
stop it before migration on internal CSR.
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
- move available device calculcation into common helper
- change interface to have code available where no descriptor is available
- expand unit test for implementation of new inteface
Related-To: NEO-13350
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
Add flag to log information for indirect detection debugging.
Add flag to disable indirect detection by kernel name.
Add flag to force indirect detection enable/disable for CM kernels.
Related-To: NEO-13372
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
- split the allocation code from command list or kernel
- allow to call allocation code in all parts of the driver
Related-To: NEO-13350
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>