Commit Graph

386 Commits

Author SHA1 Message Date
Kacper Nowak 43321dd463 fix: Remove unneeded cast from clLinkProgram API call
Related-To: NEO-8330
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-09-01 15:36:51 +02:00
Dunajski, Bartosz 874f47a916 refactor: update struct names
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-08-22 09:13:59 +02:00
Dunajski, Bartosz 59233d9597 performance: skip queue state check when waiting for latest IOQ TSP
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-08-18 08:17:11 +02:00
Andrzej Koska 0a3b135673 fix: Taking into account variable ReturnSubDevicesAsApiDevices
Taking into account variable ReturnSubDevicesAsApiDevices
during Retain and Release Device

Related-To: NEO-8161

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2023-08-16 16:14:42 +02:00
Compute-Runtime-Validation 65df34bbc7 Revert "refactor: Unify GTPin initialization logic between APIs"
This reverts commit 68a5108e05.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-07 04:31:52 +02:00
Kacper Nowak 68a5108e05 refactor: Unify GTPin initialization logic between APIs
Add support for new GTPin loading logic in OCL path, similar to existing
in L0 - invoking exposed, dedicated API call (OpenGTPinOCL).
- Move logic to shared, including unit tests
- Check whether instrumentation is required on
  clGetPlatformIDs API call, and if yes,
  make a call to OpenGTPinOCL function.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-08-05 18:22:08 +02:00
Filip Hazubski 12af65a970 fix: Change default value of EnableCpuCacheForResources debug toggle
This change disables CPU caching for resources
not accessed by CPU for MTL devices.

Related-To: NEO-7194

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-07-31 09:15:43 +02:00
Dunajski, Bartosz 6656e23b86 refactor: unify completion check methods
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-25 14:17:52 +02:00
Compute-Runtime-Validation 8c155a2e89 Revert "performance: Memory handling improvements"
This reverts commit 5b80bd4d7c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-20 11:37:09 +02:00
Neil R Spruit 8efd8853fb feature: L0 Device Hierarchy support for Composite & Flat modes
Related-To: LOCI-4615

- Added Support for users to set ZE_FLAT_DEVICE_HIERARCHY to either FLAT
or COMPOSITE to change how devices are returned in zeDeviceGet and
clGetDeviceIDs.
- COMPOSITE is default behavior that exists today.
- FLAT returns all sub devices which have no sub devices and all root
devices that have no sub devices in zeDeviceGet ie with all devices
flattened out in order.
- Added zeDeviceGetRootDevice for one to retrieve the Root Device for
any SubDevice.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-07-20 01:00:54 +02:00
Filip Hazubski 5b80bd4d7c performance: Memory handling improvements
By default prefer allocating memory first by KMD, instead of malloc first.

By default prefer not caching allocations on MTL devices. This results
in allocations being handled with non-coherent pat index.

For integrated devices when caching is not preferred do not allow
direct memory access in CPU domain. For map/unmap operations create
a dedicated memory allocation for CPU access, instead of accessing it
directly, reusing the same logic as when mapping/unmapping local memory.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-07-19 19:21:44 +02:00
Dunajski, Bartosz 815b37bf3a performance: allow waiting for OOQ timestamps in clEnqueueWaitForEvents
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-14 11:33:10 +02:00
Dunajski, Bartosz 712e059ace performance: check completion alloc only once when waiting for Event
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-14 08:32:50 +02:00
Kacper Nowak 1fc435e529 fix(ocl): Remove unneeded cast from ClCreateContextFromType API call
Remove not needed c-style cl_context handle casting on
clCreateContextFromType API call. This bug is currently also visible
when using OCL tracing API.
Related-To: NEO-8011
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-06-19 14:07:40 +02:00
Kamil Kopryk 6a0f7afd64 feature: verify stateful information only when binary is generated by IGC
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Related-To: NEO-6075

