Commit Graph

398 Commits

Author SHA1 Message Date
Mateusz Jablonski 51d03ba130 refactor: remove not needed check
OsLibrary::load already checks if library is loaded

Related-To: NEO-12273
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-20 13:30:00 +02:00
Mateusz Jablonski 579af57161 refactor: don't call OsLibrary::load directly, use function pointer
this allows mocking this call in ULT

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-20 08:59:26 +02:00
Mateusz Jablonski 90015a584b fix(ocloc): disable ocloc output if former ocloc was used
in case of fallback to former ocloc, the former ocloc setups outputs

Related-To: NEO-12273
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-14 15:49:14 +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
Mateusz Jablonski d963318cad fix: add fallback to former ocloc in case of invalid device error
Related-To: NEO-12273
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-14 09:30:57 +02:00
Mateusz Jablonski a32bb4d9a4 refactor: extract logic of calling former ocloc to separate function
Related-To: NEO-12273
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-13 17:24:48 +02:00
Mateusz Jablonski 0eec0cdf57 refactor: define ocloc current and former names in shared ocloc file
ensure both names are different

Related-To: NEO-12273
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-13 14:40:55 +02:00
Artur Harasimiuk 5bb1bc0396 build: add ocloc CURRENT and FORMER definitions
Related-To: NEO-6683
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-08-12 11:45:27 +02:00
Artur Harasimiuk 57e7147e7c build: update ocloc_lib installation path for runtime
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-08-06 12:41:26 +02:00
Oskar Hubert Weber 3ccab79ed8 test: dir create
Related-To: NEO-11500

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-08-05 13:58:25 +02:00
Filip Hazubski 99d9482464 performance: Avoid data copy during SupportedDevicesHelper::deserialize
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-08-01 17:26:26 +02:00
Artur Harasimiuk 250601fd7b build: cleanup not needed variables from cmake
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-08-01 12:52:20 +02:00
Artur Harasimiuk b6038de550 build: adjust name for legacy1 packages
Related-To: NEO-6683
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-07-31 16:20:08 +02:00
Filip Hazubski f8867ac3ac fix: Minor code improvements
Add explicit pointer checks to CommandQueue::blitEnqueueAllowed.

Explicitly check result of getDeviceArgValueIdx during ocloc compile.

Explicitly remove unused StagingBufferManager functions.
Move chunkCopyFunc by reference.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-07-19 09:24:37 +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
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