- if binding table entries are used in bindless kernel, program Binding
table
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- Initialize AIL helper in runtime (linux/windows/AUB path).
- Return false if AIL configuration initialization is called with empty
AIL helper (is nullptr).
- Skip mentioned condition if AIL is disabled via EnableAIL debug key.
Related-To: NEO-9240
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Refactored eviction mechanism works as follows:
- eviction is needed only if
total size of cache binaries + size of the new binary exceed cache limit
- single evition call removes files with a summed size of 1/3 of the cache limit
- if new binary can not fit in the cache size limit
even after eviction, it will not be saved
- cache limit applies only to
files in cache directory with .cl_cache/.l0_cache extension.
Only these files are counted and only these files are removed
Minor:
- rename variables for better readability
- add `const` where possible
Related-To: NEO-4262
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
xe_drm.h header is generated from the series
"uAPI Alignment - Remove unused features"
from https://patchwork.freedesktop.org/series/126278/
This aligns with Xe KMD commit ("drm/xe/pmu: Drop interrupt pmu event").
Related-To: NEO-8324
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
- global and const buffer may have BTI index allocated, ssh template
must be allocated with size for all stateful args
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Temporarily opt-out from additional compatibility checks
on DG2 and MTL for Blender and its derivatives AOT-compiled kernels.
This prevents a long kernel recompilation.
Additionally, same behavior can be enforced for other applications
manually via NEO debug key named DoNotUseProductConfigForValidationWa.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-9240
- stateful samplers do not require SSH slots in bindless mode
- fixes abort when sampler used in bindless mode
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Instead of storing AIL configurations in global table, store it
in root device environment.
This also prevents potential scenario with accessing deleted memory due
to symbol collision when application uses both OCL/L0 libraries.
- AIL is now stored in root device environment, and gets initialized
with other helpers
- Minor: corrected naming in ULTs
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-9240
Refactored eviction mechanism works as follows:
- eviction is needed only if
total size of cache binaries + size of the new binary exceed cache limit
- single evition call removes files with a summed size of 1/3 of the cache limit
- if new binary can not fit in the cache size limit
even after eviction, it will not be saved
- cache limit applies only to
files in cache directory with .cl_cache/.l0_cache extension.
Only these files are counted and only these files are removed
Minor:
- rename variables for better readability
- add `const` where possible
Related-To: NEO-4262
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
add attribute to override cacheable attribute to gmm constructor
enable this override for command buffers on mtl
change command buffers back to allocation by kmd
this keeps the quicker allocation which is needed to keep enqueue times
low
Related-To: NEO-8152
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Instead of storing AIL configurations in global table, store it
in root device environment.
This also prevents potential scenario with accessing deleted memory due
to symbol collision when application uses both OCL/L0 libraries.
- AIL is now stored in root device environment, and gets initialized
with other helpers
- Minor: corrected naming in ULTs
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-9240
when direct submission and monitor fence is not required then use
current fence value to update flush stamp
Related-To: NEO-9123
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
- surfaceStateSize is in pages, bindless size needs to be programmed in
surface state units
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- usingSurfaceStateHeap indicates if any of the args is using local ssh
in bindless kernels:
without global allocator - ssh is used for all args
with global bindless allocator - ssh used only for buffer with offset
set in surface state, otherwise not used
When any of the args is using ssh - getSurfaceStateHeapDataSize() returns
non-zero size.
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Device allocation chunking only applies for multi-tile mode for implicit scaling
Related-To: NEO-9051
Signed-off-by: John Falkowski <john.falkowski@intel.com>
Added an extension version of zeContextGetVirtualAddressSpaceIpcHandle
and zeContextPutVirtualAddressSpaceIpcHandle, which return
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE for now.
Related-To: NEO-8259
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
Related-To: NEO-6989
-Prevent imbalance in multi dimensional dispatches
-Make sure to utilize as much Eus as possible
-Prefer highest possible tg dspatch count possible
-Make sure that xe_core doesn't have uneven workgroups
Added an extension version of zeContextGetVirtualAddressSpaceIpcHandle
and zeContextPutVirtualAddressSpaceIpcHandle, which return
ZE_RESULT_ERROR_UNSUPPORTED_FEATURE for now.
Related-To: NEO-8259
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
- Add new extension property for user to query platform DP support.
- Add new blackbox and ULTs for extension.
Related-To: NEO-8786
Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
- Add new extension property for user to query platform DP support.
- Add new blackbox and ULTs for extension.
Related-To: NEO-8786
Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
Level Zero doesn't use deferred allocations so no point in paying the
price to check for them in cleanAllocationList.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
Add mechanism to preallocate cmd buffer allocations in command stream
receiver reusable allocations list per command queue initialized.
This should limit additional allocations during hot loop.
Needs to be enabled in subsequent commits by setting product helper
method.
Related-To: NEO-8152
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
MSVC Compiler found an issue that there could be an attempt to
reference a deleted function when using std::function.
As the functionality of ioctlHelper::getGpuTime is very straightforward,
simple function pointer should be sufficient to make the job and
it mitigates overhead of std::function.
Related-To: NEO-8324
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
xe_drm.h header is generated from the series "uAPI Alignment - take 1 v4"
from https://patchwork.freedesktop.org/series/124387/
Related-To: NEO-8324
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Kamil, Kopryk <kamil.kopryk@intel.com>
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
Temporarily opt-out from additional compatibility checks
on DG2 for Blender AOT-compiled kernels.
This prevents a long kernel recompilation.
Additionally, same behavior can be enforced for other applications
manually via NEO debug key named DoNotUseProductConfigForValidationWa.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-9240
- not only gpuAddress is offset but also cpu address with data needs
to be offset while writing memory.
Related-To: GSD-6604
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
* Add new Software Tag `ArbitraryString`
* Add minimal interface for injecting software tags
Related-To: NEO-5550
Signed-off-by: Marek Kozlowski <marek.kozlowski@intel.com>
- create heapAssigner per root device in memory manager to allow per
device config
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Related-To: NEO-8350
- given a virtual address part of a mapping to multiple physical
allocations, then the buffer surface state size is increased to
include the allocations which follow the current allocation, which
allows users access to the remainder of the mapped buffer.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Related-To: NEO-9127,NEO-9142
- Change the heap/pageSize used based on the size of the reservation
required and the device heaps available.
- Return the page size required based on the size requested by the user
for virtual reservation and the devices on the system.
- Check the size passed in by the user in memory map and physical memory
allocation is valid for the heap and page size that is required.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
- check releaseHelper support when selecting bindless mode, if not
disabled, prefer bindless mode in L0 API
- bindless mode can be forced with DebugVariable: UseBindlessMode
Related-To: NEO-7063
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Use debug flag PrintKernelDispatchParameters to print params used in
thread group dispatch size heuristic when encoding kernel dispatch.
Related-To: NEO-6989
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>