Commit Graph

112 Commits

Author SHA1 Message Date
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 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
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
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
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
Dunajski, Bartosz bb6dfd4fe6 Add debug flag to disable aux translation
Change-Id: I1f3a2941de44e9fe793ef3f1c6425c80293cc63a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-25 12:03:52 +02:00
Mateusz Jablonski 7a3b2e583b Use GPU pointer when programming constant/global surfaces
Related-To: NEO-3127

Change-Id: I29fd5e3f3f370c21a20f403f66c0a3604be884fd
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-06-21 14:20:22 +02:00
Mrozek, Michal 3a75c4fb71 [7/n] Unified Shared Memory.
- Add basic allocation support for shared allocations
- Add kernel support for shared allocations.

Related-To: NEO-3148

Change-Id: Ie0523acc3a444eef6a5aeb6a56a041280df6a02e
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-18 09:17:16 +02:00
Mrozek, Michal e279804c0c [6/n] Unified Shared Memory
- Move definitions to core folder.
- Add tests for core related code.

Change-Id: I9ae0473f965ba56cbe2f5458160b8a24d06595ae
Related-To: NEO-3148
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-18 07:18:18 +02:00
Mrozek, Michal 2e8e625024 [5/n] Unified Shared Memory
- Add kernel support for host um allocations
- During make resident call choose only appropriate resources for residency
- change resource types to binary bit friendly values
- enhance memory manager to only make resident compatible types

Related-To: NEO-3148

Change-Id: Ic711a4425a0d8db151a335e0357440312dc09b7e
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-17 15:47:30 +02:00
Mrozek, Michal a5c4956bbd [3/n] Unified Shared Memory
- Add vector of UM allocations to kernel that will be accessed indirectly
- Wire in support to clSetKernelExecInfo

Change-Id: I5858f2a93ab957597f3131022daee3741c3453ab
Related-To: NEO-3148
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-14 15:05:39 +02:00
Mrozek, Michal be48b56732 Kernel refactor.
- Change function names to indicate they work on SVM allocations.
- Remove one function used only in tests.

Change-Id: I9b18d9fee3d4f2a46a7f458ca73d39b3863ce6d3
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-14 10:27:21 +02:00
Mrozek, Michal 8e969684f1 [2/n] Unified Shared Memory
- Add kernel flags specifying indirect usage of device allocations.
- make device usm allocation resident when kernel requires this

Related-To: NEO-3148

Change-Id: I689347a0ea9b0f84c83f7883ca2381be63c61af9
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-14 09:56:40 +02:00
Jaime Arteaga b98b51b0d9 Move ptr.h to core folder
Change-Id: Icf0db7c767b2b1ea44fccc02b135f0f6c1f78c8f
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2019-05-29 00:11:34 -07:00
Katarzyna Cencelewska 9217b80b42 Change order of if in kernel initialize
Change-Id: I585addeaa5bc32a869a1b433bf80a918a79269a9
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2019-05-16 22:32:18 +02:00
Mateusz Jablonski b8fb5e683b Move basic_math.h and vec.h to core directory
Change-Id: I143b7af450ff48d4958b4bc7137b393a2dc0eb64
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-05-14 21:32:55 +02:00
Dunajski, Bartosz 0f87e9aa1a Rename HardwareInfo members
Change-Id: I85f56b677bafdd75dd958b488522393fc18b68af
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-09 09:13:55 +02:00
Dunajski, Bartosz bb80d327c7 Move HardwareInfo ownership to ExecutionEnvironment [1/n]
Change-Id: I5e5b4cc45947a8841282c7d431fb69d9c397a2d4
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-08 16:11:01 +02:00
Jobczyk, Lukasz 27c52714bb Add performance hints when kernel's argument requires aux translation
Resolves: NEO-2931

Change-Id: I3756265d0d8a774805b0b35088b7477b09b5a7bf
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-04-29 15:55:42 +02:00
Mrozek, Michal 22c2c9b02c Change the size of aux translation transfer.
Change-Id: I9b34babf26eee217c203d0c09d819765a45a9506
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-04-20 15:45:07 +02:00
Mateusz Jablonski 74ae06b131 Add new allocation type for internal allocations in system memory
Related-To: NEO-2733

Change-Id: I256d414c1e92647469dd2a80f83bdbfc8721cf43
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-17 11:20:50 +02:00
Filip Hazubski b2e16b7897 Update allocationForCacheFlush method
Related-To: NEO-2535

Change-Id: Ia24556814188263e2ebb54b6419feddd5d8ed707
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-04-03 18:07:13 +02:00
Maciej Plewka 9e52684f5b Change namespace from OCLRT to NEO
Change-Id: If965c79d70392db26597aea4c2f3b7ae2820fe96
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-03-26 15:48:19 +01:00
Mrozek, Michal c269e97163 Add query for kernel ISA GPU address.
Change-Id: I70974b4f73b82461eb854e4b8b400887b9977f15
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-03-26 12:54:32 +01:00
Maciej Dziuban cd62be59e1 Add allBufferArgsStateful field to Kernel
Change-Id: I885ede725830964374421eff621cf01cecc4b17e
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-03-21 14:24:36 +01:00
Mateusz Jablonski c0325b5d19 Don't copy memory to allocation if allocation has no storage
Change-Id: I3238bec02e5c1ec5877537318bb563e3d0f3799d
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-12 09:44:17 +01:00