Commit Graph

9699 Commits

Author SHA1 Message Date
Lukasz Jobczyk
999c6424a4 While enqueue blit do not flush gpgpu if already flushed
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-03 13:01:57 +01:00
Patryk Wrobel
f193efec2f Remove additional memory allocations for surfaces container
In constructor of CommandComputeKernel we had been doing multiple allocations
of memory on heap due to lack of call to std::vector copy-constructor or reserve
member function.

Furthermore, in production code there is only one place, where we create objects
of this type and we redundantly copy the local variable, which could be moved.

This change:
- ensures that constructor of CommandComputeKernel performs single allocation
in the worst case; in the best case, it does not allocate memory due to usage
of std::move on input parameter
- steals the memory of the local variable in place of usage of the constructor
to remove redundant copying and memory allocations
- uses reserve() method to reduce the number of allocations during creation
of this local variable

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-03-03 12:07:36 +01:00
Michal Mrozek
721c59d3d5 Move to StackVec for timestamp packet container.
Do not use std::vector in hot path.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-03 10:34:06 +01:00
Jaime Arteaga
30ea8ea48e Add ze_eu_count_t to get total number of EUs
Related-To: LOCI-2667

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-03-03 01:30:59 +01:00
Artur Harasimiuk
6a5c3d415b infra update
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-03-02 23:43:41 +01:00
Dominik Dabek
6556d9a510 Improve caching in clSetKernelArgSVMPointer 2/n
Update allocIdMemoryManagerCounter on cache hit

Related-To: NEO-6737

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-03-02 18:10:52 +01:00
Neil R Spruit
fc11701422 LLVM IR removed from Compiler Link
Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2022-03-02 17:25:36 +01:00
Dominik Dabek
7ab86d44d6 Improve caching in clSetKernelArgSVMPointer
Check allocId earlier and also reuse if allocationsCounter did not
change from last call.

Related-To: NEO-6737

Co-authored-by: Michal Mrozek <michal.mrozek@intel.com>

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-03-02 15:56:21 +01:00
Rafal Maziejuk
385c60948e Treat IMAGE1D_BUFFER type as buffer in BCS
This type of image needs to be treated as buffer in order to
allow width to be greater than 16383.

Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-6134
2022-03-02 15:41:15 +01:00
Lukasz Jobczyk
0919cad885 Add multithread enqueue blit OOQ test
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-02 14:18:58 +01:00
Grzegorz Choinski
b41f088fe9 rename neo_test_kernels to kernels_bin
Related-To: NEO-6172
Signed-off-by: Grzegorz Choinski <grzegorz.choinski@intel.com>
2022-03-02 13:46:26 +01:00
Michal Mrozek
8e94d568a8 Do not set dcFlush in Immediate dispatch mode.
Some devices do not need dcFlush.
Setting it prevents further optimization of pipe controls which
are not needed.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-02 13:20:28 +01:00
Michal Mrozek
bfacd14b61 Remove not needed code.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-02 13:10:15 +01:00
Szymon Morek
107db3a372 Add surfaceId variable to VASurface
Related-To: NEO-6693

Currently if clCreateFromVA and clEnqueueAcquireVA
are called from different scopes (i.e. surfaceID
passed to clCreate is destroyed when called
clEnqueueAcquired) enqueue results in undefined
behaviour. This PR fixes that.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-03-02 12:17:49 +01:00
Jaime Arteaga
43b17a69f0 Add programmers guide section on implicit scaling
Related-To: NEO-6519

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-03-02 12:10:22 +01:00
Lukasz Jobczyk
a00ad8cb2b Add multithread test for blit enqueue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-02 11:22:59 +01:00
Lukasz Jobczyk
a79b5184e2 Restore const reference
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-02 10:56:15 +01:00
Milczarek, Slawomir
862ac378a6 Ignore ze memory advise non atomic mostly flags
Related-To: NEO-5170

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-03-01 17:46:05 +01:00
Dominik Dabek
dad2b2120b Add missing tests for clSetKernelArgSVMPointer
Related-To: NEO-6737

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-03-01 15:42:41 +01:00
Grzegorz Choinski
721cea40bc infra update
Related-To: NEO-6657
Signed-off-by: Grzegorz Choinski <grzegorz.choinski@intel.com>
2022-03-01 15:34:54 +01:00
Lukasz Jobczyk
ea574d9b39 Optimize enqueue blit mutex
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-01 14:43:29 +01:00
Mateusz Hoppe
a73d3612ce Refactor L0 mock enablers
- add l0_libult target that groups all enablers
- enhance aub fixture - add debugging mode

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-03-01 13:49:26 +01:00
Dominik Dabek
9bc364e7a7 Fix for clSetKernelArgSVMPointer optimization
Related-To: NEO-6737

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-03-01 12:56:04 +01:00
Daria Hinz
99120d239f Refactor ocloc product config tests
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-03-01 12:52:01 +01:00
Lukasz Jobczyk
3c30e1b02b Add AssignBCSAtEnqueue debug flag
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-01 12:43:36 +01:00
Patryk Wrobel
05bf7a4315 Detect GPU hang in AsyncEventsHandler
This change introduces detection of GPU hangs
in asynchronous events handler. ULTs have also
been added to cover the new code.

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-03-01 11:41:12 +01:00
Bartosz Dunajski
927bbe9ee9 Disable DirectSubmission in aub/tbx mode
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-01 11:00:42 +01:00
Lukasz Jobczyk
b096422e78 BCS round robin adjustments
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-01 09:45:38 +01:00
Dominik Dabek
b9d8d8c0fd Optimize setKernelArgSVMPointer
If same pointer is already set, we don't need to set it again.

