Commit Graph

65 Commits

Author SHA1 Message Date
Kamil Kopryk 3c6e7e12be refactor: Remove global CompilerProductHelper gettter 2/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-23 17:04:27 +01:00
Kacper Nowak d2a2656caa fix(zebin): Enforce fallback to CTNI on TGL/ICL for nGEN dummy kernel
For TGL and ICL platforms - if on clCreateProgramWithSource()
call we detect a nGen dummy kernel usage - enforce fallback to the
patchtokens format (only for this kernel).
- corrected naming
- minor ULTs refactor (less dependencies).
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-01-13 14:36:56 +01:00
Warchulski, Jaroslaw 0eac749fcc Cleanup includes 19
Cleaned up files:
opencl/source/api/cl_types.h
shared/source/compiler_interface/external_functions.h
shared/source/compiler_interface/linker.h
shared/source/device_binary_format/elf/elf.h
shared/source/helpers/preamble.h
shared/source/memory_manager/definitions/storage_info.h
shared/source/memory_manager/memory_manager.h
shared/source/memory_manager/os_agnostic_memory_manager.h
shared/source/program/program_info.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-03 11:02:05 +01:00
Warchulski, Jaroslaw a2fe929f0c Cleanup includes 18
Cleaned up files:
shared/source/command_stream/command_stream_receiver_hw.h
shared/source/compiler_interface/compiler_interface.h
shared/source/direct_submission/direct_submission_hw.h
shared/source/helpers/dirty_state_helpers.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-02 13:28:29 +01:00
Kamil Kopryk a97a2839aa fix(zebin): disable zebin when vme extension is enabled in source code
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-29 12:09:46 +01:00
Kopryk, Kamil ceda3f65c2 fix(zebin): pass disable zebin internal option when building vme program
Signed-off-by: Kopryk, Kamil <kamil.kopryk@intel.com>
2022-12-23 09:50:27 +01:00
Dunajski, Bartosz 5266a95c03 Debug flag to control auto grf mode
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-10 19:25:58 +01:00
Dunajski, Bartosz b2001bf265 L0: GRF mode debug flags support
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-09-22 15:27:31 +02:00
Krystian Chmielewski 6b3ac9f1e2 refactor ocl patchtokens tests
Related-To: NEO-7131

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-19 17:46:02 +02:00
Dunajski, Bartosz 16d9000429 Add option to change GRF mode
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-09-06 13:00:17 +02:00
Kacper Nowak 83b84b3491 Enahnce kernel debug ULTs
Mock ProgramWithKernelDebugging ULTs.
This change is neccessary to ensure independence from binary format
after incoming switching to zebinary format.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-6646
2022-06-01 17:33:13 +02:00
Kamil Kopryk 99db73c034 Add debug flag to fail build program with stateful access
I've added debug flag FailBuildProgramWithStatefulAccess which makes
possible to fail build program/module creation
with stateful access(except builtins) on
pvc and later platforms.

Related-To: NEO-6075
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-05-17 11:01:05 +02:00
Krystian Chmielewski 01a719cf33 Allow for zebin rebuild when IR is present
This commits adds rebuilding zebin binary.
If zebin is built for different device and has SPIRV, then new ze binary
will be built using SPIRV.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-04-12 08:05:25 +02:00
Compute-Runtime-Validation 64d3f95410 Revert "Allow for zebin rebuild when IR is present"
This reverts commit 2ae3f3e521.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-04-06 23:17:22 +02:00
Krystian Chmielewski 2ae3f3e521 Allow for zebin rebuild when IR is present
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-04-05 10:25:06 +02:00
Kacper Nowak b62675290f Refactor source level debugger notification in OCL. [2/2]
Refactor source level debugger notification about debug data in OCL
(build/link path).
- Share common code
- Remove unnecessary function(s)
- Zebin-related ULTs refactor

Related-To: NEO-6644
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-02-17 21:40:05 +01:00
Compute-Runtime-Validation c5c3e865f0 Revert "Fail build program on PVC with stateful accesses"
This reverts commit 9466113cef.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-02-14 18:55:14 +01:00
Kamil Kopryk 9466113cef Fail build program on PVC with stateful accesses
Related-To: NEO-6075

After this change driver will fail clBuildProgram/zeModuleCreate api calls
whenever stateful access is discovered on PVC.
This is required since in this case allocation greater than 4GB
will not work.
If user still wants to use stateful addressing mode,
-cl-opt-smaller-than-4GB-buffers-only / -ze-opt-smaller-than-4GB-buffers-only
build option should be passed as build option, but then user can not use
bufers greater than 4GB.


Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-02-14 13:44:22 +01:00
Kacper Nowak 741ee49c9a Refactor source level debugger notification in OCL. [1/n]
Refactor source level debugger notification in OCL path - in build()
cl_program method. It fixes confusing debug data creation (mixed
legacy/zebin path) and thus incorrect kernel notification about debug
data.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-6644
2022-02-10 17:47:05 +01:00
Kacper Nowak 306775f7f1 Refactor debugData and debugDataSize in OCL.
This commits moves debugData and debugDataSize to buildInfos vector (per
root device).
- debug data is now stored per device instead of per cl_program
- added creation of debug data (incl. debug zebin) and its returning in
clGetProgramInfo (CL_PROGRAM_DEBUG_INFO_INTEL).

