Commit Graph

101 Commits

Author SHA1 Message Date
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
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
edd49a9309 Test split that checks base hwInfo values
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-05-05 15:24:10 +02:00
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
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
0a5f78fbfe Test remaining parts of ocloc_arg_helper
This change introduces remaining ULTs for ocloc_arg_helper
to ensure, that its files are fully covered.

Related-To: NEO-6834
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-25 17:23:31 +02:00
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
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
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
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
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
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
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
a0e7dce57a Test arguments parsing in OfflineCompiler class
This change contains ULTs for OfflineCompiler::parseCommandLine()
method. The goal was to improve code coverage.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-03-28 12:51:51 +02:00
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
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
3d8effcd69 Clean-Up unused code related to GMock
This commit:
- Removes usings e.g. ::testing::Return
- Removes unnecessary gmock inclues
- Replaces Gmock macros (e.g. EXPECT_THAT) with our custom implementations

Related-To: NEO-4941
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-03-22 16:16:34 +01:00
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
8f1004e48a Clean-up output after each test unit in offline compiler
Aditionally fix:
- GivenSpecifiedOutputDirWithProductConfigValueWhenBuilding...
...MultiCommandThenSuccessIsReturned
- GivenArgsWhenBuildingWithDeviceConfigValueThenBuildSucceeds
tests which used files created by previously run tests.
Now both of these tests are a separate units.

Related-To: NEO-6606
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-02-07 13:40:21 +01:00
10e4e62600 Don't use DEFAULT_PLATFORM in unit tests
testing for default supported platform may be disabled

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-04 17:57:39 +01:00
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
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
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
d2818aaea2 Remove device enqueue part 5
-remove scheduler and builtin_kernels_simulation

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-13 14:15:26 +01:00
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
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
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
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
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
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
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
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
78a350494b Fix typo
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-11-09 11:44:11 +01:00
f1e839bda2 Add ocloc ults
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-11-05 11:30:27 +01:00
21ef249961 Move ocl extensions logic to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-11-04 17:38:15 +01:00
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
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
02d8b3a024 Fix ocloc options parsing
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-10-12 13:02:13 +02:00
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
cfc673b77c Add compilerHwInfoConfig
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6237
2021-10-06 21:27:34 +02:00
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
9293c9b676 Use isMidThreadPreemptionSupported helper in compiler interface
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-09-09 18:17:09 +02:00
73264c65d4 Ocloc return success when returning help
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-08-19 07:43:16 +02:00
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
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
714a1ebf53 Improve ocloc tests
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-07-19 18:24:17 +02:00
bec8cdd6f1 Update XE_HP_CORE files to enable unit tests
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-07-08 18:41:41 +02:00
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
b3283a4490 When initializing gtSystemInfo initialize DualSubSliceCount
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-06-01 14:52:19 +02:00
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