Generated instructions writing to printf buffer require destination
address to be DWORD aligned. Because of that values of type BYTE (1B)
and SHORT (2B) need to be written as 4B value.
This change adds support for this. When trying to read value of type
BYTE or SHORT four bytes are actually read to be aligned with compiler
implementation.
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@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>
With compiler LSC WAs this gives better performance.
If debugger is active, policy will not be changed ie.
will be WBP.
Related-To: NEO-7003
Signed-off-by: Dominik Dabek <dominik.dabek@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>
- notify module allocation for (sub)device used to create module,
makeResident called within (sub)device contexts
- access ISA with vmHandle specific to device index
Related-To: NEO-5784
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This change introduces usage of forward declarations
and removes unneeded includes from the mentioned files.
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
This change:
- removes redundant copying of std::vector
- removes unneeded includes from the header file
and introduces usage of forward declaration
Signed-off-by: Patryk Wrobel <patryk.wrobel@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>
Allow pausing execution before and after enqueuing kernel
using the PauseOnEnqueue and PauseOnGpuMode debug flags.
Related-To: NEO-6570
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
With compiler LSC WAs this gives better performance.
If debugger is active, policy will not be changed ie.
will be WBP.
Related-To: NEO-7003
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Do not use aligned size when storing allocation
Trim allocation cache before deleting devices
Related-To: NEO-6893
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
We have to always generate module create/destroy events to give
debugger a chance to insert bp, read/write debuggee memory etc
even there is no debug data was generated. In this case ELF will not be
reported to debugger, just ISA GpuVA
Related-To: NEO-6723
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
This change is a baseline for tight control over
when dispatch pipeline state commands and which
pipeline state properties can be changed for a
given hardware platform
Related-To: NEO-5019
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This change removes unneeded recalculation of hash as well
as redundant calls to std::to_string().
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>