Commit Graph

237 Commits

Author SHA1 Message Date
dd0d81672b [4/n] Unified Shared Memory
- Add allocation logic for host allocation.

Change-Id: Ic250b2165a050bbff7dea1b33b904d6d66cf8113
Related-To: NEO-3148
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-17 12:40:37 +02:00
5956164451 AubManager to call freeMemory upon cleaning osHandles of host ptr storage
Related-To: NEO-3231

Change-Id: I028a5985f1bdffebd673f4b5fead1a314d773b6d
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-06-14 10:30:56 +02:00
329d940285 Add multiStorageResource flag to AllocationProperties
Related-To: NEO-3242

Change-Id: If31adaead389acd3bef6af1931b91396c43b305e
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-06-14 06:59:28 +02:00
ff4e668440 Adding GraphicsAllocation::getUsedPageSize()
Change-Id: I1e8ebe7d24d0c647e0ce3bc73e662e427acc4212
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-06-13 15:44:10 +02:00
4188f6dce8 [1/n] Unified Shared Memory
- Add Internal Allocation type to differentiate SVM allocs from UM allocs.
- Add API to make internal allocations resident.
- Add API to allocate UM.

Related-To: NEO-3148

Change-Id: I9787891c5a0ffccac45c43bc5fde4ea50f37d703
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-13 14:48:02 +02:00
145f5b20e9 Require cpu access for constant surface
Related-To: NEO-3234

Change-Id: Ie0ccd3d3fc144400e63123d6c27b228bb7207f33
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-06-13 14:32:49 +02:00
b86d8f060b Do not force system memory for constant surface
Related-To: NEO-3234
Change-Id: I1c78d15840e1071e4d7451f85e2e76ba7bff2ee5
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2019-06-13 08:40:33 +02:00
70f92cf03c Rename KernelCommandsHelper to HardwareCommandsHelper
Change-Id: I0b92a2d74bc96658274e4a02fec0f322e87681b2
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-06-12 13:45:12 +02:00
007982b51f Add the supportsMultiStorageResources flag
Related-To: NEO-3182

Change-Id: I618b734b37c5fb983be55b50d89a965eaedc78fe
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-06-10 17:57:49 +02:00
5244030e31 Call ioctl to obtain file handle from prime bo
Related-To: NEO-3252

Change-Id: I8d976ae29875db83dd75802e0309cb4438d1332b
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-10 09:06:59 +02:00
987264bdb4 Removing checkedFragments parameter
Change-Id: I2396cc133fbe6737176498c2c81fc1f856cee510
Related-To: NEO-3172
Signed-off-by: Koska, Andrzej <andrzej.koska@intel.com>
2019-06-04 12:07:22 +02:00
14b8bbb3aa Add capability to query internal handle from cl_mem.
Related-To: NEO-3252

Change-Id: I935c308dfa3f77c6d965df7316fe3fb4c21b112a
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-06-03 13:40:08 +02:00
c5d4fa93f9 Fix typos.
Change-Id: Ic97b7a3ff980aa402a7259ebeccda96e2e35a397
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-05-30 09:58:11 +02:00
17f9cc006d OsAgnosticMemoryManager to call freeMemory on AubManager
Resolves: NEO-3231

Change-Id: I89a3cc9f2a63931c6c87ec70bbedc19716a885c1
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-05-29 18:09:49 +02:00
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
edb78834cb Move allocateGraphicsMemoryInDevicePool to Os Agnostic memory manager.
Change-Id: Ica179986f401b99e61c3485d549790489cbb1fd5
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-05-25 02:12:16 +02:00
b64210d3db Add local memory usage selector in memory manager
Related-To: NEO-2906

Change-Id: I3172e9551b8d06437c273b122dc6e9d529155b5c
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-05-23 11:05:36 +02:00
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
501bc88368 Do not run SVMMemoryAllocator tests if SVM not supported
Skip tests:
- SVMMemoryAllocatorTest
- SVMLocalMemoryAllocatorTest

Related-To: NEO-3157

Change-Id: I3f14f71ec3cccaa1925423527cd6bc7ab018f8c5
Signed-off-by: Hoppe, Mateusz <mateusz.hoppe@intel.com>
2019-05-14 12:52:21 +02:00
97245a2ca6 Refactor MemoryManager::allocateGraphicsMemoryInDevicePool
- create MemoryAllocation for OsAgnosticMemoryManager so that
freeGraphicsMemory is freeing correct object type
- other memory managers do not go this path

Change-Id: If2ada9b77bb4a41d09f82b79502594e0eda9f11b
Signed-off-by: Hoppe, Mateusz <mateusz.hoppe@intel.com>
2019-05-10 13:14:08 +02:00
0f87e9aa1a Rename HardwareInfo members
Change-Id: I85f56b677bafdd75dd958b488522393fc18b68af
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-05-09 09:13:55 +02:00
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
cadc461712 Create storage info while getting allocation data
Related-To: NEO-3127

