Commit Graph

152 Commits

Author SHA1 Message Date
Filip Hazubski 0193b3ea69 Change maxNBitValue to a constexpr function
Now maxNBitValue can be used with run time variables.

Change-Id: I323071400305e05e6303a33e24e90c521246d73f
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-11-28 14:40:16 +01:00
Pawel Wilma a08fb12c4c Revert "Disable host ptr tracking for GEN12LP+"
Related-To: NEO-3661

This reverts commit 8f6a390a2f.

Change-Id: Ib17543e2c2c7e47c92bbc010d376dd53c6116b59
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-11-28 13:02:07 +01:00
Pawel Wilma 8f6a390a2f Disable host ptr tracking for GEN12LP+
Related-To: NEO-3661

Change-Id: I969bc70efc65b167996329ea02a29134ffc1ef8c
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-11-27 14:25:55 +01:00
Mateusz Jablonski 3e1b15c31d Move initialization of AubCenter to RootDeviceEnvironment
make RootDeviceEnvironments vector of unique_ptr

Related-To: NEO-3857

Change-Id: I23998502198307c8535cdd5c9c4af5223a5d69a5
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-11-19 11:30:16 +01:00
Igor Venevtsev fed673861f Add multiple root devices support to memory manager
Related-To: NEO-2941

Change-Id: If4977c19dbd083f2d1559a40f9b4e911eab4859c
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2019-10-31 14:30:19 +01:00
Mateusz Jablonski d408b82a19 Move aub center and command stream receivers to root device environment
resize root device environments to 1 by default

Related-To: NEO-3691, NEO-3857

Change-Id: Idf3d61e84f8265f30381c18216632d0ffb2a16de
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-10-28 14:40:43 +01:00
Mateusz Jablonski c8664b50a4 MemoryManager: don't access command stream receivers from execution environment
Related-To: NEO-3691, NEO-3857

Change-Id: I8d83456f4164d2b25d78bffa368cffe988c498b0
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-10-22 17:38:24 +02:00
Kamil Diedrich 115070767c Move graphics_allocation to core folder
Change-Id: I16b8dbb57c2a40126826a232332c18ba9f563220
2019-09-18 05:26:55 +02:00
Mateusz Jablonski dc949f6d18 Setup sub device's os context based on sub device id
Move types defined by using to separated header file

Related-To: NEO-3691

Change-Id: I71dfca0644b7022c4a381fbe396d0e32ca7d1ce5
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-09-17 14:04:26 +02:00
Jobczyk, Lukasz 3fe91e6d69 Move host_ptr_defines to the core dir
Related-To: NEO-3677

Change-Id: Ic973fb65f584563cc3fbcfa20eb81fe687dc5435
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-11 09:35:55 +02:00
Jobczyk, Lukasz fa8fc3fc43 Move a LocalMemoryUsageBankSelector to the core dir
Related-To: NEO-3677

Change-Id: Ie9fff1b353b8c2432305b44063861767e44add32
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-10 10:53:58 +02:00
Jobczyk, Lukasz a79b682fc2 Move a GfxPartition to the core dir
Related-To: NEO-3677

Change-Id: Ia89ba93eefbb2921ef7d64bde7ed4114a0c78e0d
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-04 15:42:25 +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
Mateusz Jablonski 94761a78d6 Unregister engine during destruction of related command stream receiver
Change-Id: I9225439b67a11c02998296bd9c3fbc4e2149cae2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-09-03 09:02:41 +02:00
Dunajski, Bartosz 93aeb1f29a Dont call mapAuxGpuVA() when PTManager is not supported
Change-Id: I8ead56c289a83a720f150d89cdbfd4d44dfea1ee
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-09-02 10:39:53 +02:00
Mateusz Jablonski 18982bd016 Move memory for slm window to memory manager
remove redundant methods from MockDevice

Related-To: NEO-3007

Change-Id: I9cc819b9c9118dbb667f5bf87d1bf15787f9b67f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-08-28 12:09:17 +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
Venevtsev, Igor 614104bf37 Remove MMAP allocator from DrmMemoryManager
Related-To: NEO-2877

