Commit Graph

261 Commits

Author SHA1 Message Date
Fabian Zwoliński
285414e852 fix: cl_cache - add cm header includes to whitelist
This patch adds following includes to the whitelist:
<cm/cm.h>
<cm/cmtl.h>

Related-To: NEO-13641
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-01-21 10:22:03 +01:00
Fabian Zwoliński
bbaca5d8e2 feature: cl_cache - add support for whitelisted includes
Related-To: NEO-13641
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-01-20 15:07:14 +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
Oskar Hubert Weber
435b6f8e28 fix: regression
fixes regression caused by previous pr

Related-To: NEO-8116

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-12-24 07:51:07 +01:00
Oskar Hubert Weber
1c1b2db9a9 fix: allowing neo ULT build with optimization enabled 5/n
- fix mismatched-new-delete warnings
- fix initialization warnings
- fix attempt to free a non-heap object warnings

Related-To: NEO-8116

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-12-23 13:07:55 +01:00
Filip Hazubski
fe23e7fa40 refactor: Explicitly delete unused functions of LinkerInput
Comply with the rule of five.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-11-18 09:50:11 +01:00
Oskar Hubert Weber
fd45b2883d fix: neo ULT build with optimizations disabled 1/n
Related-To: NEO-8116

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2024-10-28 15:38:28 +01:00
Chodor, Jaroslaw
5f908ce092 feature: adding support for custom compiler backends
This adds abbility to load different versions of the backend
compiler based on underlying device.

Related-To: NEO-12747

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-10-23 19:55:36 +02:00
Mateusz Jablonski
4154e6666b fix: correct loading L0 loader functions
- don't load ze_loader.dll from file system
- to perform self-open on Windows use getModuleHandleA with proper module name
- don't free library loaded with getModuleHandleA
- as loader may be not available during runtime teardown:
- load translate handle function during global setup
- load setDriverTeardown function during global teardown
- when loader is not available during teardown, unset translate handle
function

Related-To: GSD-10147

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-17 15:39:20 +02:00
Compute-Runtime-Validation
f117b5fb68 Revert "fix: correct loading L0 loader functions"
This reverts commit 9c7b3c5e19.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-10-17 08:20:19 +02:00
Mateusz Jablonski
9c7b3c5e19 fix: correct loading L0 loader functions
on Windows use getModuleHandleA with proper module name
don't load ze_loader.dll from file system

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-16 19:53:05 +02:00
Compute-Runtime-Validation
2098e64dc1 Revert "feature: adding support for custom compiler backends"
This reverts commit 8098bcc48d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-10-16 02:07:25 +02:00
Chodor, Jaroslaw
8098bcc48d feature: adding support for custom compiler backends
This adds abbility to load different versions of the backend
compiler based on underlying device.

Related-To: NEO-12747

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-10-14 18:23:11 +02:00
Brandon Yates
7f0a0ae034 fix: Add new debug sip kernel type for heapless
Related-to: NEO-7979

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-09-11 14:32:15 +02:00
Fabian Zwoliński
ea5b586c37 fix: move pathExists out of sys calls and do not mock it
Moved pathExists from SysCalls to path.h.
In ULTs, use unchanged pathExists and mock stat, getFileAttributesA instead.
Add Windows and Linux ULTs for pathExists.

Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-09-10 19:24:45 +02:00
Fabian Zwoliński
e30b8c0300 fix: windows cl_cache fixes and improvements
Fixed the function that checks if a directory exists.
Added debug message in case config file creation fails.
Simplified setting pattern for searching all files in a directory.
Adding file search loop skip when found file is a directory.

Fixes: #762
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-09-09 19:25:52 +02:00
Mateusz Jablonski
efb8240a00 refactor: rename OsLibrary::load function to distinguish functionality
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-16 01:35:41 +02:00
Maciej Plewka
27488a8315 fix: Add option to use divergent paths for barriers
Related-To: NEO-12159, IGC-9846, HSD-16024235164, HSD-15014782386

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-08-12 12:15:54 +02:00
Mateusz Jablonski
a67ef72210 fix: include hw ip version in compiler cache hash
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-06-11 15:55:06 +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
Fabian Zwoliński
04af8bc5b4 fix: add support for __INTEL_PER_THREAD_OFF
Related-To: NEO-10368
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-05-21 17:50:43 +02:00
Maciej Plewka
b755a30919 fix: patch correct payload offset value in relocation
Related-To:: GSD-8116
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-05-21 06:12:03 +02:00
Weronika Kapusta
d6c16c1640 fix: remove compiler cache legacy implementation
Related-To: NEO-10679

