Commit Graph

325 Commits

Author SHA1 Message Date
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