Commit Graph

444 Commits

Author SHA1 Message Date
Kamil Kopryk 785b9eeece Rename CompilerHwInfoConfig -> CompilerProductHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-05 11:25:49 +01:00
Warchulski, Jaroslaw bf6dfa6b94 Fix for '-q' option in ocloc
Related-To: NEO-6425
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-02 11:37:00 +01:00
Warchulski, Jaroslaw 4100e1aa72 Cleanup includes 7
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-28 17:01:48 +01:00
Kamil Diedrich 6f14e8414e Add wddm ult for Linux build [1/n]
Related-To: NEO-6066
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-11-25 12:01:42 +01:00
Daria Hinz 31deb4fd63 Add support for new acronyms in disasm
The "disasm" option in ocloc was not validate new acronyms.
despite handling them in "compile".
This PR is fixing the issue - ocloc disasm supports new & deprecated
acronyms.

https://github.com/intel/compute-runtime/issues/582

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7509
2022-11-23 16:53:54 +01:00
Matt Turner 40ff655e08 Fix typos
Signed-off-by: Matt Turner <mattst88@gmail.com>
2022-11-18 23:37:50 +01:00
Daria Hinz ab6e989eb3 Refactor product config helper
This commit brings order to the product config helper
code and corrects the naming

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-11-17 16:20:09 +01:00
Compute-Runtime-Validation ef9a4fffcd Revert "Fix for '-q' option in ocloc"
This reverts commit e9f0cb30e7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-11-16 06:27:31 +01:00
Warchulski, Jaroslaw e9f0cb30e7 Fix for '-q' option in ocloc
Related-To: NEO-6425
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-14 15:04:08 +01:00
Compute-Runtime-Validation 4d2948d312 Revert "Use device ID from ProductConfigHelper"
This reverts commit 60a8bcb3d7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-11-11 10:56:33 +01:00
Mateusz Jablonski 10c12bb3a7 Reduce creating files when running ocloc tests
Add a new listener to track created files

Related-To: NEO-7126

Co-authored-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-10 15:58:29 +01:00
Warchulski, Jaroslaw e4d10e5460 Cleanup includes 4
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-10 14:22:18 +01:00
Daria Hinz 60a8bcb3d7 Use device ID from ProductConfigHelper
This commit switches the device ID logic from the deprecated
to the new one, so that if the user passes a hex value to the -device
parameter, ocloc will use the new implementation in the product config
helper.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7487
2022-11-08 12:40:54 +01:00
Daria Hinz 0b3edc662e Remove unnecessary platform name translation
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-11-08 00:33:39 +01:00
Kamil Kopryk bf64769807 Remove not needed std::vector copies
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-11-07 23:25:14 +01:00
Warchulski, Jaroslaw fb25f96081 Cleanup includes 2
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-07 10:36:50 +01:00
Compute-Runtime-Validation 83f63e0008 Revert "Ocloc - fix binary output filename with "-output_no_suffix""
This reverts commit 3ca628c388.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-11-03 21:28:39 +01:00
Mateusz Hoppe 3ca628c388 Ocloc - fix binary output filename with "-output_no_suffix"
Resolves: NEO-7474

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-11-03 18:27:02 +01:00
Warchulski, Jaroslaw f0a9533c83 Improve error reporting in ocloc
Related-To: NEO-6425
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-03 09:29:46 +01:00
Dunajski, Bartosz 7ff37cd5fd Ftr/WA flags cleanup
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-10-26 12:11:31 +02:00
Mateusz Hoppe 8980b2b817 Ocloc: Remove unneeded code from generated cpp file
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-10-25 11:21:09 +02:00
Mateusz Hoppe 9c237d99ec Ocloc - Do not add "kernel-debug-enable" when "-g" is passed
Resolves: NEO-7436

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-10-25 08:55:55 +02:00
Krystian Chmielewski 0ef6b9b64c Zebin manipulator - create dump directory fix
This commit fixes problem in zebin manipulator when dump was not
created.
* Explicitly create dump directory.
* Add slash to dump argument.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-10-24 20:44:27 +02:00
Krystian Chmielewski 4f0d19628e Ocloc asm/disasm support for zebin
This commit adds option to disassemble and assemble zebinary.

Disasm disassembles zebinary into sections. Text sections are
translated to assembly, relocations and symbols are
translated into human readable format.

Asm assembles zebinary from files generated by disasm.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-10-10 14:48:55 +02:00
Dunajski, Bartosz ad2d3d0289 Remove not used method
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-10-05 17:10:51 +02:00
Kacper Nowak 65f7ff2027 Ocloc: Add -s to options string for non-spirv input with -g option passed
Automatically add "-s" (source path) option if -g flag is present.
This applies only to non-spirv input.
- Due to conflict, do not automatically append source path when
CMC compiler is used.
- Minor code refactor: use defined compiler options instead of local
strings; wrap filename in quotes (in case of space-separated filename
string).

Related-To: NEO-7285
Signed-off-by: Kacper Nowak kacper.nowak@intel.com
2022-10-04 14:49:53 +02:00
Compute-Runtime-Validation ab8579a6c2 Revert "Ocloc: Add -s to options string for non-spirv input with -g option pa...
This reverts commit 963930925a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-30 13:11:46 +02:00
Baj, Tomasz 0eab93501c Add cl_cache mechanism to ocloc
Related-To: NEO-6476

Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2022-09-30 12:03:02 +02:00
Kacper Nowak 963930925a Ocloc: Add -s to options string for non-spirv input with -g option passed
Automatically add "-s" (source path) option if -g flag is present.
This applies only to non-spirv input.
- Due to conflict, do not automatically append source path when
CMC compiler is used.

Related-To: NEO-7285
Signed-off-by: Kacper Nowak kacper.nowak@intel.com
2022-09-29 18:48:09 +02:00
Krystian Chmielewski af57d2bd38 refactor ocloc interface
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-29 13:25:58 +02:00
Krystian Chmielewski 596e9f815c 32bit zebin support
This commit adds support for 32 bit zebinary in NEO runtime and in
ocloc validate.

