Commit Graph

150 Commits

Author SHA1 Message Date
Filip Hazubski
8d34f40aad Add clGetKernelSuggestedLocalWorkSizeINTEL
This function can be used to query local work size that would be used in
case of querying ND range kernel with local_work_size set to NULL.

Change-Id: I86ac7c97cffb6c3e11b673a28285739edfabb4a6
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-01-23 13:50:37 +01:00
Filip Hazubski
0b141ed4ea Add KernelExecutionType
Add possibility to set Kernel execution type via clSetKernelExecInfo.

Change-Id: I2de0bf4e067921440e34e14c6975f640d3f47162
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-01-22 14:40:36 +01:00
Mateusz Hoppe
2e95ef42ae Move thread_arbitration_policy.h to core
- extract QueueThrottle to core

Change-Id: I954732a44ae4fdd5f227ec6be4e27b879ca6eece
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-01-17 18:09:00 +01:00
Filip Hazubski
8fcff2241f Add ClDevice
Decouple cl_device_id from Device class.

Related-To: NEO-3938

Change-Id: I68543a753aea562f3b47ba0d23a059ff3cffa906
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-01-17 12:43:11 +01:00
Mateusz Hoppe
81e9591c31 Refactor ImageInfo 2/n
Change-Id: I5e6081a75b802cc98fd89e384d550a219353728b
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-01-10 14:20:31 +01:00
Katarzyna Cencelewska
a123cce3e8 Add return CL_INVALID_VALUE from clSetKernelExecInfo
if attempt to set invalid ThreadArbitrationPolicy

Change-Id: I8208f9b6761c4dafb6ef4cbde550314778ab505e
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2020-01-08 16:19:43 +01:00
Maciej Plewka
8803b4cd4e Move grf size to HwInfo
Change-Id: I65ee879644573586d63092b487f8b5ea0cedf1e3
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-12-17 17:27:21 +01:00
Mateusz Hoppe
f0a6f6b057 Move DebugSettingsManager to core
- pass registry path in constructor

Change-Id: I2a121da2c9483a0df088989feea490a638c63016
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-12-17 10:39:53 +01:00
Dunajski, Bartosz
a611e4b97d Fix Image patching
Change-Id: Ibd89ecf18b92ed20972352f2aa39121b4b811d81
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-12-16 17:41:20 +01:00
Mateusz Hoppe
5685b285f3 Extract logging logic from DebugSettingsManager
Change-Id: I0ccc68216c1c3bb23d0389bec17124e09e4f98e1
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-12-13 15:34:45 +01:00
Cencelewska
230d808021 Add mechanism to dynamically assign thread arbitration policy by one kernel
-use clSetKernelExecInfo with param
 CL_KERNEL_EXEC_INFO_THREAD_ARBITRATION_POLICY_INTEL
 to change default value of ThreadArbitrationPolicy

Change-Id: I15d0de0840ed14687c16ae04890b662bc157de76
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2019-12-11 09:30:33 +01:00
Dunajski, Bartosz
3eab5cfe35 Patch flat image params on setKernelArg
Change-Id: Iae0f37dfcd2ee14a3874835f2e444549d1769074
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-12-11 08:18:55 +01:00
Mateusz Jablonski
5fa53f4516 Move headers to core
- address_patch.h
- options.h
- registered_method_dispatcher.h
- grf_config.h

Rename OCL_RUNTIME_PROFILING -> KMD_PROFILING

Related-To: NEO-3982

Change-Id: I06cf72729e9d7d7d2ff0bd169fcbada00c4b509a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-12-10 12:19:29 +01:00
Filip Hazubski
82bc594af0 Add clEnqueueNDRangeKernelINTEL API
Related-To: NEO-2712

Change-Id: If1d16d9d626871a9dc4b19282f9edc5786ffa398
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-12-04 17:11:28 +01:00
Dunajski, Bartosz
dfc50f3a75 Move gmm_helper to core
Change-Id: I31ca317d10697ab884e04f443c8ccfdd6ca9d2ae
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-12-04 15:25:32 +01:00
Jaroslaw Chodor
355e8d3e5a [1/N] Program refactor - decouple from patchokens
Change-Id: I63bbf6c31a5db9e788124f22b6105e65c16c86d4
2019-11-25 19:46:21 +01:00
Igor Venevtsev
63fd26f6d6 Always specify rootDeviceIndex for graphics memory allocations
Related-To: NEO-2941

