Commit Graph

22 Commits

Author SHA1 Message Date
Fabian Zwoliński
35c5b4f26c fix: add Hex support to Yaml Parser
Related-To: NEO-9630
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-06-26 15:31:32 +02:00
Mateusz Jablonski
dd1b9d6abc refactor: correct naming of enum class constants 8/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 08:18:18 +01:00
Mateusz Jablonski
55f6b142cd fix: handle dot character in kernel name when parsing zebin
Related-To: NEO-7934
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-28 12:07:50 +02:00
Pan, Zhenjie
ad49a6e3b0 fix: truncated invalid kernel reason message
IGC will add "invalid_kernel: uses-fp64-math" into kernel binary for fp64
unsupported platform. "uses-fp64-math" will be truncated to "uses" due to "-"
is not a valid identifier. It makes application can't get "uses-fp64-math"
through zeKernelGetSourceAttributes.

Related-To: NEO-7794

Signed-off-by: Pan Zhenjie <zhenjie.pan@intel.com>
2023-03-09 17:58:09 +01:00
Krystian Chmielewski
7c408c23b2 refactor(zeinfo): improve code readibility
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-01-12 09:33:00 +01:00
Kacper Nowak
966aa460f7 feat(yaml_parser): Correct parsing whitespaces-separated strings
Fix given scenarios in yaml parsings:
- Correct reading string containing multiple words separated by a
whitespace (space/tab) on token value retrieving
- Remove any unnecessary whitespaces from the end of a string on token
value retrieving

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-11-15 12:48:17 +01:00
Patryk Wrobel
c0342a0ab5 Optimize binaries' size by adjusting linkage of constants in headers
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>
2022-08-26 22:52:04 +02:00
Kacper Nowak
3a446e75cf Yaml parser: reserve additional space for nesting + simplify reserving logic
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-07-19 16:34:39 +02:00
Kacper Nowak
8a6d6dd449 Yaml parser: remove unnecessary container size manipulation
This commit removes unnecessary container size manipulation in yaml
parser. Space reservation is done by dedicated function
reserveBasedOnEstimates, so there is no need to manually resize the
container's size afterwards.
- Ensure that no invalidated iterators/references are used.
- Use push_back() instead of resize(...size()+1).
- Use reserveBasedOnEstimates() instead of reserve(...size()+1)
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-07-12 17:38:06 +02:00
Artur Harasimiuk
a6490062a9 fix code issues reported by clang 14
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-04-29 10:43:34 +02:00
Kacper Nowak
1a33fc0dc7 Zebin: return error on parsing empty vector entries in zeInfo
This commit prevents a yaml parsing error in case a data type is passed
after empty vetor type data entry with the same indendation. In this
case, a parsing error will be returned.
- Corrected .ze_info section in valid empty program (zebin mock)
- Minor ults refactor in order to use mock zebin program with valid
.ze_info

Related-To: NEO-6735
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-04-19 13:12:47 +02:00
Kacper Nowak
1b6a907b13 Code refactor
This commit:
- Optimizes usage of std::unordered map
- Corrects variables naming and output messages
- Minor changes in using std::string methods
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-23 23:12:21 +01:00
Kacper Nowak
38086029ed Zebin: Add support for querying device globals by host name
This commit adds support for querying global pointers via decorated
names passed in zeInfo.
Related-To: NEO-6734
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-03 13:13:22 +01:00
Krystian Chmielewski
bb77165f70 remove regex from yaml parser
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-10-29 15:11:48 +02:00
Krystian Chmielewski
f164acad0b Allow whitespace before ] in inline collection
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-10-27 15:32:32 +02:00
Krystian Chmielewski
174c1dfe64 Add inline collection support in yaml parser
Added support for inline collection in following syntax: [1, 2, 3]

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-10-27 13:23:13 +02:00
Jaroslaw Chodor
c23a74e902 Zebin - optimizing yaml parser
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-08-05 14:05:53 +02:00
Mateusz Jablonski
5a5ad64f5d Ocloc compile: support gen families exposed in help
fix typo in method name

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-01-11 19:11:56 +01:00
Kamil Diedrich
79d4af28de Switch to c++17
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2020-12-03 15:15:32 +01:00
Jaroslaw Chodor
345e56a151 Zebin improvements
* cleaning-up per-thread buffer size calculations
* fixing default slm alignment to 16
* adding scratch space slots
* renaming slm addressing mode
* adding support for zeinfo version

Change-Id: I0450353788b8488a685976d7f1dd26a44360383c
2020-10-29 16:33:21 +01:00
Jaroslaw Chodor
321f649854 Zebin support
Change-Id: I1e426ee2c5174fd0a4c51c1644cda467c2b88881
2020-08-07 11:48:41 +02:00
Jaroslaw Chodor
d65cdab453 Zebin - yaml parser
Change-Id: If8b5bcd68b7d39bfd3fb53b619f5de973b059bff
2020-07-30 07:26:44 +02:00