Resolves: NEO-7288

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-27 11:12:05 +02:00
Krystian Chmielewski 311b0b0020 Create input for linker during zebin decoding
Remove code duplication. Parsing zebin elf for relocations and symbols
is moved to decodeSingleDeviceBinary.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-22 11:12:39 +02:00
Krystian Chmielewski 09bf464327 Add option to disable zebin in ocloc
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-13 14:36:54 +02:00
Compute-Runtime-Validation 417746182c Revert "Ocloc: Add -s to options string for non-spirv input with -g option pa...
This reverts commit 301be3c21b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-09 05:42:13 +02:00
Kacper Nowak 301be3c21b Ocloc: Add -s to options string for non-spirv input with -g option passed
Automatically add "-s" (source path) option if -g flag is present.
This applies only to non-spirv input.
Related-To: NEO-7285
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-09-08 15:19:05 +02:00
Dunajski, Bartosz 16d9000429 Add option to change GRF mode
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-09-06 13:00:17 +02:00
Wrobel, Patryk 334802c9ba Use correct format string in ocloc_validator
Signed-off-by: Wrobel, Patryk <patryk.wrobel@intel.com>
2022-09-06 12:25:19 +02:00
Warchulski, Jaroslaw 57da7ad307 Don't generate gen file by default
Related-To: NEO-6613
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-09-05 15:00:48 +02:00
Dominik Dabek 8cc0177f1c Change DG2 l1 cache policy to WB
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>
2022-08-31 14:31:23 +02:00
Compute-Runtime-Validation 2621460e80 Revert "Change DG2 l1 cache policy to WB"
This reverts commit a820e73dd7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-08-27 08:04:19 +02: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
Dominik Dabek a820e73dd7 Change DG2 l1 cache policy to WB
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>
2022-08-26 12:58:45 +02:00
Dunajski, Bartosz 9763d42379 Fix type redefinition
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-08-24 09:45:13 +02:00
Daria Hinz ccb855de32 Add ids command info to ocloc
New ocloc ids <acronym> cmd has been added in NEO-7159,
but the addition of info has been omitted.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-08-22 16:31:24 +02:00
Patryk Wrobel 44e1f1ba4b Remove redundant copying of std::vectors
Usage of initializer list in for loop to iterate over heavy types
has bad consequences. std::initialize_list is only a view and its
data is silently created as T[N]. Therefore, if someone uses
std::vector with it, it will cause deep-copying of the elements.

This change introduces usage of pointers on std::initializer_list
to perform a shallow-copy of an addresses. Furthermore, it adds
const references in few places, where copy is not needed.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-08-16 09:27:16 +02:00
Kacper Nowak d213a8e8cd Ocloc: Enhance platforms support for disasm option
- Extend support for existing platforms [disasm option].
- Do not use deprecated core acronyms.
Related-To: NEO-7235
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-08-12 14:38:33 +02:00
Andrey Alekseenko cb18657cb8 Slightly improve "ocloc ids" output
- Add trailing newline, so the output looks nice in the terminal.
- "Uknown" -> "Unknown".

Signed-off-by: Andrey Alekseenko <al42and@gmail.com>
2022-07-28 11:48:58 +02:00
Daria Hinz 91a97dfaea Restore old device id design in ocloc
This change removes some of the logic related to
passing device id as an argument in ocloc introduced in
"Setting default device id for acronym".

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-07-19 15:55:13 +02:00
Kamil Kopryk aed26ec51d Add DisableForceToStateless debug flag
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-07-19 14:08:28 +02:00
Daria Hinz 01af53b63c Setting default device id for acronym
This PR includes:
- Move product config implementation from
ocloc arg helper to product config helper.
- Add default device id setting for each platform configuration.
- Add & move hw info config tests from opencl to shared

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7112
2022-07-15 12:28:58 +02:00
Kamil Kopryk 7c538b956a Correct typo
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-07-14 10:13:12 +02:00
Daria Hinz ea2edbef3d Add ids command to ocloc
New command usage: ocloc ids <acronym>.
It will allow the user to query all matched
<major>.<minor>.<revision> for the specified acronym.
E.g.
ocloc ids dg1
Matched ids:
12.10.0

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7159
2022-07-07 11:18:36 +02:00
Daria Hinz 789dd1900e Add -config flag to ocloc
Addition of a -config parameter that will allow
the user to set the number of EUs, slices etc.
Knowing these values during AOT can translate into performance.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-07-05 11:36:01 +02:00
Daria Hinz c9246d085d Support for AOT version in fat binary
AOT version (major.minor.revision) is one of
the supported variants for -device arg in ocloc.
In this change, version support has been added
when passing specific targets to -device using ",".

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-07-04 14:21:07 +02:00
Szymon Morek 76e023b941 Link build option with L1 cache policy helper
Related-To: NEO-7003

Add L1CachePolicyHelper struct.
This struct is resposible for L1 cache policy
in build option, Surface State and stateless
caching. Currently default option for all
platforms is WBP (write by-pass)


Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-07-04 11:49:55 +02:00
Artur Harasimiuk 4dff4e165c includes simplification
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-06-27 15:08:46 +02:00
Daria Hinz 74bca7f12e Support the uppercase device deprecated acronyms
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-06-27 13:15:38 +02:00
Krystian Chmielewski 0c523b412f feat(ocloc): concatenate multiple fat binaries
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-06-27 13:08:51 +02:00
Szymon Morek 9a26e505a8 Pass LSC policy to IGC in build options
Related-To: NEO-7003


Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-06-21 11:51:56 +02:00
Daria Hinz 5745c3d99d Change AOT enums type & use forward declaration
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-06-20 13:40:29 +02:00
Daria Hinz 2637ae5816 Ocloc: Support for various variants of acronyms
In addition to supporting the official -device acronyms
(e.g. xe-hpg), support for shorter and deprecated acronyms
has also been added.
An example of supported variances:
- xehpg
- xe_hpg
- xe_hpg_core

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-6910
2022-06-14 22:49:01 +02:00
Daria Hinz 6d365cbfc3 Ocloc: New AOT design implementation
Ocloc will handle any new values that may be
passed to the -device argument.

Supported acronyms are available under cmd:
ocloc compile --help

Supported patterns:
- device acronym
- release acronym
- family acronym
- version (major.minor.revision)

