Commit Graph

207 Commits

Author SHA1 Message Date
Marcel Skierkowski c54c88c7f6 fix: check createDir return value
Added a check in the createDir function to verify if the file exists
(this is not an error)

Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-04-29 16:28:38 +02:00
Marcel Skierkowski 85f71062ae fix: check createDir return value
Check if the createDir function returns an error code

Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-04-29 11:10:19 +02:00
Chodor, Jaroslaw 2ce694c52b feature: Enabling support for redirecting FCL to IGC for OCLOC
This allows for invoking IGC as OCL C translator in OCLOC paths

Accepted debug env :
NEO_OCLOC_UseIgcAsFcl=1 ; forces IGC
NEO_OCLOC_UseIgcAsFcl=2 ; forces FCL
NEO_OCLOC_UseIgcAsFcl=0 ; use defaults

Related-To: NEO-14473
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-04-15 16:44:35 +02:00
Marcel Skierkowski b75fbe8e2c refactor: mock filesystem in ocloc ult pt.1
Mocked IO operations in ./ocloc_tests application

Mocked gtest stdout capture in ocloc tests

Related-To: NEO-14084
Signed-off-by: Marcel Skierkowski <marcel.skierkowski@intel.com>
2025-04-08 16:08:42 +02:00
Filip Hazubski 504440fc4d feature: Add ftrHeaplessMode flag
Pass hwInfo to isHeaplessModeEnabled and isForceBindlessRequired functions.

Related-To: NEO-14526

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-04-02 21:06:05 +02:00
Arek G 4751461a30 fix: ocloc: allow passing -device and -device_options in different formats
Related-To: NEO-9563
Signed-off-by: Arek G <arkadiusz.grubba@intel.com>
2025-03-25 18:07:21 +01:00
Chodor, Jaroslaw 8040d8bebf refactor: ocloc command line refactor
Related-To: NEO-14135

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-02-25 11:11:28 +01:00
Kamil Kopryk 7c3468794e fix: add option to enable/disable heapless in ocloc
Related-To: GSD-10681
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-02-24 17:06:26 +01:00
Compute-Runtime-Validation 242a31a024 Revert "refactor: remove excess cast to C-string and add const reference"
This reverts commit 34ee40393f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-15 02:43:40 +01:00
Semenov Herman (Семенов Герман) 34ee40393f refactor: remove excess cast to C-string and add const reference
Signed-off-by: Semenov Herman (Семенов Герман) <GermanAizek@yandex.ru>
2025-01-14 13:25:31 +01:00
Artur Harasimiuk 22505ca3ed refactor: cleanup coding style
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-10-02 12:42:39 +02:00
Mateusz Jablonski 922edfd68d fix(ocloc): correct ocloc name in supported devices query
previous approach was to version ocloc library but it was deprecated
right now there will be 2 known libraries:
- libocloc.so - for mainstream
- libocloc-legacy1.so for legacy platforms

Related-To: NEO-12273, NEO-9630
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-14 11:05:28 +02:00
Fabian Zwoliński 359f4d5b56 feature: add SUPPORTED_DEVICES query to ocloc
New query option
ocloc query SUPPORTED_DEVICE
allows to generate a YAML file containing
information about supported devices for:
- the current version of ocloc on Windows
- the current and previous versions of ocloc on Linux

Each version of ocloc build needs to set
NEO_OCLOC_CURRENT_LIB_NAME
NEO_OCLOC_FORMER_LIB_NAME
cmake defines for the ocloc to be able to
find a previous lib and query its supported devices.

Example of correct format:
NEO_OCLOC_FORMER_LIB_NAME=libocloc-1.0.so
NEO_OCLOC_CURRENT_LIB_NAME=libocloc-2.0.so

Related-To: NEO-9630
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-07-11 17:38:33 +02:00
Maciej Bielski c80a5e0143 fix: avoid dereferencing nullptr
Related-To: NEO-11825

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-06-26 19:46:49 +02:00
Artur Harasimiuk ad374fbd8f build: allow use cl_cache in ocloc
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-06-13 16:06:15 +02:00
Artur Harasimiuk cddec0f78b feature(ocloc): read cl_cache configuration from env variables
Related-To: NEO-7785
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-06-13 15:41:21 +02:00
Mateusz Jablonski a28d6557ad fix(ocloc): optimize accesses to cache when building source code
when binary is zebin then don't look for separate debug binary

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-06-12 17:04:38 +02:00
Mateusz Jablonski 5fa5387781 fix(ocloc): remove incorrect ir binary caching during build from source
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-06-12 12:02:39 +02:00
Mateusz Hoppe 037957a7ae feature: add -stateful_address_mode to ocloc
- allows to choose bindless or bindful addressing in generated code