Change-Id: Ia2362fd6b4e72ede02919152475f40b3edbc3658
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2019-11-15 15:14:41 +01:00
Filip Hazubski
5f021afd6d Move HwHelper to core directory
Change-Id: I2c78a8b737ee8e61b917b4918da37e77bbd9fe34
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-11-15 14:06:40 +01:00
Filip Hazubski
db81e7247c Rename kernel_helpers.cpp to kernel_extra.cpp
Change-Id: I9f63b296433ea19d65d5204f7c1f2040238a3148
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-11-14 18:59:35 +01:00
Filip Hazubski
487c4c6e4b Add UNUSED_VARIABLE helper macro
Change-Id: If293ad33899ee4feb79424c351b13ea85306c603
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-11-14 17:42:56 +01:00
Kamil Kopryk
8bd641c418 Fix for stateless offsets
Change-Id: I32a252065bb667df9c92ff41601db0556b7d156b
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-3314
2019-11-14 15:06:58 +01:00
Filip Hazubski
4b2a8e99d8 Add clGetExecutionInfoIntel API
This API allows querying for execution related information.
CL_EXECUTION_INFO_MAX_WORKGROUP_COUNT_INTEL parameter allows to query for
maximal work group count that is possible to run concurrently on the device.

Related-To: NEO-2712

Change-Id: I4e6b4c80aeb06ff966fb543c0a7f05ed54416dab
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-11-13 12:09:40 +01:00
Michal Mrozek
fb409e87fc Do not detect pointers as buffers.
Change-Id: I43cf354ad7de9dd802759f7cf6fdb15bec679349
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2019-11-06 15:09:12 +01:00
Dunajski, Bartosz
3aeaaf6eb3 Disable Image transforms on gen12
Change-Id: I8a62b06d0ef6a5a75fac499158a45d8486bfdd2f
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-10-23 12:33:19 +02:00
Chodor, Jaroslaw
856e5c6aaf [1/N] compiler interface refactor
Decouple compiler interface from Program object

Change-Id: Ibd63c6eee01d85527318ccad52e52f5487d3402e
2019-10-16 16:17:13 +02:00
Gibala
2f9bfc7748 Remove OCL object from MemoryProperties 10/n
Add cl_mem_flags, cl_mem_flags_intel and wire it in mem_obj.
Refactor:
- validateMemoryPropertiesForImage
- validateExtraMemoryProperties

Related-To: NEO-3132
Change-Id: I90fac5fc00e24fc67346109a1fe6f269ef51e1e0
Signed-off-by: Gibala <krzysztof.gibala@intel.com>
2019-10-10 10:19:47 +02:00
Filip Hazubski
81cd28e0f4 Add Math::divideAndRoundUp helper function
Add usage of the function where applicable

Change-Id: I9c41ad37009d1f088fa1917d30525194a10d3061
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-10-09 13:25:39 +02:00
Daria Hinz
375681ae12 Move Preamble Helper to core
Change-Id: I7d1bf567a67dc93c10d396aeb48ad1179b5b8ecb
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2019-10-03 13:54:17 +02:00
Jobczyk, Lukasz
3bd4baeba3 Move a unified memory manager to the core dir
Related-To: NEO-3677

Change-Id: Ib60dea2bcaaf5feea97d61cb9f54baee4c6b4b64
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-27 10:46:35 +02:00
Dunajski, Bartosz
9d6dcd6fff Use Kernels maxKernelWorkGroupSize to compute WG size
Change-Id: I947b5612f36cd2437e1ead98712c914ffe4b5b15
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-09-17 08:39:05 +02:00
Dunajski, Bartosz
ca94628058 Refactor setting max workgroup size for Kernel
Change-Id: I2a489d60a3ec9ee363c10e3a5f12b6c7ba4e8dd8
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-2946
2019-09-16 19:44:56 +02:00
Jobczyk, Lukasz
523d2af942 Get a Memory Manager directly from an Execution Environment
Change-Id: I11fcdc08928405eed4efe3ead2f863fa30cf1427
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-10 10:35:30 +02:00
Jobczyk, Lukasz
882a216688 Move Debug helpers to the core dir
Related-To: NEO-3677