Fatbinary will no longer handle major.minor.revision variances,
only acronyms allowed.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-06-14 13:20:45 +02:00
Bartosz Dunajski 5510dc7daa Add adjustHwInfoForIgc support
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-06-13 14:31:53 +02:00
Compute-Runtime-Validation cca1dbecbc Revert "Ocloc: New AOT approach implementation"
This reverts commit a44f1b43aa.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-06-12 21:27:08 +02:00
Daria Hinz a44f1b43aa Ocloc: New AOT approach implementation
Ocloc will handle any new values that may be
passed to the -device argument.

Supported acronyms are available under cmd:
ocloc compile --help

Supported patterns:
- device acronym
- release acronym
- family acronym
- version (major.minor.revision)

Fatbinary will no longer handle major.minor.revision variances,
only acronyms allowed.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-06-10 09:24:13 +02:00
Daniel Chabrowski c303c218be Add missing pragma once in header files
Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-06-07 16:19:11 +02:00
Daniel Chabrowski 7463e1970b Cleanup headers
Make TUs and headers self-contained, remove unused headers

Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-05-18 11:42:06 +02:00
Artur Harasimiuk 819e0f5515 style: configure readability-identifier-naming.LocalVariableCase
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-16 12:39:44 +02:00
Daria Hinz de74becdb8 Base hwInfo values setup for AOT
In most cases, there was code redundancy, which was minimized in this change.
The setupHardwareInfoBase extraction will also be used for ocloc.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-6910
2022-05-13 09:40:37 +02:00
Krystian Chmielewski b4b1fb97bd Add default initializers for DeviceMapping members
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-05-12 15:04:33 +02:00
Daria Hinz 5ba56690f5 Revert "Set only base values in GT_SYSTEM_INFO for AOT"
This reverts commit b1f622d700.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-05-09 12:42:09 +02:00
Daria Hinz b1f622d700 Set only base values in GT_SYSTEM_INFO for AOT
In most cases, there was code redundancy, which was minimized in this change.
The setupHardwareInfoBase extraction will also be used in ocloc.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-6910
2022-05-04 10:36:26 +02:00
Kacper Nowak dd393d11a2 Ocloc: allow enforcing binary format specified by user
This commit adds ocloc option for specifying binary format.
When a --format flag is passed, the internal options will be changed
accordingly to the format specified (zebin/patchtokens) or a warning
will be printed if an unknown format will be passed.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-04-29 15:30:19 +02:00
Patryk Wrobel e3b1d8b43c Improve code coverage of BinaryDecoder
This change contains ULTs for BinaryDecoder.
It is intended to improve code coverage.

Related-To: NEO-6834
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-27 11:35:12 +02:00
Patryk Wrobel 1d7b99140c Test buildFatBinary()
This change introduces ULTs for buildFatBinary() function.
It is intended to improve code coverage.

Related-To: NEO-6834
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-26 14:55:24 +02:00
Bartosz Dunajski 9959896957 Add RT calls support to Kernel descriptor
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-22 16:33:59 +02:00
Patryk Wrobel 35a04e5915 Refactor and test initialization of FCL in ocloc
This change:
- extracts FCL to a separate class called OclocFclFacade
- tests the new class
- tests its usage in offline compiler

Related-To: NEO-6834
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-22 10:25:16 +02:00
Kamil Kopryk 7f08a9d993 Remove adjustHwInfoForIgc helper
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6738
2022-04-20 10:04:36 +02:00
Patryk Wrobel a8680c0b82 Implement ULTs for IgaWrapper
This change:
- implements mock for functions from IGA DLL
- implements ULTs for IgaWrapper
- implements RAII wrapper for GTEST's capture of stdout
- adds ASAN and TSAN flags to ocloc_tests

Related-To: NEO-6834
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-19 12:26:36 +02:00
Patryk Wrobel 303c12bc5b Refactor and test initialization of IGC in ocloc
This change:
- encapsulates initialization of IGC in a separate class
- removes code duplication from OfflineLinker and OfflineCompiler
- tests the new encapsulated class

Related-To: NEO-6834
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-19 12:15:34 +02:00
Patryk Wrobel 4bebb477d4 Improve coverage of ocloc_api
This change contains ULTs, which test the code
which was not covered.

Related-To: NEO-6834
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-15 16:11:08 +02:00
Daria Hinz ce645f13b7 Encode PRODUCT_CONFIG value into fatbinary
Change modifies the encoding entry in fatbinary for platforms.
If numbering in -device is used, the value PRODUCT_CONFIG will be encoded.
The functionality that returns the correct product config values has
also been added.

Related-To: NEO-6744
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-04-11 15:09:17 +02:00
Patryk Wrobel 6f911ba840 Add unit tests for MultiCommand class
This change improves code coverage of MultiCommand class.

Related-To: NEO-6834
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-08 22:05:16 +02:00
Patryk Wrobel 76349b8030 Improve code coverage of OfflineCompiler class
This change introduces unit tests related to
member functions of OfflineCompiler class.
OfflineCompiler::initialize() is not covered
and it will be added in a separate commit.

Related-To: NEO-6834
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-07 13:58:52 +02:00
Patryk Wrobel 50efd09ad8 Improve code coverage of binary encoder and decoder
This change contains ULTs, which improve the
coverage of BinaryEncoder and BinaryDecoder
classes.

Related-To: NEO-6834
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-04 17:20:01 +02:00
Patryk Wrobel 9cba46e5bf Improve code coverage of MultiCommand class
This change introduces ULTs for untested
parts of MultiCommand class. Furthermore,
it contains MockMultiCommand class, which
allows white-box testing.

Related-To: NEO-6834
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-01 14:04:16 +02:00
Daria Hinz 88c16542a1 Ocloc: Set DeviceId in HwInfo
User can pass a heximal value of device id via -device param.
This change makes the setting of this value in hwInfo.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-03-29 11:17:23 +02:00
Patryk Wrobel 14c9c57e0c Test buildFatBinaryForTarget()
This change contains ULTs for buildFatBinaryForTarget().
They are intented to cover untested code. Moreover,
the function signature has been changed to avoid copying
of std::vector of arguments.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-03-26 08:15:35 +01:00
Patryk Wrobel 41a8972772 Test functionality of Source helper class
This change introduces unit tests for Source class,
which is a helper of ocloc_arg_helper.

