Commit Graph

50 Commits

Author SHA1 Message Date
Vinod Tipparaju 5440c83539 Fix to acquire lock during migrating shared allocation via makeResident() call
This fix is required to guarentee thread safety

Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-12-24 04:42:08 +01:00
Slawomir Milczarek 6986d5de0b Add helper functions for memory compression to CSR
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-12-21 17:43:03 +01:00
Maciej Plewka 830bcd6987 Scratch using bindless heaps
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-12-11 09:38:44 +01:00
Jaime Arteaga d46bb59508 Migrate shared-allocations made resident with makeMemoryResident
Shared-allocations are currently migrated to GPU by the page-fault
manager when calling executeCommandLists. Allocations to migrate are
taken from the lists container. However, if a shared-allocation
has been made resident with zeContextMakeMemoryResident(), it is not
added to the list container, and hence it is not migrated to device.

So, add a container of resident allocations to the driver and migrate
them along with the other allocations.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-12-11 03:27:42 +01:00
Jobczyk, Lukasz 343fd602fa Add method to submit kernel on single subdevice
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2020-12-01 22:15:05 +01:00
Sebastian Luzynski 556b6cd457 Add concurrent kernel execution type
Related-To: NEO-4940
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2020-11-20 16:12:42 +01:00
Vinod Tipparaju 240563099c Clean up code for nullptr device check during cmdlist create
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-11-19 04:24:34 +01:00
Mateusz Hoppe b384bda99a Exclude internally used cmdLists and cmdQs from debugging
Related-To: NEO-5241

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-17 12:17:34 +01:00
Bartosz Dunajski bc1e772ec2 Set correct device bitfield for L0 command queue allocations
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-11-13 12:37:16 +01:00
Vinod Tipparaju f553e1e514 Return "OUT_OF_MEMORY" when gfx alloc on device fails during cmdqueue create
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-11-10 06:26:02 +01:00
Mateusz Hoppe ac3b65ba82 Refactor isDebuggerActive
- use it for SourceLevelDebugger only

Change-Id: I130219a13d6baa1f72c5b35295afd6efa4bf37fa
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-29 12:21:18 +01:00
Jaime Arteaga b62a121f6f Move thread arbitration programming to command list
Thread arbitration policy can be programmed in the command list
instead of doing it in executeCommandList(), so move it there.

Related-to: NEO-5187

Change-Id: I518e19e939e0548d9d454738c6deb5e095154422
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-10-22 19:42:55 +02:00
Michal Mrozek 1eefd3743f Optimize ExecuteCommandList.
- reuse vector instead of creating one per every function call.

Change-Id: I584bfbd7757e7b8851ae4970b740adf20659bcb1
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-10-19 10:49:44 +02:00
Kamil Diedrich 9e463ab45f Track all ssh in cmdList
Change-Id: Ibffb7b7b406e5e17d4ffb971fd0789557c879367
2020-10-12 12:12:12 +02:00
Kamil Diedrich 67e2853857 Add missing mockable_virtual in code
Change-Id: Ia8d041b68163a99cf4e9e399e825d39798425544
2020-10-07 14:25:04 +02:00
Kamil Diedrich ce7e293a99 Extend scratch implementation
Change-Id: I1bbc0c9be287b1411276b1e61a7ec1c8db238f3f
2020-10-07 11:39:04 +02:00
Sebastian Luzynski d24850cff3 Alter API with additional kernel exec info.
Related-To: NEO-4875
Change-Id: I10a5e3bfc32be520c3554c992dc36591fc1ff599
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2020-09-25 13:00:24 +02:00
Bartosz Dunajski 2a69b1ed78 Select correct heap base address for ISA
Change-Id: I400f965faa4615519729756daa78350a46c46ff2
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-23 14:21:22 +02:00
Vinod Tipparaju 083edd1a3e Thread safety violation fixes - Events & USM
Change-Id: I57de59f204d9fd4407be768d0b14bf579dae967d
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-09-03 08:54:34 +02:00
Mateusz Hoppe 75710fead9 Enhance SBA tracking
Related-To: NEO-4637

Change-Id: I0cd0cf17bac332f1a00c10a324f94e91fe031c0a
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-08-24 14:54:02 +02:00
Mateusz Hoppe 55a6525b34 L0Debugger fixes
- add Sba buffer to residency container of cmdQ
- allocate debugSurface
- add printing SBA tracked addresses

Change-Id: I3eb4d918b99dfadd737d8f9f8174e94b1a620125
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-08-21 10:41:15 +02:00
Jaime Arteaga 398ad44404 Correct values in queue synchronize
Change-Id: I645d1ae50d6e17d2d330ba9d21ef1a8cf7b955b8
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-08-06 00:26:50 +02:00
Filip Hazubski 76328b8247 Always initialize Kernel::threadArbitrationPolicy
Resolves: NEO-4824

Change-Id: I2ba24bec1a4cc2d1573ca7283a68ea0d94c73ff0
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-08-04 13:07:39 +02:00
Mateusz Hoppe c3a128f9f4 Refactor StateBaseAddressHelper
Change-Id: I5071a1a4a067b8f0e880a4f7e1d65e79eeb77c47
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-08-04 11:09:41 +02:00
Vinod Tipparaju bf57f2d696 Lock csr inside executeCommandLists() to make submissions thread safe
Change-Id: I9326ee5bb835f01015668e66d2582df9ed02d66f
2020-08-03 21:59:15 +02:00
Jaime Arteaga 902fc2f6c4 level-zero v1.0 (2/N)
Change-Id: I1419231a721fab210e166d26a264cae04d661dcd
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Signed-off-by: macabral <matias.a.cabral@intel.com>
Signed-off-by: davidoli <david.olien@intel.com>
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Signed-off-by: Latif, Raiyan <raiyan.latif@intel.com>
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2020-08-03 13:11:13 +02:00
Mateusz Hoppe 0ed1db0b46 Insert PC before SBA in cmdlist
Related-To: NEO-4916

