Improve performance by binding the command buffer together with other
allocations if VM_BIND feature is available. Remove the legacy
flag PassBoundBOToExec from DebugManager to simplify the logic.
Adapt unit tests and reuse handy macros to generate proxy mock-methods.
Related-To: NEO-7348
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
This extension allows pairing two buffer objects so they can be
exported using a single dma-buf handle. When imported, a single
buffer object is created with a total size of the two buffer
objects.
Related-To: LOCI-3355
Sync to
https://github.com/intel-gpu/drm-uapi-helper/releases/tag/v2.0-rc15
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
With this change, module's data sections will be allocated in USM device
pool instead of SVM or USM shared.
Signed-off-by: Luzynski, Sebastian Jozef <sebastian.jozef.luzynski@intel.com>
We want to return error code to the application instead of aborting when
we are not able to make more memory resident.
Related-To: NEO-7289
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
- Do not iterate when all devices are parsed
- Early continue if given device not present in context
200ns (+10%) in below scenario from compute-benchmarks
ZE_AFFINITY_MASK=0.0 PrintDebugSettings=1 ./api_overhead_benchmark_l0
--test=ExecuteCommandListImmediate --api=l0 --UseProfiling=0
--CallsCount=1 --MeasureCompletionTime=0 --useBarrierSynchronization=0
--KernelExecutionTime=1 --iterations=1000
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
With this change, module's data sections will be allocated in USM device pool
instead of SVM or USM shared.
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
When pointer type differs from the type, which was obtained
via new[] operator, then delete[] is undefined behavior.
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
Discarding RAII lock returned from function almost always
is a bug. This change introduces usage of [[no_discard]]
attribute from C++17 to prevent such misues.
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
- pass correct deviceIndex when notifying cmdQs
- fix allocating debug surface - single tile allocation when single
bit set in storageInfo
Related-To: NEO-6980
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
When header is included for the first time in translation unit,
then preprocessor simply copy-pastes its content. If we define a
constant in a header file and this constant has internal linkage
then each and every translation unit, which includes this header
will have its own copy of this constant.
C++17 introduces inline variables, which are meant to allow creation
of variables in header files, which do not cause multiple instances.
The inline variable has a single instance when:
- constexpr is used without static (constexpr implicitly implies inline)
- inline is used without static
- inline const is used without static (const does not imply internal linkage
when used with inline)
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
- Properly check for IPC event handle flag to determine if the event
pool memory is sharable between processes.
- Given Host Visible Event Pool, a check is done to determine if the
Host memory can be shared between the processes.
- Enabled handling if Event Host Memory is shareable for DRM
- If Event Pool Memory is Not shareable, then retrieving the IPC Event
Pool Handle returns unsupported.
Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>