The original functionality has been improved to preserve
last line even if it does not contain trailing new line sign.
Moreover, empty lines are skipped since this change.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-03-25 13:52:40 +01:00
Daria Hinz efa57f734b Reset GT_SYSTEM_INFO values in ocloc
For AOT compilation, we don't want to set random/default values.
The uploaded structure to IGC will be reset.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-03-25 10:17:18 +01:00
Kacper Nowak cc0c98e974 Enable ocloc disasm for .gen files
This commit allows to use "disasm"
ocloc option to be used with .gen files.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-24 12:53:22 +01:00
Kamil Kopryk 038d1d54fa Correct xe_hpc tests
Related-To: NEO-6631


Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-03-09 09:21:30 +01:00
Daria Hinz 0c6863766a Set device ids for PRODUCT_CONFIG
Ocloc must set the default device id if the user
selects <major>.<minor>.<revision> pattern.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-02-25 18:01:40 +01:00
Mateusz Jablonski aae7858ed9 CMake: define enable core files only once
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-18 11:50:09 +01:00
Compute-Runtime-Validation 84a1ccb991 Revert "Remove overridePlatformName method"
This reverts commit 2484c68fe3.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-02-18 10:57:19 +01:00
Bartosz Dunajski 2484c68fe3 Remove overridePlatformName method
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-17 16:16:08 +01:00
Mateusz Borzyszkowski 64b8de3c1d Prepare offline compiler to add -gen_file option
Add dummy option to ocloc cmd. This is a preparation to add
a new option that will control dumping gen file.

Signed-off-by: Mateusz Borzyszkowski <mateusz.borzyszkowski@intel.com>
2022-02-16 13:10:33 +01:00
Patryk Wrobel 6ac6db7b04 Store single generic IR in fatbinary when built from SPIR-V input
This change prevents embedding identical SPIR-V section for each
target requested in fatbinary build. Instead of duplicating SPIR-V,
a new file called 'generic_ir' is added to AR archive. It contains
SPIR-V, which was used to build fatbinary. Build fallback in runtime
has been also adjusted - if 'generic_ir' file is defined in fatbinary
and there is no matching binary, then this generic SPIR-V is used to
rebuild for the requested target.

Additionally, MockOclocArgumentHelper::loadDataFromFile() was adjusted
to ensure null-termination of returned strings.
This change also removes possible undefined behavior, which was
related to reading names of files from AR archive. Previously,
if filename was shorter than requested target name, we tried to
read more memory than allowed.

Related-To: NEO-6490
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-02-14 15:30:46 +01:00
Baj, Tomasz 2eb7ae7a8d ocloc accept underline and shorter gen names
Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
Related-To: NEO-6122
2022-02-14 14:55:30 +01:00
Daria Hinz c1eae01ce9 Remove duplicate product configs
In some cases, when a user passes -device in the form of
<major>.<minor>.<revision> (e.g. 12.0.0) ocloc requests fatBinary.
There is no need to duplicate compatible binaries.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-02-10 11:44:06 +01:00
Mateusz Hoppe 31a61a16c0 Set ERROR in retValForCrash in SafetyGuard.call()
- allows to print ocloc command line after crash in compilation

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-02-02 14:28:51 +01:00
Bartosz Dunajski 90d85bee55 Remove ftrGT flags support
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-01-27 17:39:48 +01:00
Dominik Dabek a83b173bbe Do not abort ocloc when building throws exception
Previously when compiler crashed, no cmdline was printed.

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-01-27 12:41:40 +01:00
Bartosz Dunajski 72edadb265 Remove not used GT type info
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-01-26 18:06:38 +01:00
Compute-Runtime-Validation 1634ac9ec3 Revert "Dont generate gen file by default"
This reverts commit 95943dee0f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-01-24 14:46:29 +01:00
Mateusz Borzyszkowski 95943dee0f Dont generate gen file by default
Ocloc can dump gen file when we add -gen_file flag to cmd.
Otherwise gen is not generated

Signed-off-by: Mateusz Borzyszkowski <mateusz.borzyszkowski@intel.com>
2022-01-17 18:14:50 +01:00
Patryk Wrobel 53482e6821 Allow ocloc to link files
Added 'link' option to ocloc CLI, which allows linking of
several IR files to single output file. Supported formats
of output file are ELF and LLVM BC.

Related-To: NEO-6163
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-01-14 16:18:36 +01:00
Krystian Chmielewski 0089cb698f OclocInvoke suppress print to stdout if has output
Suppressing output could be achieved with quiet option "-q",
but some information was gone because of it.
Call to oclocInvoke with output parameters passed should not
print message to stdout. All messages should be stored,
and returned to the user via output as stdout.log file.
This commit turns off printing messages to stdout when
output parameters are present.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-01-11 14:21:23 +01:00
Kopryk, Kamil 7d18b845fa Remove not needed argument from appendExtraInternalOptions function
Signed-off-by: Kopryk, Kamil <kamil.kopryk@intel.com>
2022-01-03 10:35:47 +01:00
Kopryk, Kamil 446a78a134 Force stateless addressing mode for PVC
PVC will support buffers greater than 4GB, hence we have to
use stateless accessing mode as default.

Signed-off-by: Kopryk, Kamil <kamil.kopryk@intel.com>
2021-12-29 14:53:18 +01:00
Dominik Dabek 67fff7fc51 Rename igcFeWa to igcFtrWa
It references features and workarounds

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2021-12-29 11:52:43 +01:00
Dominik Dabek df2e31dbb0 Print ocloc options from file on fail if quiet
Currently if ocloc fails and options are read from file, no information
about them will be printed or logged if -q is passed.

With this change, ocloc will print options read from file on compilation
or initialization error.

Related-To: NEO-6002


Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2021-12-28 16:50:05 +01:00
Dominik Dabek b6ec17843d Add quotes to options in cmdline printed by ocloc
When ocloc prints the command it was called with, enclose the -options
and -internal_options with quotes.
This allows easier copy-paste of the cmdline.

Related-To: NEO-6002

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2021-12-22 17:19:41 +01:00
Patryk Wrobel 09eefb4968 Unify used flags in case of IR exclusion
Unifies usage of flags in case of IR exclusion from ocloc's output file.
When -exclude_ir parameter is active, then internal options passed to
IGC contain -exclude-ir-from-zebin to preserve consistency. Moreover,
when only -exclude-ir-from-zebin is present, then -exclude_ir is also set.