Related-To: NEO-6463

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-01-28 14:03:21 +01:00
Katarzyna Cencelewska 97765cd39f Remove device enqueue part 7
- mainly remove BlockKernelManager and ReflectionSurfaceHelper

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-19 10:41:57 +01:00
Kacper Nowak fc224202d6 Create debug zebin in OCL
This commit adds debug zebin creation in OCL.
- Added returning debug zebin in build/linking paths in OCL if
corresponding device binary format was detected.
- Refactored getZebinSegments() method - added common ctor for both
L0/OCL paths

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-01-17 14:27:23 +01:00
Kamil Kopryk 0a4554ab23 Simplify internal options initialization
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6075
2022-01-13 11:03:04 +01:00
Patryk Wrobel 3599e7aeda Add warning when device binary had to be recompiled
Introduced a new warning, which is printed to build log, when the
binary needs to be recompiled. Added a new flag -Wno-recompiled-from-ir
to allow suppression of that message. Removed a bug related to memcpy_s
from ModuleBuildLogImp::getString() and aligned it with specification.

Related-To: NEO-5819
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2021-12-23 16:13:59 +01:00
Compute-Runtime-Validation b7cee61bde Revert "Fail build program in shared system USM + stateful access case"
This reverts commit 0ad8afc0b3.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-12-07 01:00:59 +01:00
Kamil Kopryk 0ad8afc0b3 Fail build program in shared system USM + stateful access case
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6075

After this change driver will fail clBuildProgram/zeModuleCreate api calls
whenever stateful access is discovered and device has shared system usm caps
enabled.This is required since in this case allocation greater than 4GB
will not work.
If user still wants to use stateful addressing mode,
-cl-opt-smaller-than-4GB-buffers-only / -ze-opt-smaller-than-4GB-buffers-only
build option should be passed as build option, but then user can not use
buffers greater than 4GB.
2021-12-06 15:10:16 +01:00
Mateusz Hoppe b11d7cd7b0 Add debug key for compiler internal options injection
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-11-23 15:41:11 +01:00
Compute-Runtime-Validation faea7915c2 Revert "Fail build program in shared system USM + statefull access case OCL"
This reverts commit 9dabc2db0c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-11-05 20:31:47 +01:00
Kamil Kopryk 9dabc2db0c Fail build program in shared system USM + statefull access case OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6075
2021-11-05 14:55:05 +01: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
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
Artur Harasimiuk a63b9b1273 move common files to shared/
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-09-27 11:10:20 +02:00
Maciej Plewka b663fe775c Process debug data for gtpin part 2
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-06-16 11:45:07 +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 ffc310858a Add DebugVariable to control opt-disable when debugger is used
Resolves: NEO-5760

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-04-19 16:41:14 +02:00
Mateusz Hoppe 4191dfdb43 Prepend -s option when -cmc is not used
Related-To: NEO-5582

- "-s filename" is added to build options
based on filename returned from debugger
- when "-cmc" is passed as first option, do not
modify user options.

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-03-01 18:17:25 +01:00
Filip Hazubski c83087ea72 Correct generating extensions list for compiler in Program
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-12-03 18:58:19 +01:00
Mateusz Jablonski 2ee1d569c5 Store KernelInfo per root device in Program
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-01 11:38:23 +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
Mateusz Jablonski 61d61e8b1c Remove Program::pDevice
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-10 11:25:41 +01:00
Mateusz Jablonski 0aec0bdde4 Store program binary type per device
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-04 15:01:11 +01:00
Mateusz Jablonski e39af42137 Allow sub devices to reuse build status from root device
create DeviceBuildInfo struct for per-device info in program

Related-To: NEO-5001
Change-Id: I4048f3dd34240a4f937cc4a05935cba4f40a1872
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-03 14:44:47 +01:00
Mateusz Jablonski 21aa8388bc Correct program binary type when building program
Related-To: NEO-5001
Change-Id: Ib2915e85ab5dfaf6de146710709c7cd062c88b39
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-03 10:30:50 +01:00
Mateusz Jablonski 75d1ebb811 Use all devices when building program
remove Program::internalOptions
internal options are calculated separately in compile, link and build methods

Related-To: NEO-5001
Change-Id: I85ea2d64c72edb9b0e3f23244b59b9af20e2d357
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-11-02 19:37:55 +01:00
Mateusz Jablonski 4be05409a3 Handle program's callbacks on API level
Related-To: NEO-5001
Change-Id: Ic73601f874a972c9c3fe6cc1a04edd5d7915f16e
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-29 11:28:02 +01:00
Mateusz Jablonski 62709a6ddc Store build status per cl device in program
Related-To: NEO-5001
Change-Id: I7d9521cb45324d89ec11f39f8b857cf1554340eb
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-27 12:00:42 +01:00
Krystian Chmielewski 9f08a60a20 KernelInfo Refactor
Using kernelDescriptor.kernelMetadata.kernelName instead of
kernelInfo.name

Change-Id: I11f5721d8072a3beccb573cec4bea56cf14cf0f9
2020-10-20 13:18:09 +02:00
Mateusz Jablonski fc090f74c6 Store device binary per root device in program
Related-To: NEO-5001
Change-Id: I9834f6894625031c734c68ebf210e6042c470ec7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-08 19:05:04 +02:00
Jaroslaw Chodor 63fe52b6e0 Reuse old build options only for native binary
Change-Id: I484616a22c85f8a321e51002b7f9d0c990ee7b5a
2020-10-05 21:06:34 +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