Commit Graph

384 Commits

Author SHA1 Message Date
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
Mateusz Jablonski 746ae5937b build: correct include directories for ocloc
Related-To: NEO-8188
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-09 14:58:00 +02:00
Mateusz Jablonski 778645c11e feature: add initial support for Xe2 platforms
Related-To: NEO-8188, NEO-10774
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-09 10:30:27 +02:00
Mateusz Hoppe b40ec06256 fix: ocloc - do not create /dev/null directory
Related-To: NEO-11500

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-07-03 16:54:55 +02:00
Oskar Hubert Weber a7ddf7848b fix: fatbinary generation with "-out_dir"
Directories are created if needed before generating fatbinary.

Related-To: NEO-11500

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-07-02 13:33:53 +02:00
Alicja Lukaszewicz 3db2bfc235 fix: generate SPIR-V for first device with -spv_only and multiple devices
If the family is provided as a device with the "-spv_only" flag, then
the SPIR-V file will be generated for the first device in the family.

Related-to: NEO-11550
Signed-off-by: Alicja Lukaszewicz <alicja.lukaszewicz@intel.com>
2024-06-28 09:30:26 +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 c41f3fccb9 build: always use libocloc.so for 'current' shared library
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-06-25 10:59:02 +02:00
Artur Harasimiuk bbe11205e3 build: add cmake flags to control platform support
Related-To: NEO-6683
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-06-25 09:08:03 +02:00
Filip Hazubski efa3647d8f refactor: Correct argument order to be in line with function argument names
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-06-24 11:34:53 +02:00
Dominik Dabek dc26b25169 Revert "fix: ulls controller sleep, windows"
This reverts commit 672cc0ebc7.

Resolves: HSD-18038912878, NEO-11770

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-06-21 14:10:43 +02:00
Dominik Dabek 672cc0ebc7 fix: ulls controller sleep, windows
Request higher resolution for windows periodic timers for ulls
controller sleep.

Allows for controller thread to sleep with granularity of 1ms.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-06-18 06:28:15 +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 500ed3029b fix: use generic names in fat binary entries
Related-To: NEO-10190
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-06-07 16:38:35 +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
Mateusz Jablonski f3fa58de15 refactor: define release helper sources only once
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-06-03 13:59:11 +02:00
Mateusz Jablonski d7c7cb203c fix: add missing support for acronyms without dashes
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-05-29 17:07:06 +02:00
Chodor, Jaroslaw ad155da67a feature: Enabling platforms in ocloc by default
This feature enables supported platforms in ocloc even
if not enabled for driver.
Allows sharing single ocloc instance for multiple driver-platform
configurations

Related-To: NEO-10531

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-05-28 12:09:47 +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
Aleksander Czerwionka 251463d77a feature: [Ocloc] provide backward compatibility for gen12lp family merge
Related-To: NEO-10148

Signed-off-by: Aleksander Czerwionka <aleksander.czerwionka@intel.com>
2024-05-27 17:35:31 +02:00
Mateusz Jablonski a787686ac5 feature: add new definitions for support of AOT configs
Related-To: NEO-11466
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-05-27 09:29:14 +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
Mateusz Jablonski 2577f1123e refactor: remove not needed code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-05-22 14:01:21 +02:00
Timo Aaltonen cb984b3e4b fix: Fix various typos.
Signed-off-by: Timo Aaltonen <tjaalton@debian.org>
2024-04-17 20:03:06 +02:00
Fabian Zwolinski e7420de011 fix: ocloc fatbinary handle -out_dir without -output
Currently if we pass `-out_dir` in ocloc fatbinary cmdline, e.g.:
./ocloc compile -file vector.cl ... -out_dir ../exampler_dir
ocloc sets the name for the output file from the `-output` parameter.
But as the `-output` parameter is not provided,
the file name will be empty and won't be written to disk.

This patch adds support for a scenario
where you pass `-out_dir` without `-output`.
In this case, the file will have default name - input file's base name.

Related-To: NEO-10603
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2024-04-15 15:47:50 +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
Mateusz Jablonski 82147fcdd6 fix: remove redundant saveOutput method in ocloc
when saving string as output make it null-terminated string

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-04 15:28:42 +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
Kacper Nowak ab1ffea592 refactor: Create function to check if OCL2.1 caps are enabled or enforced
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2024-02-06 08:27:09 +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
Dunajski, Bartosz 87857a6558 feature: add new PVC device id
Related-To: NEO-9736

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

Sample command line:
ocloc query -device skl CL_DEVICE_OPENCL_C_FEATURES

Related-To: GSD-7420

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2023-12-18 15:19:16 +01:00
Mateusz Jablonski 8c90350f3c refactor: correct naming of enum class constants 5/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 10:06:02 +01:00
Mateusz Jablonski 6cbcb743be feature: add support for release 12.74
Related-To: NEO-8187
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-05 08:01:31 +01:00
Mateusz Jablonski c9664e6bad refactor: rename global debug manager to debugManager
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 13:00:59 +01:00
Mateusz Jablonski 36194c4e7d refactor: correct variable namings
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-29 23:49:03 +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
Kacper Nowak 1b932bf119 fix: allow legacy device binary validation logic for Blender on DG2 and MTL
Temporarily opt-out from additional compatibility checks
on DG2 and MTL for Blender and its derivatives AOT-compiled kernels.
This prevents a long kernel recompilation.

Additionally, same behavior can be enforced for other applications
manually via NEO debug key named DoNotUseProductConfigForValidationWa.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-9240
2023-11-21 16:05:17 +01:00
Mateusz Jablonski 18c25e5aa3 build: limit symbols exported by libocloc
Related-To: NEO-9558
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-21 15:37:30 +01:00