Related-To: NEO-6477
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2021-12-17 14:30:58 +01:00
Daria Hinz 0aeca8df22 New numerical approach to platforms in ocloc
For AOT feature, a new approach to passing
the -device arg to ocloc is implemented.
New character: <Major>.<Minor>.<Revision>

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-5954
2021-12-15 13:02:12 +01:00
Patryk Wrobel c324279bf5 Add support for exclusion of IR from binary generated by ocloc
Itroduces new parameter "-exclude_ir" to ocloc CLI.
This parameter can be used to reduce output binary size
when IR is not needed.

Related-To: NEO-6477

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2021-12-08 16:11:54 +01:00
Bartosz Dunajski 537200dac5 Debug flag support to override revisionId in ocloc
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-11-29 14:34:33 +01:00
Bartosz Dunajski 995cb88bfa Improve ftr/wa flags packing
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-11-25 16:05:57 +01:00
Bartosz Dunajski 29f74a1a98 Rename cmake GEN variables
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-11-24 14:42:57 +01:00
Kamil Kopryk f0cb1cc388 Remove isForceToStatelessRequired from compilerHwInfoConfig helper
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6075
2021-11-17 17:53:09 +01:00
Kamil Kopryk 7bbb43a563 Move sharedSystemMemCapabilities to hwInfo
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6075
2021-11-17 14:42:05 +01:00
Kamil Kopryk f1e839bda2 Add ocloc ults
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-11-05 11:30:27 +01:00
Mateusz Jablonski 21ef249961 Move ocl extensions logic to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-11-04 17:38:15 +01:00
Kamil Kopryk 03540d5301 Refactor per platform extra settings in ocloc
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6382
2021-10-28 16:24:12 +02:00
Mateusz Jablonski 19b8a03d30 Move some files from opencl/source/dll to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-22 19:59:55 +02:00
Mateusz Jablonski 664b33787d Move appending compiler extensions to compiler parser
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-20 16:10:54 +02:00
Dominik Dabek 9ce0f4d0c3 Do not append null char to build log
Related-To: NEO-5989

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2021-10-14 20:59:11 +02:00
Mateusz Jablonski b1df167632 Move enable_product.inl to shared
extract api agnostic validators to shared
remove not needed opencl includes from neo shared


Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-12 22:02:16 +02:00
Mateusz Hoppe 02d8b3a024 Fix ocloc options parsing
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-10-12 13:02:13 +02:00
Mateusz Hoppe b420bc6102 Revert "Fix ocloc options parsing"
This reverts commit ef7a6763cb3e7389542a818e58b3c200b178bc46.

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-10-08 13:20:16 +02:00
Kamil Kopryk cfc673b77c Add compilerHwInfoConfig
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6237
2021-10-06 21:27:34 +02:00
Mateusz Hoppe 8fd49c4e7c Fix ocloc options parsing
"-g" in the middle of another option should not be parsed
as "-g"

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-10-06 15:57:53 +02:00
Zbigniew Zdanowicz 25c71a6c13 Move kernel info to shared directory
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-29 23:49:49 +02:00
Mateusz Jablonski fae50eb64a Move hw_info files to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-09-23 22:16:59 +02:00
Kamil Kopryk 577c69d68b Remove not needed branch_filename_suffix
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6245
2021-09-14 16:33:49 +02:00
Kamil Kopryk 9ccf43e441 Correct branch_dir_suffix in cmake
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6245
2021-09-14 16:00:20 +02:00
Kamil Kopryk f0ba132421 Correct ocloc cmake
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-09-09 18:17:23 +02:00
Kamil Kopryk 9293c9b676 Use isMidThreadPreemptionSupported helper in compiler interface
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-09-09 18:17:09 +02:00
Krystian Chmielewski 73264c65d4 Ocloc return success when returning help
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-08-19 07:43:16 +02:00
Katarzyna Cencelewska 5f491ed22b Add support for adlp in opensource
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com
2021-08-18 00:03:17 +02:00
Mateusz Jablonski 0e30ac71bd Ocloc: add support for hexadecimal input of revision_id
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-08-11 11:31:29 +02:00
Fabian Zwolinski b5d222f6cb Add query option description to help
Related-To: NEO-6031
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2021-08-10 13:33:26 +02:00
Zbigniew Zdanowicz 628c21ca37 Organize product information files
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-08-06 15:59:28 +02:00
Krystian Chmielewski 75f8fbf82e Refactor ocloc query
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-08-06 14:12:45 +02:00
Zbigniew Zdanowicz 0574e65fc1 Organize product configuration files
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-08-06 13:21:02 +02:00
Jim Snow 2acc0fb3f6 Add memory backed buffer allocation for L0 ray tracing.
This allocates the buffer on a per-device basis and enables ray
tracing on devices that support it when given a kernel with ray
tracing calls.

Signed-off-by: Jim Snow <jim.m.snow@intel.com>
2021-07-02 11:56:18 +02:00
Katarzyna Cencelewska 89c84d5942 Move some xehp config files to definitions subdirectory
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2021-07-01 11:55:48 +02:00
DmitryBushev 9e18416098 Add interface to extract versioning info
Appened ocloc interface with new 'query' feature.
Using this feature now one can extract HEAD hash and version of neo.

Signed-off-by: Bushev, Dmitry <dmitry.bushev@intel.com>
2021-06-29 13:17:15 +02:00
Dominik Dabek d0cb27226f Move mocks: cif, gmm context, compilers
Related-To: NEO-5161

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2021-05-27 12:51:28 +02:00
Szymon Morek ab52c70233 Change builtin kernels compilation process
.bin and .gen files for builtin kernels are generated per revision now

Resolves: NEO-5821

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-05-25 11:30:52 +02:00
Jaroslaw Chodor abf0649a5b Improving cpp compliance
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-05-20 00:10:06 +02:00
lgotszal 3bd4bca911 Copyright header update
Dates corrected in copyright headers to reflect original publication date
(2018 for OpenCL, 2020 for Level Zero).