Change-Id: I2c98595190fadfa8ffd9e378e774c0d4485cbf9e
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-05 16:00:35 +02:00
Mrozek, Michal
15ba4b6788 Add function to check whether resolves are required
Change-Id: I0f81a4101b626ad7ddc17f19daabdf7a15c34467
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-09-05 13:25:24 +02:00
Jobczyk, Lukasz
76fe09c2a9 Handle page faults while accessing unified memory
Related-To: NEO-3330

Change-Id: I7e21f894e9d1c82598954c49342d1f65af07498f
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-04 13:28:53 +02:00
Mrozek, Michal
0666da693e Improve uncached flag.
- When resource is uncached for surface state and not used in stateless manner
then it doesn't need to flush cache
- Minor cleanup

Change-Id: I4cfe5a6fe3e666200407d9acdd89e6f64b2b3eed
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-30 12:17:27 +02:00
Mrozek, Michal
ae201a47d3 Improve uncached resources handling.
- Change kernel to properly detect true stateless resources
- do not turn of stateless l3 if arg is used in pure stateful manner
- refactor variable names to better reflect what they do
- improve mock kernel with internal to have setKernelArg capabilties

Change-Id: I2cdde04f2144d9b86dc1486126632db0fd7cad49
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-30 10:51:28 +02:00
Mrozek, Michal
33f6c7f0da Add new flag to disable L3 for stateful accesses.
- With this flag resource will not be cached in L3 for stateful accesses.

Change-Id: Icf9a393ab92d55c2cdf30444420ea40da0d5630c
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-29 23:38:26 -07:00
Mrozek, Michal
9a67b2d784 Add flag to kernel that specifies whether stateless writes are used.
- currently no compiler support yet, hence it returns true.
- minor cleanup of kernel tests.

Change-Id: Ic153810b1a6062d0bae22d6faab5db601764dd98
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-08-23 11:56:04 +02:00
Dunajski, Bartosz
1518774fe6 Use stateful args programming for aux translation kernels.
Set valid mocs values

Change-Id: I8de2bbdd72b102a1623b9e397485ef52ecca8306
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-08-14 14:52:46 +02:00
Pawel Wilma
d35c20f430 Collect patch info for scratch/global/constant/private
Related-To: NEO-3342

Change-Id: I0b594219cedf5d13d1eb70514816e8048938772e
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-08-14 13:52:28 +02:00
Jim Snow
4360aff03c Move runtime/helpers/aligned_memory.h to core/helpers
Signed-off-by: Jim Snow <jim.m.snow@intel.com>
Change-Id: I15de094c51d4eb18bfff4d17fd34e817b5525fda
2019-08-06 23:56:24 +02:00
Mrozek, Michal
f0d3b47886 Turn on caching if buffers are set as constant args.
- If resources is constant arg it means it will only be read
- Therefore even for read_write buffer we may turn on caching.

Change-Id: Id2c34d4993111bf5c6523a1946464c397db95686
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-07-31 14:56:56 +02:00
Piotr Fusik
2548bea71d Minor clean-up.
Change-Id: Id1523930fc8aedf85506e254c67f6b1ca8dd020d
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-07-30 11:53:20 +02:00
Piotr Fusik
dcd8728519 Use range-based for.
Change-Id: I758f6d5fcbf75baae454dedc9467532bc0b8c9d5
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-07-30 07:57:43 +02:00
Piotr Fusik
a141911e19 Correct misspelled identifiers.
Change-Id: Ifa629c0d6bb1b04b5cfde908f2672ef1843043f0
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-07-17 17:45:52 +02:00
Mrozek, Michal
0440b86d05 Rename SVM Memory Manager to Unified Memory Manager.
Change-Id: I1d7637a5aaca3ef5190c4f6303c81060f95744a9
2019-07-12 11:22:09 +02:00
Chodor, Jaroslaw
ce061a48ef Support for symbol/relocation tables
Change-Id: I87890f6dc36a3454ffdcab1fb9d070fdaf91e689
2019-07-10 16:51:43 +02:00
Milczarek, Slawomir
6b77f94275 Extended DRM memory manager with function to copy memory to allocation
Related-To: NEO-2687

Change-Id: I2cd20c1d59dc0c28609fca7a11a5d805e2f21de4
2019-07-10 11:02:21 +02:00
Mateusz Jablonski
223b998d92 Handle PATCH_TOKEN_MEDIA_VFE_STATE_SLOT1 patch token
Related-To: NEO-3190

Change-Id: I3e357f7e21a58e5bd2aa8cb8005b720c690664f2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-06-28 01:48:50 +02:00