Change-Id: I716a1d5624cf34d74bafd8c9ab3f5cc5ded43275
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-05-07 14:17:34 +02:00
92584d8c64 Minor cleanup.
Change-Id: I0f345c4fbf49f6464dce7bafd8b8d59347ff2d77
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-04-26 14:34:58 +02:00
fae1d882f8 Add SvmAllocationProperties
Change-Id: Ie96aeab5597a1b3f2db8611a8a04597516730ce8
Related-To: NEO-2535
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-04-23 10:30:04 +02:00
f77cd94cd5 [1/n] Use GfxPartition for 32-bit allocations - WddmMemoryManager
Related-To: NEO-2877

Change-Id: Ie3d94f68d5c9958b0b7bade600b964b778aeb4cf
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-18 16:41:38 +02:00
6e97a69a2b Remove allocation type UNDECIDED
Resolves: NEO-2733

Change-Id: If6102ca04f557feeedaf702fa0d9f63c79017fe4
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-18 15:13:09 +02:00
1d42fe169a Add allocation types for MCS, preemption and shared context image
Related-To: NEO-2733

Change-Id: I3e3e4ea6d4fe084c8c32c0e24c537c9131ce1e60
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-17 14:41:01 +02:00
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
2ca97d3881 Introduce MemoryManager::getExternalHeapBaseAddress()
Related-To: NEO-2877

Change-Id: I4307224c3be9609f7fc60d7fcb4f91ccdc8a9883
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-16 13:30:10 +02:00
1e11d8939f Add new allocation type for device queue's allocatons
remove not used mustBeZeroCopy flag

Related-To: NEO-2733

Change-Id: I8b8faf4e2d46249f897a06170dd777193c7f8729
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-16 10:34:18 +02:00
ca18ce41a4 Use TAG_BUFFER type for tag allocation
sort usages of allocation types in switches

Related-To: NEO-2733

Change-Id: Ie44ea10733af28e9a15c3fcf749e51c29d39a66e
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-15 14:19:32 +02:00
3a008fafc6 Revert "[1/n] Use GfxPartition for 32-bit allocations - WddmMemoryManager"
This reverts commit 2bb451e76d922861673e052f5f889658ac7db15f.

Change-Id: I1deada59a291a96ef88c8b9b4f2b28861ad27347
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-12 20:59:40 +02:00
971cbd55f3 Add new SVM types
Related-To: NEO-2917

Change-Id: Ica127129799c1e617a326a110348c2f70160b15c
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-04-11 15:27:38 +02:00
fac6ddaebc [1/n] Use GfxPartition for 32-bit allocations - WddmMemoryManager
Related-To: NEO-2877

Change-Id: I13621bc984e8bb92bea82c07044d9a40bc9ca550
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-10 12:58:26 +02:00
56770408ae GfxPartition always allocates GPU addresses above heap base
Related-To: NEO-2877

Change-Id: Id4f57ab2489faf09984a616de78655b399e127a4
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-05 16:19:52 +02:00
37bcc99cd2 Class for local memory bank selection based on usage
Related-To: NEO-2906
Change-Id: I8b9cae5191da6344ee8d4f0cf7125f95d0bc6b35
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-04-04 17:21:02 +02:00
4e3f0e6ab2 Create storage info in one place
Related-To: NEO-2860

Change-Id: Ic37b89f2a80267b499227a8311aabd1fc6fb2754
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 08:12:15 +02:00
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
2243fc950b Improve waiting logic in HostPtrManager
Change-Id: Ib762a9604ad3d398044f289fa8a1aa4df2b4d37a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-04-03 08:47:49 +02:00
5c0c1f77f9 Pass AllocationProperties to createGraphicsAllocationFromSharedHandle()
- only extends interface to MemoryManager

Change-Id: I585d91be95abd50e11eedb53e2acfa3f66491d44
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-04-02 08:55:38 +02:00
a025dc6985 Reverse logic of creating Memory Manager - part 6
-Remove a redundant condition from the MemoryManager constructor

Change-Id: I4b6c56f30a19e77a7a20f68c6d85516aaa52d102
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-04-01 10:27:29 +02:00
5bb0d8c8ed Remove type that is not used.
Change-Id: I00571ce2f8a1dddbce6645ae753bc99de1ff7a33
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-03-29 12:47:59 +01:00
d4c8791359 Disable cpu access for KERNEL_ISA type
Change-Id: I630668373ef162eca8f814b34ea014b3e86ea2b8
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-28 11:12:46 +01:00
8cf7cea1e9 Simplify bit operations.
Change-Id: If1401f32df5ebcb3abf614832152abf029a9c5e6
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-27 17:11:29 +01:00
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
31e6005fa3 Move getNumHandles method to GraphicsAllocation class
Change-Id: Id03e93d1f2558b0c2b740e199e335c8e6f00842a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-26 14:41:40 +01:00
9ecb3193af Reverse logic of creating Memory Manager - part 3
-Move a Device::getEnabled64kbPages method's logic
 to the Memory Manager constructor

Change-Id: Ide88898000e5817a79f9a6ad5dfc9d680bec0533
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-03-25 14:42:16 +01:00
cc13045ddd Move definitions out of engine_node.h.
Change-Id: I18692a444663c11103f8991415b38000c633f24a
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-25 13:22:55 +01:00
83aa28e294 Add unit test for maxOsContextCount
Change-Id: I3e2ec2dba101123689248904406dc2fe3785160c
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-03-25 13:19:29 +01:00