Signed-off-by: lgotszal <lukasz.gotszald@intel.com>
2021-05-17 20:38:19 +02:00
Mateusz Hoppe b722638d6b Restore sigaction in safety_guard_linux
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-05-07 22:25:45 +02:00
Kacper Nowak e5a1d33a2b Fix ocloc fatbinary for better gen/sku detection
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2021-04-26 12:10:03 +02:00
Krystian Chmielewski ef71915c71 Remove KernelArgInfo and use KernelDescriptor's args instead
Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-04-23 15:12:09 +02:00
Mateusz Hoppe 28d32d6c8e Cleanup code and cmake
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-04-19 18:20:59 +02:00
Kacper Nowak f30fb9126a Add -cl-kernel-debug-enable internal option when -g is passed to ocloclib
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2021-04-14 16:25:42 +02:00
Kacper Nowak 6fe71e835b Autodetect device type based on provided device ID in ocloc
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2021-04-06 12:04:13 +02:00
Artur Harasimiuk cee785f8a1 ocloc refactor
Related-To: NEO-5538
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-03-29 14:48:29 +02:00
Kacper Nowak 260f7e37cb Add device product table based on device_base file for ocloc use
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2021-03-26 09:21:52 +01:00
Artur Harasimiuk 85b72563f4 generate .zip package with ocloc on Windows
Related-To: NEO-5417

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-03-10 13:40:54 +01:00
Artur Harasimiuk 59ccb2282b ocloc update
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-02-25 16:02:46 +01:00
Krystian Chmielewski 9bb229f771 Use printfSurfaceAddress arg instead of patchToken
Use KernelDescriptor's printfSurfaceAddress arg instead of storing
SPatchAllocateStatelessPrintfSurface token in KernelInfo's patchInfo.

Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-02-24 15:51:30 +01:00
Mateusz Hoppe 66f4c75aea Adding DisableDeepBind debug flag
Related-To: NEO-4946

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-02-23 19:19:24 +01:00
Konstanty Misiak 46ece15e09 Force ocloc cmdline log after fail even if -q option specified
Related-To: NEO-4784

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2021-02-10 11:33:22 +01:00
Filip Hazubski 7a91ef844a Move debug symbols package generation under cmake flag
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-02-02 18:51:43 +01:00
Filip Hazubski 5763b77bb9 Introduce debuginfo package
debuginfo package contains stripped debug symbols.
Generating debug symbols have been enabled for Release builds.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-01-21 13:37:52 +01:00
Filip Hazubski 5d922eea75 Add __IMAGE_SUPPORT__ option when compiling without device
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-01-20 18:50:02 +01:00
Filip Hazubski 65aecc84f1 Add __IMAGE_SUPPORT__ option for compilation
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-01-19 16:21:57 +01:00
Mateusz Jablonski 09f9b2896e Add include guard to ocloc_api.h
Resolves: NEO-5442
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-01-13 17:38:13 +01:00
Krystian Chmielewski db371ab6b9 Ocloc compile: return zebin format as is
If igc returns a zebin format ocloc should return it as it is.
2021-01-13 14:09:35 +01:00
Bartosz Dunajski 646b551da0 Helper to override platform name
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-01-13 11:22:44 +01: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
Katarzyna Cencelewska ff3d4799ca Refactor cmake
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2020-12-22 00:41:43 +01:00
Krystian Chmielewski 903ed4e6d4 add ocloc versioning
Adds versioning of ocloc and new api function returning ocloc
version.
2020-12-18 17:16:31 +01:00
Jaroslaw Chodor d9eb19e6c4 ocloc - adding support for includes
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2020-12-10 22:59:15 +01:00
Jaroslaw Chodor 993ea27e25 Adding platform info for FCL
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2020-12-10 16:31:46 +01:00
Filip Hazubski 3770048532 Update parsing of -internal_options in ocloc
Add internal options provided by the user after
the generated internal options.

Related-To: NEO-5152

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-12-07 15:15:16 +01:00
Filip Hazubski 2859023642 Add -ocl-version option when compiling without device
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-12-03 21:02:18 +01:00
Filip Hazubski 23d4967f79 Correct generating extensions list for compiler
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-12-03 15:15:49 +01:00
Filip Hazubski 6c4b1f951c Do not force cl_khr_3d_image_writes extension when compiling kernels
Update usage of SUPPORTED_IMAGES flag and do not use images when disabled.
Use SUPPORTED_2_0 only on fully OCL 2.1 conformant platforms.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-11-27 17:20:46 +01:00
Mateusz Hoppe 1792516043 Fix parsing ocloc options file
Resolves: NEO-5330

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-27 17:16:55 +01:00
Mateusz Jablonski 85ce7a5866 Ocloc: setup hw info values from default config
Related-To: NEO-5287
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-20 15:32:49 +01:00
Filip Hazubski 0c51499679 Provide -ocl-version option when compiling with ocloc
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-11-18 14:27:39 +01:00
Filip Hazubski 59b74a8ea3 Do not provide -cl-feature option to the compiler
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-11-17 18:17:34 +01:00
Bartosz Dunajski 40d5cc71c9 Windows includes cleanup
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-11-09 14:35:38 +01:00
Jaroslaw Chodor a07be76146 ocloc - don't require device for src->spv
Change-Id: Idb2acd9af4e09f59958e3bc622885423a3f79227
2020-11-02 21:07:18 +01:00
Jaroslaw Chodor 78dc305291 Ocloc - emit warning on input type mismatch
Change-Id: I57edcbd3025616698dbe7710f04d975db93ffdb9
2020-11-02 20:00:15 +01:00
kvladimi 72d3cd50d7 Adding information about -help and reformatting VC options to 80 symbols
Change-Id: Id9498c51d723f5b5583466bd6f1b2f62833f0902
2020-10-13 12:51:29 +02:00
Jaroslaw Chodor 91a36bf277 ocloc - preserve input spirv in output elf
Change-Id: I1205a5c655d643e0d6150f9dc7edaae30ad15225
2020-10-08 15:37:57 +02:00
Filip Hazubski 60430d79ee Update OpenCL C features reporting to the compiler
Pass features also with -cl-ext option.