Related-To: NEO-6737

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-03-01 09:12:13 +01:00
John Falkowski
22ed1be1a3 Add checks for mmap and getSpace
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2022-02-28 20:57:29 +01:00
Lukasz Jobczyk
090bfb9642 Reuse kernel allocation
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-02-28 19:26:19 +01:00
ocldev
77407e6bb1 igc revision update
Signed-off-by: ocldev <ocldev@intel.com>
2022-02-28 19:13:53 +01:00
Patryk Wrobel
0ecc7c5e3b Detect GPU hangs in clFinish
This change introduces detection of GPU hangs in
clFinish function as well as unit tests to cover
the new code.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-02-28 19:07:36 +01:00
Konstanty Misiak
cf1bc3a2ba Disable EU fusion based on kernel properties from compiler
Related-To: NEO-6633

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2022-02-28 18:50:38 +01:00
Milczarek, Slawomir
13bc2300e1 Add mock function to check for page fault support
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-02-28 18:36:31 +01:00
Szymon Morek
205571999e Propagate VA syncSurface failure to API call
Currently, if syncSurface method fails, driver
will result in CL_SUCCESS. This PR fixes that.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-02-28 18:34:13 +01:00
Daniel Chabrowski
ca7d47598a Reintroduce prelim DRM debug support
It was verified that the issue existed before the failing commit.

Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
22.10.22597
2022-02-28 18:25:57 +01:00
Aravind Gopalakrishnan
8aa2e76173 Allow device allocs for timestamp events
Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-02-28 15:50:22 +01:00
Daniel Chabrowski
d603bb2f34 Revert "Prelim DRM debug support"
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591

This reverts commit 5e021be0cd.
2022-02-25 18:33:11 +01:00
Mateusz Jablonski
82e3b10c5a Fix typo
Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-25 18:10:41 +01:00
Daria Hinz
0c6863766a Set device ids for PRODUCT_CONFIG
Ocloc must set the default device id if the user
selects <major>.<minor>.<revision> pattern.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2022-02-25 18:01:40 +01:00
Mateusz Hoppe
7a2c5e28c1 Add getLastCounter() to EuThread
Related-To: NEO-6447

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-02-25 17:14:01 +01:00
Kamil Diedrich
371358c8c7 Enable blitter for DG1+WSL&Linux
Related-To: NEO-6710, NEO-6685
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-02-25 17:02:33 +01:00
Bartosz Dunajski
ba2c97358e Remove WaDefaultTile4 flag
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-25 10:59:28 +01:00
Katarzyna Cencelewska
93efb2c63f Move DATA_PARAMETER_CHILD_BLOCK_SIMD_SIZE to ignore
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-02-25 10:29:58 +01:00
Aravind Gopalakrishnan
e4a93f9870 Set page table cloning on for event device allocs
Related-To: NEO-5968

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-02-24 22:35:03 +01:00
Mateusz Jablonski
f5bb961e7c Add missing initialization of L3Range
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-24 20:56:17 +01:00
Mateusz Jablonski
a2386ad216 Correct programming of implicit args on pre-XeHp platforms
On pre-XeHp platforms implicit args aren't at the beginning of indirect data,
GPU address of implicit args buffer is programmed within cross thread data

Related-To: NEO-5081, IGC-4710
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-24 20:52:04 +01:00
Jaime Arteaga
06a4d2cc02 Refactor support for L0 scheduling hints (XE_HP and later)
Make sure STATE_COMPUTE_MODE is updated when passing the
scheduling hint for a kernel.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-02-24 20:42:41 +01:00
Mateusz Jablonski
3b7fbef826 Handle implicit args buffer info in zebin
Related-To: NEO-5081, IGC-4710
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-24 19:43:21 +01:00