Commit Graph

311 Commits

Author SHA1 Message Date
Chodor, Jaroslaw
9ec9cc7ee0 fix: ocloc - Add support for verbose mode
with additional -v option, ocloc will output
command line it was invoked with

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-01-24 15:32:28 +01:00
Kamil Kopryk
ef8921247c refactor: improve constexpr array usage
Gcc with o2 flag will allocate constexpr array on stack.
Static constexpr std::array will be initialized at compile time.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-01-15 17:00:50 +01:00
Kamil Kopryk
5432b57fd0 refactor: improve readability
Added a time unit to the variable name to make it clear.
Removed incorrect and not needed check.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-01-05 14:53:52 +01:00
Dunajski, Bartosz
87857a6558 feature: add new PVC device id
Related-To: NEO-9736

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-29 19:06:33 +01:00
Mateusz Jablonski
a4888b39c6 build: add clang-tidy restriction for Enum case
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-21 08:58:51 +01: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
Chodor, Jaroslaw
7e795cd3c1 feature: Adding support for OCL C support queries to ocloc
Feature needed for automated OCL C compilation with ocloc as backend.
Added queries :
* CL_DEVICE_EXTENSIONS
* CL_DEVICE_EXTENSIONS_WITH_VERSION
* CL_DEVICE_PROFILE
* CL_DEVICE_OPENCL_C_ALL_VERSIONS
* CL_DEVICE_OPENCL_C_FEATURES

Sample command line:
ocloc query -device skl CL_DEVICE_OPENCL_C_FEATURES

Related-To: GSD-7420

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2023-12-18 15:19:16 +01:00
Mateusz Jablonski
8c90350f3c refactor: correct naming of enum class constants 5/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 10:06:02 +01:00
Mateusz Jablonski
c3ac7b78bd refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-01 02:18:46 +01:00
Mateusz Jablonski
bc862dff49 test: increase ult iteration timeouts
for aub tests on Windows to 360s
for ocloc tests on Windows to 90s

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 23:40:55 +01:00
Mateusz Jablonski
939a37c445 test: start alarm handler just before RUN_ALL_TESTS
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 23:40:20 +01:00
Mateusz Jablonski
c9664e6bad refactor: rename global debug manager to debugManager
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 13:00:59 +01:00
Mateusz Jablonski
8e3caef814 test: add support for alarm in Windows ULT
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-27 14:24:45 +01:00
Compute-Runtime-Validation
6906a4df5a Revert "feature: enable bindless mode in ocloc in L0 on dg2"
This reverts commit c35b13ccae.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-11-25 03:20:54 +01:00
He, Wenju
c35b13ccae feature: enable bindless mode in ocloc in L0 on dg2
Before this PR, bindless build option isn't enabled in ocloc by default on dg2.
So aot built program still use bindful kernel.
This PR appends bindless option to ocloc according on releaseHelper config.

Related-To: NEO-7063
Signed-off-by: He, Wenju <wenju.he@intel.com>
2023-11-24 12:37:42 +01:00
Mateusz Jablonski
18b43eeb6a test: prepare tests to run with clang on Windows in release config
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-14 14:29:00 +01:00
Mateusz Jablonski
330fb40107 fix: fix clang-tidy issues
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-31 16:32:06 +01:00
Jablonski, Mateusz
8b682a6bcb fix: fix compilation error in clang on Windows (3/n)
Related-To: NEO-9248
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2023-10-25 17:38:56 +02:00
Fabian Zwolinski
7ac0c4ba37 feature: add ocloc IGC_REVISION query
Related-To: NEO-8289
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-26 15:57:11 +02:00
Fabian Zwolinski
b2ba1fbecf fix: enforce zebin format by default in Ocloc for ICL/TGL/RKL/ADL
Products for which zebin has been set as default format in OCLOC:
- ICELAKE_LP
- TIGERLAKE_LP
- ROCKETLAKE
- ALDERLAKE_S
- ALDERLAKE_P
- ALDERLAKE_N

The default format does not override `--format` parameter.

Related-To: NEO-8334
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-08 16:16:18 +02:00
Fabian Zwolinski
41914be8c3 fix: enforce zebin format by default in Ocloc
Related-To: NEO-8334
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-06 15:22:01 +02:00
Chodor, Jaroslaw
49edbc3b60 refactor: ocloc - folding error codes to lib api header
These error codes are used as return codes from ocloc api.
As such, it's useful to have them defined in the ocloc api header.

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2023-09-05 20:28:11 +02:00
Kacper Kasper
abfed5a762 fix: add specialization constants to cache hash in spirv path
Related-To: NEO-4262

Signed-off-by: Kacper Kasper <kacper.k.kasper@intel.com>
2023-09-01 14:04:59 +02:00
Kacper Kasper
996c261430 fix: OclocIgcFacade->getIgcRevision() could return nullptr
* Make sure igcRevision is always initialized.
* Improve coverage.

Signed-off-by: Kacper Kasper <kacper.k.kasper@intel.com>
2023-08-31 12:57:27 +02:00
Fabian Zwolinski
1369882b3c fix: ocloc - regenerate genHash after compilation
This PR ensures that the genHash will be the same
whether the cl_cache is re-used or just created.
So it has to be regenerated after compilation
to make sure it's created with non NULL irBinary.

It also allows to cache debugDataBinary.

Minor: Rename NEO_PERSISTENT_CACHE -> NEO_CACHE_PERSISTENT in FAQ,
since this version is used in code.