Change-Id: I1a1c68b655a2108be51c7d57be771591ee0b14e7
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-10-05 10:27:30 +02:00
kvladimi 2c51737d61 Adding information to -cmc and -vc-codegen interfaces to option help
Change-Id: I5ea0f501a026c8589427ff16c4aa99cf7d672f29
2020-09-17 14:51:55 +03:00
Jaroslaw Chodor 6472d7b5e2 Ocloc lib documentation
Change-Id: Ie82861e0ace503c26eb9e04816ef4c7b5c9fdb83
2020-09-09 10:33:41 +02:00
Filip Hazubski f3e9e943a3 Add new feature macros
New feature macros are:
__opencl_c_images
__opencl_c_fp64
__opencl_c_int64

Change-Id: Ibe4b01ea9799db1f201dc379a37cb661754795db
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-09-08 12:13:53 +02:00
Kamil Kopryk 145fd87f5d Revert "Add adjustPlatformCoreFamilyForIgc helper"
This reverts commit 8fffdcc111.

Change-Id: I0415b004ef0a1465bc2658cadc66f21a99302eca
2020-09-08 07:36:26 +02:00
Pawel Wilma 0e50c3f7bb WA for integer divide emulation on DG1
Resolves: NEO-5003

Change-Id: I2f0d6730cab53335f34ebd8e335a9517030d6441
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2020-09-04 10:44:51 +02:00
Piotr Zdunowski 48e7ca6102 Opensource RKL.
Resolves: NEO-5017

Change-Id: I29364aa331f802bd298bd08df440aa1e33dd3c4e
Signed-off-by: Piotr Zdunowski <piotr.zdunowski@intel.com>
2020-09-02 17:06:51 +02:00
Konstanty Misiak 86b133207f Print ocloc cmdline after compilation fail
Related-To: NEO-4784

Change-Id: I451d6e0a67fc185d610e5d2dd4ff6a3f6542ca4c
Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2020-08-31 15:06:17 +02:00
Pawel Cieslak fb821f21f5 Cmake format script
Related-To: NEO-1157

Change-Id: Ie1b907e838cfb9ad0d75cc8971d415f7c77103c9
Signed-off-by: Pawel Cieslak <pawel.cieslak@intel.com>
2020-08-19 16:36:30 +02:00
Kamil Kopryk 8fffdcc111 Add adjustPlatformCoreFamilyForIgc helper
Change-Id: Ic372e76c1024ca9e585bef15fab29827d33122f3
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4865
2020-08-13 17:31:13 +02:00
Mateusz Jablonski 49526b9fd0 Correct destructor of debug settings manager of libocloc
Resolves: NEO-4918
Change-Id: I014926b08bad4e6be31752d1a5eb054412229ef5
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-13 14:49:39 +02:00
Jaroslaw Chodor 51d00dbc47 ocloc zebin validator
Change-Id: I56bd384a0af4f3460a41850bf178c4163b812221
2020-08-13 14:17:39 +02:00
Mateusz Jablonski a0cc844d10 Revert "Disable execution flag for libocloc.so"
This reverts commit 513951a344.

Related-To: NEO-4920

Change-Id: Id025365acdda6d5a62de1baad4f2eeb40bf4e9f8
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-12 14:00:37 +02:00
Artur Harasimiuk b7ff10fccf cmake refactor
Change-Id: Ic276b78419f2828c34ad70e2a7b2dbdbdf38f89d
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2020-08-11 12:41:57 +02:00
Andrzej Swierczynski c2534697e8 Pass revision ID to ocloc
Related-To: NEO-4004

Change-Id: I4a76d14ba445ac8aaaa81279a0726071a6361eae
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-07-31 14:26:35 +02:00
Artur Harasimiuk 17141f440f cmake: refactor hw platform enabling
Change-Id: Ib672ab524dc00dd9d817e82ecfd7bf1bb3334777
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2020-07-31 13:50:04 +02:00
Andrzej Swierczynski 513951a344 Disable execution flag for libocloc.so
Related-To: NEO-4920

Change-Id: Idcaece67d4d1bfa6c82761d01c6f029467adea48
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-07-30 17:33:31 +02:00
Plewka, Maciej 48d990dfc9 Revert "Pass revision ID to ocloc"
This reverts commit 05990b628b.

Change-Id: I7213d5cb75d6e5657410773da8c7ff386c6bbf8a
2020-07-24 18:00:48 +02:00
Andrzej Swierczynski 05990b628b Pass revision ID to ocloc
Related-To: NEO-4004

Change-Id: I3586782f4996e518fe69a9b6e2a2ed22ad19258b
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-07-23 16:19:14 +02:00
Daria Hinz b79672e3f1 Cmd line option to generate only spirV file
Related-to: NEO-4678
Change-Id: I502aede9f6e0796c1319d9c242a8b9095253cb88
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2020-07-08 11:16:10 +02:00
Pawel Wilma 1543fd6103 Read _options.txt in ocloc also for non-standard kernel file extensions
Related-To: NEO-3776

Change-Id: I139cab31cddc1f02ac40e5c06cca0c24a1180cf2
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2020-07-06 18:23:20 +02:00
Konstanty Misiak 0ca7e5b5ae Fix ocloc -device option
Related-To: NEO-4782

Change-Id: I2e7752a4f9f1bdf4cc1c45549e39139d8e77b89f
Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2020-07-03 11:51:58 +02:00
Daria Hinz d00a663e63 Extract SpirV generation to separate build method
Related-to: NEO-4678
Change-Id: I8371172f786c6d4042755532b77603224264d61b
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2020-07-02 12:38:32 +02:00
Pawel Wilma 2e6fc92372 Initialize hwInfo in ocloc before passing it to IGC
Related-To: NEO-3735

Change-Id: Ice69f6b21b960bda8fe4aa9667bc03cc3dbbc086
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2020-07-01 09:34:01 +02:00
Artur Harasimiuk 0d5d793a01 cmake: rename variable to better reflect its purpose
Change-Id: Ic65ac52d94ca48d4d3c113ab25fbb35b9fc5558e
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2020-06-26 13:28:39 +02:00
Filip Hazubski 45f0bc56bc Add options when building the program
Report "-ocl-version=300" when OCL 3.0 is enabled.
Report "-cl-feature=" with list of supported features.

Related-To: NEO-4368