Ngen binaries contain stateful information, however they are
not used in isa on Pvc. Therefore, we can just ignore them.
2023-06-12 11:45:41 +02:00
Warchulski, Jaroslaw e72a607c31 fix: propagate error from makeResident to API call
Related-To: NEO-6766
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-05-30 16:13:38 +02:00
Fabian Zwolinski cbce863dc2 refactor: Rename member variables to camelCase 3/n
Additionally enable clang-tidy check for member variables

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-28 16:01:14 +02:00
Warchulski, Jaroslaw bbf23df6eb feature: add new API functions for external memory sharing
Related-To: NEO-6757
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-04-28 11:43:19 +02:00
Fabian Zwolinski e351a90f81 refactor: Rename member variables to camelCase 2/n
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-27 20:39:22 +02:00
Fabian Zwolinski c441e9e971 refactor: Rename member variables to camelCase
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-26 16:05:07 +02:00
Fabian Zwolinski 2022592f3d Apply CamelCase for class and struct names 2/2
Additionally change .clang-tidy not to ignore struct names.

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-25 13:10:23 +02:00
Fabian Zwolinski e2e00413a8 Apply CamelCase for class and struct names
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-24 15:36:27 +02:00
Fabian Zwolinski 1ddfc9af39 Change class name to CamelCase
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-20 14:28:58 +02:00
Fabian Zwolinski b909b03b02 Rename OpenCL Platform Name
- Rename "Intel(R) OpenCL HD Graphics" -> "Intel(R) OpenCL Graphics"
- Add and implement new DebugVariable - OverridePlatformName - for
overriding Platform Name in OpenCL

Related-To: NEO-7826
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-17 11:09:32 +02:00
Maciej Plewka 730578112f Report cl_khr_integer_dot_product extension
Related-To: NEO-6206

With this commit OpenCL will report cl_khr_integer_dot_product extension
in version 2. With all properties enabled.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-04-14 14:46:18 +02:00
Konstanty Misiak 1f37e69fd2 Refactor of IO functions
Related-To: NEO-4562

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2023-04-13 10:46:47 +02:00
Kacper Nowak 7be2ac84d3 Refactor(ocl): refactor OCL Kernel and MultiDeviceKernel class 1/n
- For static create() method for Kernel and MultiDeviceKernel force errcodeRet
parameter to be passed via reference (instead of a pointer)
- Move part of kernel's creation logic to initialize() method

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-04-11 11:43:26 +02:00
Kacper Nowak 3459f3a7f6 fix(OCL): Propagate error on kernel creation to API call
On clCreateKernelsInProgram API call, we do not propagate potential
error from MultiDeviceKernel::create function. User would not know that
i.e. out of 4 kernels, only 3 were created succesfully.
- Propagate error returned from MultiDeviceKernel::create function to
API call
- In case of a failure on kernel creation, release all resources for the
already created ones and return empty array (nullptrs).

Related-To: NEO-7879
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-04-06 15:12:41 +02:00
Compute-Runtime-Validation 6357ab73ea Revert "Report cl_khr_integer_dot_product extension"
This reverts commit 31983ec043.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-06 14:38:45 +02:00
Maciej Plewka 31983ec043 Report cl_khr_integer_dot_product extension
Related-To: NEO-6206

With this commir OpenCL will report cl_khr_integer_dot_product extension
in version 2. With all properties enabled.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-04-05 20:28:00 +02:00
Compute-Runtime-Validation c927c46495 Revert "Report cl_khr_integer_dot_product extension"
This reverts commit dbd9b19b35.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-05 04:16:29 +02:00
Maciej Plewka dbd9b19b35 Report cl_khr_integer_dot_product extension
Releated-to: NEO-6206

With this commir OpenCL will report cl_khr_integer_dot_product extension
in version 2. With all properties enabled.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-04-04 11:15:38 +02:00
Mateusz Jablonski 4919c7c9fb feature: add experimental support for cl-gl sharing on Linux
based on 'clgl-fork' branch from https://github.com/kallaballa/compute-runtime

EGL headers taken from https://github.com/KhronosGroup/EGL-Registry
revision: 57b4876de0f33677ece92dd9de0ef105ce69139d

Related-To: NEO-3599

Fixes https://github.com/intel/compute-runtime/issues/166

Co-authored-by: Jacek Danecki <jacek.danecki@intel.com>
Co-authored-by: Amir Hassan <amir@viel-zu.org>

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-20 12:49:52 +01:00
Compute-Runtime-Validation e118e35290 Revert "feature: add experimental support for cl-gl sharing on Linux"
This reverts commit 9b35ba5e50.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-19 07:54:11 +01:00
Fabian Zwolinski 65c73a690f Introduce Online, Offline, Disabled DebuggingModes
This change allows to set DebuggingMode via
ZET_ENABLE_PROGRAM_DEBUGGING env var
0: Disabled
1: Online
2: Offline