Related-To: NEO-8288, NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-08-28 13:11:49 +02:00
Artur Harasimiuk
b578e4ad57 refactor: cmake cleanup
Related-To: NEO-8256, NEO-8257

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-08-28 11:40:48 +02:00
Compute-Runtime-Validation
5114988f34 Revert "refactor: cmake cleanup"
This reverts commit 9da3960123.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-28 03:05:49 +02:00
Artur Harasimiuk
9da3960123 refactor: cmake cleanup
Related-To: NEO-8256, NEO-8257

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-08-25 18:07:48 +02:00
Mateusz Jablonski
02337bbbf8 refactor: remove not needed includes from ocloc sources
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-28 18:56:16 +02:00
Artem Gindinson
7afedd7a63 fix: Add OCL C extensions to empty device ext string for Clang 14 compatibility
Clang 13+ requires (1) that each enabled extension be accompanied by
corresponding OCL C extension macro definitions. Fix the extension string for
empty device cases to conform to that - pass the same language feature macros
as we would for regular image support.

(1) release/14.x/clang/lib/Basic/OpenCLOptions.cpp#L142-L149

Related-To: HSD-18031230472

Signed-off-by: Artem Gindinson <artem.gindinson@intel.com>
2023-07-24 15:40:25 +02:00
Compute-Runtime-Validation
8c155a2e89 Revert "performance: Memory handling improvements"
This reverts commit 5b80bd4d7c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-20 11:37:09 +02:00
Filip Hazubski
5b80bd4d7c performance: Memory handling improvements
By default prefer allocating memory first by KMD, instead of malloc first.

By default prefer not caching allocations on MTL devices. This results
in allocations being handled with non-coherent pat index.

For integrated devices when caching is not preferred do not allow
direct memory access in CPU domain. For map/unmap operations create
a dedicated memory allocation for CPU access, instead of accessing it
directly, reusing the same logic as when mapping/unmapping local memory.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-07-19 19:21:44 +02:00
Artur Harasimiuk
9524b65b51 refactor: remove unused code
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-07-19 12:00:40 +02:00
Maciej Plewka
3a9a835692 fix: encode options in elf file
Resolves: NEO-8035

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-07-11 16:31:52 +02:00
Mateusz Hoppe
eb2225e623 Revert "fix: no longer append .bin to binary name when "-output_no_suffix" ...
This reverts commit df62888efc.

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-05 12:21:55 +02:00
Daria Hinz
a6fee8994d feature: Adding kernel sizes validation in ocloc
This commit adds a validation layer in ocloc,
which is designed to check if the data read from
the binary file does not exceed the size of the section.

Related-To: NEO-8062
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2023-06-30 10:39:31 +02:00
Filip Hazubski
df62888efc fix: no longer append .bin to binary name when "-output_no_suffix" is passed
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-06-29 14:10:25 +02:00
Kacper Nowak
12f597bc72 fix(zebin): corrections related to IntelGT notes + bump ZEInfo version
- Value correction: IntelGTSectionType::ProductConfig to 6, add new type
IntelGTSectionType::vISAAbiVersion = 5 - currently ignored by the
runtime
- For zebin manipulator: allow to extract PRODUCT_FAMILY from AOT
productConfig - required by IGA wrapper for binary encoding/decoding +
add tests
- Bump ZEInfo version to the latest: 1.32
Related-To: IGC-6300
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-06-22 15:41:01 +02:00
Mateusz Hoppe
b600410af2 fix: ocloc - rename "-device_options" param
- ocloc param names use "_"
Related-To: NEO-8037

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-16 11:14:57 +02:00
Fabian Zwolinski
bb16789fcd feature: Allow to pass multiple devices separated by commas in -device-options
Related-To: NEO-8037
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-06-14 17:23:35 +02:00
Fabian Zwolinski
d00345d115 feature: Add ability to specify options per-device in Ocloc
Related-To: NEO-8037
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-06-06 19:33:48 +02:00
Daria Hinz
68b6cfebd2 feature: Add default ip version values to helper
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-8021
2023-06-02 12:10:21 +02:00
Kamil Kopryk
7d20449589 fix: Add release helper for dg2
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-16 12:04:03 +02:00
Daria Hinz
1d64b94f30 feature: Match config based on device & rev ID
This change matches the appropriate aot config
for the combination of device ID and revision ID.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7905
2023-05-10 08:22:09 +02:00
Mateusz Hoppe
252c5a99cf feature: ocloc - add new option for output binary filename
- new option "-o [filename]" allows to set output binary filename, ocloc
will not add any extension to the name
- no other files will be produced (.spv/.cpp/.dbg)
Related-To: NEO-7935

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-05-10 02:24:59 +02:00
Daria Hinz
856318ccc2 test: Add output capture to ULT
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2023-04-24 15:17:16 +02:00
Daria Hinz
a2bc1d82e4 fix: Improved reporting of incorrect device
We want to report unrecognized device only after verifying
all possible variants, including deprecated ones.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7903
2023-04-21 12:33:34 +02:00
Daria Hinz
2647efc23c feat: Add support for ip version value in ocloc
Ocloc supports passing hw ip version value to -device arg in
the form of major.minor.revision.
This change adds support for directly passed value as uint32_t as well.
Support added for single and fat binary.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7903
2023-04-20 13:20:11 +02:00
Mateusz Hoppe
97a8f15fbd fix: cleanup memory leaks in ocloc
- enable memory leaks detection in ocloc tests

Related-To: NEO-7467

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-04-19 13:48:49 +02:00
Maciej Plewka
730578112f Report cl_khr_integer_dot_product extension
Related-To: NEO-6206

With this commit OpenCL will report cl_khr_integer_dot_product extension
in version 2. With all properties enabled.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-04-14 14:46:18 +02:00