Change-Id: I9aee559ed53541a0f0c1a2a004926d9d29a53d94
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-06-18 18:54:50 +02:00
Artur Harasimiuk ce710ac81a refactor hw_info_<X> processing in cmake
Change-Id: I4b5ac514fa1f7beca23676d45167752bcb053ea3
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2020-06-18 09:32:18 +02:00
Mateusz Jablonski cb24b95833 ocloc: dump files even if the entire build failed
if compilation spirv -> binary fails then spv file is created

cleanup MockOfflineCompiler

Change-Id: I6352baaa11a8f4ca15dcb358b4f2fbcae1b89d24
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-06-02 19:18:43 +02:00
Daria Hinz 546c81af70 Correct ocloc CMake
Change-Id: I9f9359544fd5a4e72a77b3ae927f90b9aaecaace
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2020-05-25 13:54:18 +02:00
8tab 7937da71f6 Fix build with USE_ASAN=ON
Signed-off-by: Mateusz Tabaka <tab.debugteam@gmail.com>

https://github.com/intel/compute-runtime/pull/314

Change-Id: I2b699df3f158b961a1a329fb81de8cd7115d06bc
2020-05-22 13:17:50 +02:00
chmielew 5a6144a5ce ocloc multi - fatBinary support
Change-Id: I0bb59829fbd01c798b26e8d6ef01c4ccd4280ae1
2020-05-19 12:51:14 +02:00
chmielew ce04f0d0e3 ocloc fix multi command not recognized
Change-Id: I63b48ec09ce8ec083ce489ea11755f9f12cd9128
2020-05-19 12:38:16 +02:00
chmielew 10cb4d597f ocloc asm fix copyBinaryToBinary
Change-Id: I6f1ae0a4e569c5cc936bf3ca342f9cdd376dc687
2020-05-13 16:35:27 +02:00
Krystian Chmielewski caee16d968 ocloc package with ocloc binary, ocloc library, and ocloc library header
Change-Id: I252ecdf9cff1ca20e39b2b4b5675410ac51ed38a
2020-05-12 17:21:14 +02:00
matborzyszkowski 86ea2ffdac Adding error message for fcl
Change-Id: Ic1849c55c33bd8ac5ef624765da46d505192c4fc
2020-05-05 04:50:45 -07:00
ocldev 08af6cad48 IGC interface cleanup
Change-Id: I4dc1a35cea636e00187c5f793a1539c4fdfac5f1
2020-04-28 21:01:48 +02:00
Mateusz Jablonski 14f0d3165b Reverse comparison of delimiters in ocloc's decoder
Change-Id: I35fe15d0d073afeda30c2cb93d9e784a257a2271
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-04-14 15:30:01 +02:00
Mateusz Jablonski d64c46a932 Minor cleanup in cmake files
don't use runtime folder in opencl
correct folders in VS solution

Change-Id: I1da0bfdf417b4603835093831d4e5f671181b2cf
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-30 10:08:12 +02:00
Mateusz Jablonski 441ff1fcdf Don't use the entire std namespace
Change-Id: I2014117a154fb2c1a61af5c31baa228b4fb3dbc2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-03-27 19:57:11 +01:00
chmielew 3976614bd5 ocloc - log output
Change-Id: I2a61b392e05033f963e502a90fe608b742c179a9
2020-03-24 15:01:58 +01:00
chmielew 93c8ffe326 ocloc fatbinary - check if OfflineCompiler was created successfully
Change-Id: Ie24403ca25ea81eba38061edbeeed60dabd17f57
2020-03-23 21:54:46 +01:00
chmielew f72d0e51a1 ocloc api - cleaning api header
Change-Id: I252c6622ebbda30c78e8afb37dcf1b5cd65909c9
2020-03-23 14:23:12 +01:00
Artur Harasimiuk 211375e898 cpack: packaging refactor
Change-Id: I47f9b4b83b4deb8bdaab62c7367c48908878c807
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2020-03-21 14:12:43 +01:00
chmielew e2dedd41f4 ocloc - argHelper support for MultiCommand and FatBinary
Change-Id: If4a4e6292609ce544a6534ebd4937ffe1cc09e67
2020-03-13 10:31:19 +01:00
chmielew c1aabdf51c ocloc - renaming "Intel OpenCL GPU device binary" -> "Intel Compute -||-"
Change-Id: Id9f8bba36a04487bee1c553e3af0d48c466d797b
2020-03-12 14:31:30 +01:00
Mateusz Hoppe c5454d6cce Rename neo_core to neo_shared
Change-Id: Ibf263a1c5a2445156859a647248918d3db48498b
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-03-11 16:05:19 +01:00
Artur Harasimiuk 06981eae0a ocloc: do not return error when asking for '--help'
Change-Id: I5bf06085e06d3ec73c757ce37d5f787fad3478bb
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2020-03-09 19:30:51 +01:00
Pawel Wilma 4f8325fa75 Add missing DualSubSliceCount in ocl-igc interfrace on Windows
Related-To: NEO-3777

Change-Id: Iaf076c4c103e1dd2b6e2d40b8e754a0fe0eb8d0b
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2020-03-09 13:27:22 +01:00
chmielew 0501e9b366 remove ocloc_lib from make install
Change-Id: Ic91a7db6763ba03543e20c7ba8dd1ea6adba0103
2020-03-09 10:32:11 +01:00
Jablonski, Mateusz 612f47ced3 Correct permissions of ocloc
Change-Id: I3116f8c88458946bffe3595d6e62f9ef0bd599de
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2020-03-06 11:30:56 +01:00
chmielew fa6608d20e ocloc fixes
Change-Id: I3b60b7fafa8ae17fbf73680892838b1cabd24327
2020-03-05 16:20:21 +01:00
chmielew ee192ebf7c ocloc API - fat_binary fix
Change-Id: I5e5eaa2abc6525decf671b7e710d3283c64f0528
2020-03-05 13:25:41 +01:00
chmielew 3e85c337f3 ocloc - remove CL types
Change-Id: I724d9d64b1f883fccfea3b7c488921c2419bbe37
2020-03-04 15:26:53 +01:00
chmielew e28419fc91 moving ocloc to shared folder
Change-Id: Ic739cf747f7e6fae2c0cd57f0bc1aa0899d3aa53
2020-02-27 18:46:00 +01:00