Change-Id: Iddfadde449b71b2fcfb7d6298db5de014773476d
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-08-05 17:39:21 +02:00
Venevtsev, Igor e721ff1ec3 Add ULT for DrmMemoryManager
- ensure DrmMemoryManager::releaseGpuRange() calls GmmHelper::decanonize()
  before pass gpuAddress to GfxPartition::freeGpuAddressRange()

Related-To: NEO-2877, NEO-3530

Change-Id: I6f6b745a8f9262c6980b9ddd32c70d376fa49726
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-07-30 13:25:03 +02:00
Milczarek, Slawomir 4198e8f24f Add interface to get local memory size
Related-To: NEO-2687

Change-Id: I8d9913e925f88de34d71da9371d25ec04d2e02d5
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-07-29 14:40:56 +02:00
Zbigniew Zdanowicz f01c1d2d49 Add residency mechanism to OS interface
Change-Id: I323ca856d3c901bdc4d5961cdefa42685b53d4d9
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-07-19 13:35:11 +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
Venevtsev, Igor 4403796f58 Use GfxPartition for GPU address range allocations
[4/n] - Remove allocator32Bit

Related-To: NEO-2877

Change-Id: I0772a7fe1fda19daa12699c546587bd3cdd84f2c
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-07-08 12:09:07 +02:00
Venevtsev, Igor 165d1e4e55 Use GfxPartition for GPU address range allocations
[2/n] - OsAgnosticMemoryManager

Related-To: NEO-2877

Change-Id: I887126362381ac960608a2150fae211631d3cd5b
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-06-25 12:54:20 +02:00
Jobczyk, Lukasz 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
Mrozek, Michal 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
Pawel Wilma 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
Hoppe, Mateusz 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
Mateusz Jablonski 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
Mateusz Jablonski 42e255969a Move createStorageInfoFromProperties method to MemoryManager class
Change-Id: I09bbc19aeb377d8fabfe144920c6377cf68066d2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-05-06 11:30:37 +02:00
Venevtsev, Igor 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
Venevtsev, Igor 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
Mateusz Jablonski 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
Venevtsev, Igor 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
Zbigniew Zdanowicz 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
Venevtsev, Igor 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
Mateusz Jablonski e8259ecf2c Move AllocationProperties to separated header
Related-To: NEO-2860

Change-Id: Ibbc99a60c04ec75d75bf8c3a36d585a07b7f45c2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 16:22:10 +02:00
Mateusz Jablonski ad62e32f76 Remove redudant AllocationProperties constructors
Related-To: NEO-2535, NEO-2860

Change-Id: Iea3061b7a3f9567b6ea8bc3a9ea49651c5f0fcdd
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 15:20:27 +02:00
Mateusz Jablonski 6e7f82c315 Obtain storage info internally, in allocateGraphicsMemoryInPreferredPool
Related-To: NEO-2860

Change-Id: Id7acb10793f3145238f6b930b4c64c20c87a1021
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 11:43:31 +02:00
Mateusz Jablonski 3abfb7cb3f WddmMemoryManager: move logic of handling too low host pointer
Check malloc restrictions in method that allocates memory using host ptr

Related-To: NEO-2860

Change-Id: If1471c410d9a68e1ebacc6379682bfe98d0d75fe
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 08:04:49 +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
Mateusz Jablonski b4ed5468a2 Add device index to AllocationProperties
Change-Id: I3c9f7ea59bf85fbbc948ba23c2b1040f295f586c
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-03 10:48:30 +02:00
Dunajski, Bartosz 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
Mateusz Hoppe 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
Piotr Fusik 8cf7cea1e9 Simplify bit operations.
Change-Id: If1401f32df5ebcb3abf614832152abf029a9c5e6
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-27 17:11:29 +01:00
Piotr Fusik d4a0c4852b Move EngineType to aub_stream.
Change-Id: Ieaa75aaf4aca4487833754eb38ff709adcbf0f11
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-27 10:06:29 +01: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
Jobczyk, Lukasz 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
Dunajski, Bartosz cbe4e06165 Improve waiting for MemObj completion
Change-Id: I62078224daa21ee1d6f58f1e6dc59e306ae420b6
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-03-25 10:51:32 +01:00
Piotr Fusik db9afd06cd Remove EngineInstanceT.
Change-Id: I08543b5f4ef5e91e6beb8390d448e53702cd9dac
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-20 10:56:22 +01:00