Change-Id: I7024ff173ad97d4c42a5fa6d7ea0d0ee665a87d9
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-31 13:09:57 +02:00
Mateusz Hoppe a77f1de8a1 Track StateBaseAddresses from cmdQ and cmdList
Related-To: NEO-4637

Change-Id: Ia4b187df5f28fadf032ff24acb7ab32b05d0d261
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-30 15:09:53 +02:00
Mateusz Hoppe 5de52badbe Setup surface state for debugSurface at offset zero
Related-To: NEO-4767

Change-Id: I5be24712795f18865037ea5d3b42604579027969
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-23 16:26:23 +02:00
Bartosz Dunajski d712a015b4 Use correct heap for GSBA programming
Change-Id: I85d3b478e8c3749501ca6eb76224d95b4dbbb86c
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-03 09:12:34 +02:00
Bartosz Dunajski 2e87c872b5 Select correct heap for programGeneralStateBaseAddress
Change-Id: I21744fbc67551d358e03b3ee44f649ba8d62eb45
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-02 11:03:03 +02:00
Bartosz Dunajski 6dd07bd3bc Use correct Heap32 index for local memory allocations
Change-Id: I068f712ab2b05ee3d5a9716b21de685a7fee3a02
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-01 17:31:43 +02:00
Jaime Arteaga 8113fafe53 Disable cross-device indirect access
Change-Id: I57655abfc02785dfd68384a1546ee4cfdbea938a
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-06-30 21:42:47 +02:00
Raiyan Latif b73c757a82 Add indirect allocations to residency at kernel submission time
Change-Id: Idc6ce7ac72de84107990a5c9786c868d4bfa4322
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2020-06-26 01:54:09 +02:00
Mateusz Hoppe 15b91c4d45 Program debug commands for DebuggerL0
Related-To: NEO-4547, NEO-4549

Change-Id: Idf9139190a85aae7ec52de7a1899a46123809e63
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-24 15:48:38 +02:00
Mateusz Hoppe f4ef256900 Program hardware context in L0 command queue
Related-To: NEO-4577

Change-Id: I204a5e86ad3b23b71071bbbfd58c23a408f6865f
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-05-29 13:07:38 +02:00
Jaime Arteaga 276269788b Add support for thread arbitration policies to Level Zero
Change-Id: I6bbb2ff75dbd930b72a4f60acb0c3a9f372671cb
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-05-28 11:40:05 +02:00
Mateusz Hoppe ef4fae3903 Enable TBX mode in level zero
RelatedTo: NEO-4644

Change-Id: I76913d6b7c7d978a5a90a7a574778c67283497c1
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-05-06 16:33:15 +02:00
Zbigniew Zdanowicz b2210fa5bb Refactor MemorySynchronizationCommands class
Related-To: NEO-4338

Change-Id: Id0ae9c73293fd99f53fccc11a69ca14fa9a6d119
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-04-27 17:33:31 +02:00
Jaime Arteaga 04bb54d1ac Flush print buffer when destroying the command queue
This ensures all pending prints are flushed, in the case
for instance zeCommandQueueSynchronize() is not called.

Change-Id: I4b50c535e4681eff4708242febc948c21c715055
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-04-10 13:15:23 +02:00
Zbigniew Zdanowicz 5e98368dad Remove RMW access patterns from functions programming on gfx memory
Related-To: NEO-4338

Change-Id: I8fe555525f937e75c5439702b328c734af9af1f9
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-04-09 18:49:30 +02:00
Maciej Plewka 691a4ea823 Add blit copy implementation for L0
Change-Id: I327a4cf977e166cb648ee9f3a79374f7cefa7b1b
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-04-09 13:36:09 +02:00
Jaime Arteaga 29464fb9ad Correct root device index in SBA programming (2)
Add ULT

Related-To: NEO-3691

Change-Id: I61f6ba9b988b5245a2657c38c7bb0b94fbb3a295
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-04-08 11:54:26 +02:00
Bartosz Dunajski a56c27799b Constructors cleanup
Change-Id: I3b69c3951929588f346ad8557ca9a7808afe1c84
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-04-06 14:06:22 +02:00
Jablonski, Mateusz 6d4832fe24 Correct root device index in SBA programming
Related-To: NEO-3691
Change-Id: I568072d0f915484cc81a1d336f6efd86cba76f62
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2020-04-03 14:36:23 +02:00
Filip Hazubski d0527e1049 Rename memory_constants.h to constants.h
Change-Id: I05b5d20bac12935dc6625b94adc3a03c98c19b49
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-04-02 14:19:39 +02:00
Filip Hazubski a7e4ad4eba Add unspecifiedDeviceIndex constant
Change-Id: I146e9c80ce0d18aae5e56fadf83f5e1603173fd7
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-04-01 20:37:05 +02:00
Lukasz Jobczyk d1bc7199de Switch to 3D pipeline to program selected commands - part 2
Resolves: NEO-4447

Change-Id: I1dd6a9694cdf3be19aadec1cd139c466baecbcd7
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-04-01 10:42:55 +02:00
Mateusz Hoppe 6dc5810c7f Add more cmdlist tests
Related-To: NEO-4515

Change-Id: Idc0e0cdab97cb1a2437c212cbe8ae2bcf673125f
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-03-27 18:26:47 +01:00
Jaime Arteaga d96e462754 Reorganize Level Zero Core API files
Change-Id: I95750b90748dd65310fa72b030ea3ab2f72d3f24
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-03-25 11:21:43 +01:00