Signed-off-by: Weronika Kapusta <weronika.kapusta@intel.com>
2024-05-06 18:28:35 +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
Mateusz Hoppe
a9366fff48 refactor: print message with location when cache is enabled
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-04-11 17:08:39 +02:00
Compute-Runtime-Validation
9568ee47e7 Revert "fix: remove compiler cache legacy implementation"
This reverts commit 864f42116c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-04-09 02:06:51 +02:00
Weronika Kapusta
864f42116c fix: remove compiler cache legacy implementation
Related-To: NEO-10679
Signed-off-by: Kapusta, Weronika <weronika.kapusta@intel.com>
2024-04-08 16:40:57 +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
Fabian Zwolinski
52430762ac fix: cl_cache L0 env vars + refactor code structure
Added support for new Compiler Cache
environment variables in Level Zero.

Moved
`opencl/source/compiler_interface/default_cache_config.cpp`
`level_zero/core/source/compiler_interface/default_cache_config.cpp`
to shared directory
`source/compiler_interface/default_cache_config.cpp`

Switched enabling cache by default from per OS to per API.
Changed default state of cl_cache in Level Zero to disabled.

Related-To: NEO-10045
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2024-03-01 17:35:08 +01:00
Fabian Zwolinski
a27dafd2e1 fix: cl_cache store binary and debug data in one file
Related-To: NEO-10045
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2024-02-29 10:13:15 +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
a6458433dc refactor: correct naming of enum class constants 9/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 10:36:25 +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
Dunajski, Bartosz
d99104d5bf refactor: improve ImplicitArg struct handling
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-12-18 15:19:00 +01:00
Mateusz Jablonski
beafea9b39 refactor: correct naming of enum class constants 2/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-11 13:13:35 +01:00
Fabian Zwolinski
ee53bf0839 fix: linux cl_cache eviction mechanism
Fixed and refactored eviction mechanism works as follows:
- eviction is needed only if
total size of cache binaries + size of the new binary exceed cache limit
- single evition call removes files with a summed size of 1/3 of the cache limit
- if new binary can not fit in the cache size limit
even after eviction, it will not be saved
- cache limit applies only to
files in cache directory with .cl_cache/.l0_cache extension.
Only these files are counted and only these files are removed

Minor:
- rename variables for better readability
- add `const` where possible

Related-To: NEO-4262
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-12-05 09:35:48 +01:00
Mateusz Jablonski
c3d3a4db1f refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-04 13:45:53 +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
1395a2cb38 Revert "refactor: linux cl_cache eviction mechanism"
This reverts commit a02ac1c140.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-11-28 08:51:36 +01:00
Fabian Zwolinski
a02ac1c140 refactor: linux cl_cache eviction mechanism
Refactored eviction mechanism works as follows:
- eviction is needed only if
total size of cache binaries + size of the new binary exceed cache limit
- single evition call removes files with a summed size of 1/3 of the cache limit
- if new binary can not fit in the cache size limit
even after eviction, it will not be saved
- cache limit applies only to
files in cache directory with .cl_cache/.l0_cache extension.
Only these files are counted and only these files are removed

Minor:
- rename variables for better readability
- add `const` where possible

Related-To: NEO-4262
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-11-27 18:20:41 +01:00
Compute-Runtime-Validation
a8d404f859 Revert "refactor: linux cl_cache eviction mechanism"
This reverts commit 2aa0ae0eca.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-11-18 01:13:12 +01:00
Fabian Zwolinski
2aa0ae0eca refactor: linux cl_cache eviction mechanism
Refactored eviction mechanism works as follows:
- eviction is needed only if
total size of cache binaries + size of the new binary exceed cache limit
- single evition call removes files with a summed size of 1/3 of the cache limit
- if new binary can not fit in the cache size limit
even after eviction, it will not be saved
- cache limit applies only to
files in cache directory with .cl_cache/.l0_cache extension.
Only these files are counted and only these files are removed

Minor:
- rename variables for better readability
- add `const` where possible

Related-To: NEO-4262
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-11-17 09:48:42 +01:00
Kamil Kopryk
73bb139e17 refactor: add applyExtraInternalOptions function
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-11-03 09:43:37 +01:00
Mateusz Jablonski
d76145ee65 refactor: correct printf formats
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-10 10:40:55 +02:00
Mateusz Jablonski
895a586083 refactor: use reference in for-range loops
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 18:56:53 +02:00
Mateusz Jablonski
5e4ea627f7 refactor: correct printf formats
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 18:14:20 +02:00
Fabian Zwolinski
d7d577ba48 feature: enable cl_cache by default on Windows
Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-10-03 16:57:10 +02:00
Fabian Zwolinski
1f1af5bb36 refactor: windows cl_cache eviction mechanism
Refactored eviction mechanism works as follows:
- eviction is needed only if
total size of cache binaries + size of the new binary exceed cache limit
- single evition call removes files with a summed size of 1/3 of the cache limit
- if new binary can not fit in the cache size limit
even after eviction, it will not be saved
- cache limit applies only to
files in cache directory with .cl_cache/.l0_cache extension.
Only these files are counted and only these files are removed

Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-10-03 16:20:28 +02:00