Related-To: NEO-11704

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-06-12 07:46:12 +02:00
Mateusz Jablonski cfd5f0c9b3 fix: use .spv for intermediate representation
Related-To: NEO-7785
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-06-11 12:06:57 +02:00
Compute-Runtime-Validation f4106ca44c Revert "fix: use .spv for intermediate representation"
This reverts commit 6c9bca8cdc.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-06-11 05:57:05 +02:00
Mateusz Jablonski 6c9bca8cdc fix: use .spv for intermediate representation
Related-To: NEO-7785
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-06-10 15:38:50 +02:00
Filip Hazubski 5ae2709e6e fix: Remove allow-zebin and enable-zebin compile options
Zebin is enabled by default.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-06-10 14:08:40 +02:00
Mateusz Jablonski d28ac15922 refactor: remove invalid device ids
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-06-04 15:28:05 +02:00
Chodor, Jaroslaw e053f3a839 feature: Add support for legacy acronyms in ocloc's ids query
Expands support for deprecated acronyms to ids query.
Additionally, this commit changes default devices for legacy
acronyms.

Related-To: NEO-10190

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-05-28 10:18:29 +02:00
Fabian Zwoliński 78bd3da078 fix: ocloc - add bindless mode options if bindless is enabled
If release helper is not present,
do not add bindless mode options.

Related-To: NEO-7063
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-05-23 14:10:28 +02:00
Kacper Nowak 35ca2bbea9 refactor: refactor logic for querying atomic FP capabilities
- Move logic from product helper to compiler product helper
- Add method for adjusting fp16 and extra capabilities using release
helper (if present).


Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2024-03-28 15:27:45 +01:00
Chodor, Jaroslaw b58717b9e3 feature: Add support for legacy acronyms in ocloc's fatbinary
Expands support for deprecated acronyms to fatbinary. Previously,
these were allowed only in single-target builds.

Related-To: NEO-10190

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-02-15 10:14:49 +01:00
Chodor, Jaroslaw 9ec9cc7ee0 fix: ocloc - Add support for verbose mode
with additional -v option, ocloc will output
command line it was invoked with

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-01-24 15:32:28 +01:00
Mateusz Jablonski dd1b9d6abc refactor: correct naming of enum class constants 8/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 08:18:18 +01:00
Chodor, Jaroslaw 7e795cd3c1 feature: Adding support for OCL C support queries to ocloc
Feature needed for automated OCL C compilation with ocloc as backend.
Added queries :
* CL_DEVICE_EXTENSIONS
* CL_DEVICE_EXTENSIONS_WITH_VERSION
* CL_DEVICE_PROFILE
* CL_DEVICE_OPENCL_C_ALL_VERSIONS
* CL_DEVICE_OPENCL_C_FEATURES

Sample command line:
ocloc query -device skl CL_DEVICE_OPENCL_C_FEATURES

Related-To: GSD-7420

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2023-12-18 15:19:16 +01:00
Mateusz Jablonski c9664e6bad refactor: rename global debug manager to debugManager
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 13:00:59 +01:00
Compute-Runtime-Validation 6906a4df5a Revert "feature: enable bindless mode in ocloc in L0 on dg2"
This reverts commit c35b13ccae.

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

Related-To: NEO-7063
Signed-off-by: He, Wenju <wenju.he@intel.com>
2023-11-24 12:37:42 +01:00
Mateusz Jablonski 35c1f34672 refactor: move number of threads per eu to release helper
Related-To: HSD-18034098647
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-20 12:16:33 +01:00
Kamil Kopryk ab67687e20 feature: apply appendExtraInternalOptions in ocl and ocloc
Related-To: NEO-7621
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-11-08 09:01:13 +01:00
Fabian Zwolinski 70e96b101e fix: add IGC init result check in ocloc query igc revision
Related-To: NEO-8289
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-27 11:10:24 +02:00
Fabian Zwolinski 7ac0c4ba37 feature: add ocloc IGC_REVISION query
Related-To: NEO-8289
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-26 15:57:11 +02:00
Fabian Zwolinski b2ba1fbecf fix: enforce zebin format by default in Ocloc for ICL/TGL/RKL/ADL
Products for which zebin has been set as default format in OCLOC:
- ICELAKE_LP
- TIGERLAKE_LP
- ROCKETLAKE
- ALDERLAKE_S
- ALDERLAKE_P
- ALDERLAKE_N

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

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

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

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

It also allows to cache debugDataBinary.

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

Related-To: NEO-8288, NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-08-28 13:11:49 +02:00
Kacper Kasper 991febcdf4 fix: extend cache hash with compiler commit sha, lib size and mtime
Related-To: NEO-4262

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

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

Related-To: HSD-18031230472

Signed-off-by: Artem Gindinson <artem.gindinson@intel.com>
2023-07-24 15:40:25 +02:00
Mateusz Hoppe eb2225e623 Revert "fix: no longer append .bin to binary name when "-output_no_suffix" ...
This reverts commit df62888efc.

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-05 12:21:55 +02:00
Filip Hazubski df62888efc fix: no longer append .bin to binary name when "-output_no_suffix" is passed
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-06-29 14:10:25 +02:00
Mateusz Hoppe b600410af2 fix: ocloc - rename "-device_options" param
- ocloc param names use "_"
Related-To: NEO-8037

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-16 11:14:57 +02:00
Fabian Zwolinski bb16789fcd feature: Allow to pass multiple devices separated by commas in -device-options
Related-To: NEO-8037
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-06-14 17:23:35 +02:00