Related-To: NEO-7630
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-03-17 09:31:17 +01:00
Mateusz Jablonski 9b35ba5e50 feature: add experimental support for cl-gl sharing on Linux
based on 'clgl-fork' branch from https://github.com/kallaballa/compute-runtime

EGL headers taken from https://github.com/KhronosGroup/EGL-Registry
revision: 57b4876de0f33677ece92dd9de0ef105ce69139d

Related-To: NEO-3599

Fixes https://github.com/intel/compute-runtime/issues/166

Co-authored-by: Jacek Danecki <jacek.danecki@intel.com>
Co-authored-by: Amir Hassan <amir@viel-zu.org>

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-17 08:58:29 +01:00
Filip Hazubski a23230ebcf refactor: Remove tiledImagesSupported value
The value is redundant and capabilityTable.supportsImages
can be used instead.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-03-15 15:48:30 +01:00
Jaime Arteaga 55952d33df feature: Enable use KMD calls in prefetch APIs
If applications call Prefetch APIs, like
zeCommandListAppendMemoryPrefetch and
clEnqueueMigrateMemINTEL, then enable the use of KMD calls
by default.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-03-07 16:31:50 +01:00
Fabian Zwolinski 6c59953072 Add FP64 emulation support for ATS-M
This patch adds FP64 emulation support for ATS-M.
Introducing new environment variable - NEO_FP64_EMULATION - which provides
an option to allow the opt-in emulation of FP64.
When emulation is enabled, we pass -cl-fp64-gen-emu (ocl) /
-ze-fp64-gen-emu (L0) as an internal option to IGC.

Related-To: NEO-7611
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-03-07 14:21:01 +01:00
Dunajski, Bartosz 72ada8b41f Add missing pollForCompletion on clEnqueueVerifyMemoryINTEL
Related-To: NEO-7618

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-03 10:55:33 +01:00
Warchulski, Jaroslaw b485c025d0 Cleanup includes 57
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-17 11:19:59 +01:00
Warchulski, Jaroslaw 0556d543a3 Cleanup includes 56
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-16 14:42:44 +01:00
Kamil Kopryk 3072b8f4d2 Add failBuildProgramWithStatefulAccessPreference helper
Related-To: NEO-7698
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-16 11:57:33 +01:00
Pawel Cieslak 31d68c42e6 fix mismatched-new-delete when using unique_ptr
Related-To: NEO-6511
Signed-off-by: Pawel Cieslak <pawel.cieslak@intel.com>
2023-02-14 08:07:13 +01:00
Warchulski, Jaroslaw d1b2311207 Cleanup includes 49
Cleaned up files:
opencl/source/command_queue/command_queue_hw.h
opencl/source/gtpin/gtpin_defs.h
opencl/source/mem_obj/mem_obj_helper.h
opencl/source/memory_manager/mem_obj_surface.h
opencl/source/sharings/unified/unified_sharing.h
opencl/test/unit_test/api/cl_enqueue_migrate_mem_objects_tests.inl
opencl/test/unit_test/aub_tests/fixtures/unified_memory_fixture.h
opencl/test/unit_test/command_queue/command_queue_fixture.h

Related-To: NEO-5548

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-10 17:26:49 +01:00
Kamil Kopryk 2484c7ceb2 refactor: rename hw_helper files to gfx_core_helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-01 19:37:51 +01:00
Warchulski, Jaroslaw fe8a6d98ad Cleanup includes 45
Cleaned up files:
opencl/source/api/api.h
shared/source/command_stream/csr_deps.h
shared/source/helpers/engine_node_helper.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-26 11:12:15 +01:00
Warchulski, Jaroslaw 439aa6c87f Cleanup includes 43
Cleaned up files:
level_zero/core/test/unit_tests/mocks/mock_kernel.h
opencl/source/mem_obj/mem_obj.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-25 11:33:39 +01:00
Kamil Kopryk 0499a72451 refactor: rename cl_gfx_core_helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-24 11:16:03 +01:00
Warchulski, Jaroslaw 8cc4cc1612 Cleanup includes 38
Cleaned up files:
opencl/source/cl_device/cl_device.h
opencl/source/command_queue/command_queue.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-20 14:55:17 +01:00