Commit Graph

446 Commits

Author SHA1 Message Date
Dominik Dabek
75c4844987 feature(internal): logging kernel dispatch params
Use debug flag PrintKernelDispatchParameters to print params used in
thread group dispatch size heuristic when encoding kernel dispatch.

Related-To: NEO-6989

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-10-17 17:31:54 +02:00
Zbigniew Zdanowicz
ec9fa23b2e refactor: change order of fields of EncodeDispatchKernelArgs structure
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-10-04 15:00:29 +02:00
Jitendra Sharma
8a01619310 refactor: Enable CSR heap sharing on Older Generation platforms
Related-To: LOCI-4312
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-10-03 18:19:50 +02:00
Naklicki, Mateusz
0461af492d fix: unify path for getting number of grfs per thread
Related-To: NEO-8043

Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-10-03 08:17:46 +02:00
Compute-Runtime-Validation
1ac37d4a49 Revert "refactor: Enable CSR heap sharing on Older Generation platforms"
This reverts commit 58ff9c6d94.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-02 15:13:23 +02:00
Jitendra Sharma
58ff9c6d94 refactor: Enable CSR heap sharing on Older Generation platforms
Related-To: LOCI-4312
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-09-29 11:54:51 +02:00
Mateusz Jablonski
5f846d8a13 refactor: remove not needed code
Related-To: NEO-7527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-27 18:17:04 +02:00
Mateusz Jablonski
5dc56c221f refactor: remove not needed function
Related-To: NEO-7527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-27 14:44:56 +02:00
Dunajski, Bartosz
480c058cb2 feature: in-order patching for ComputeWalker
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-22 15:00:44 +02:00
Konstanty Misiak
a1a8d8fded fix(wa): Override AuxilarySurfaceMode when required
Related-To: NEO-8012

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2023-09-22 13:41:34 +02:00
Maciej Bielski
97e7cda912 feature: Optimize intra-module kernel ISA allocations
So far, there is a separate page allocated for each kernel's ISA within
`KernelImmutableData::initialize()`. Apparently the ISA blocks are often
much smaller than a 64k page, which leads to poor memory utilization and
was even observed to cause the device OOM error if a single module has
several keys.

Improve the situation by reusing the parent allocation (owned by the
module instance) for modules, which kernel ISAs can fit together within
a single 64k page. This improves the memory utilization on a single
module level.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-09-21 13:55:45 +02:00
Maciej Plewka
49cc570e59 fix: move adjust depth to image hw
Related-To: NEO-8390, HSD-16021488507

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-20 15:54:45 +02:00
Compute-Runtime-Validation
913a926fd4 Revert "feature: Optimize intra-module kernel ISA allocations"
This reverts commit c348831470.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-19 14:16:05 +02:00
Maciej Bielski
c348831470 feature: Optimize intra-module kernel ISA allocations
So far, there is a separate page allocated for each kernel's ISA within
`KernelImmutableData::initialize()`. Apparently the ISA blocks are often
much smaller than a 64k page, which leads to poor memory utilization and
was even observed to cause the device OOM error if a single module has
several keys.

Improve the situation by reusing the parent allocation (owned by the
module instance) for modules, which kernel ISAs can fit together within
a single 64k page. This improves the memory utilization on a single
module level.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-09-19 12:05:09 +02:00
Maciej Plewka
44b3f18567 refactor: Use release helper for adjusting depth
Related-To: NEO-8295, HSD-14019991753

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-15 13:24:37 +02:00
Dunajski, Bartosz
7562842a58 refactor: remove LogicalStateHelper
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-13 10:29:53 +02:00
Dunajski, Bartosz
6648065703 feature: add indirect semaphore mode
Related-To: NEO-8242

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-12 13:15:51 +02:00
Dunajski, Bartosz
2a6be2fccd feature: update conditional bb start to use qword data
Related-To: NEO-8242

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-12 11:24:28 +02:00
Dunajski, Bartosz
def3f2e9ad refactor: improve semaphore programming
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-12 11:24:11 +02:00
Maciej Plewka
09c1d474c9 fix: adjust depth limitations for images
Related-To: NEO-8239, HSD-14019991752

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-08 13:05:49 +02:00
Mateusz Hoppe
93469eaf5d feature: bindless addressing for buffers with offset
- allocate SurfaceStates on kernel's heap for offsetted buffers

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-09-08 12:03:23 +02:00
Mateusz Hoppe
8435160db4 feature: bindless addressing for images
- program surface states for redescribed images correctly. Image copy
to/from memory are using redescribed surface states,
- refactor state base address programming - program address and size
together, set max size at the beginning due to lack of Enable flag
- set GpuBase in WddmAllocation when external heap is used
- return max ssh required size from kernelInfo or based on stateful args

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-08-18 15:59:20 +02:00
Fabian Zwolinski
6fca8ee195 refactor: Remove SourceLevelDebugger
Removed:
- SourceLevelDebugger (with tests)
- DebuggerLibrary
- DebuggerLibraryRestore
- debuggerSupported field from hwInfo.capabilityTable
- HasSourceLevelDebuggerSupport matcher
- ExperimentalEnableSourceLevelDebugger debug var
- EnableMockSourceLevelDebugger debug var
- DebuggerOptDisable debug var
- lib_names.h.in file
- third_party/source_level_debugger/igfx_debug_interchange_types.h

Related-To: NEO-7213
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-08-10 11:14:02 +02:00
Dunajski, Bartosz
e1e9907973 feature: debug flag to signal user interrupts.
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-28 18:56:28 +02:00
Compute-Runtime-Validation
b7a56521f8 Revert "refactor: Enable CSR heap sharing on Older Gen platforms"
This reverts commit 160daeb874.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-26 05:40:59 +02:00
Jitendra Sharma
160daeb874 refactor: Enable CSR heap sharing on Older Gen platforms
Related-To: LOCI-4312
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-07-25 19:37:33 +02:00
Baj, Tomasz
4ca213d4d7 fix: commandContainer is nullptr in LinearStream for immediate cmdList
Related-To: GSD-4084
Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2023-07-24 15:06:18 +02:00
Cencelewska, Katarzyna
aa0beb8191 fix: Unify logic calculating threads per work group part 4
- also use helper when checking that is simd1 to have same flow

Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-07-07 15:34:59 +02:00
Mateusz Hoppe
4aba0f0340 feature: global bindless surface state base support
- program global bindless ssba when external allocator used (
UseExternalAllocatorForSshAndDsh)

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-06 18:31:49 +02:00
Igor Venevtsev
eba306c099 fix: properly set systemMemoryForced flag for secondary command buffers
Due to this flag was not properly handled on Windows, command buffer
allocations were never reused in immediate command lists in case of
host secondary buffers. This lead to huge host memory consumption
and performance degradation

Related-To: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-07-05 17:09:15 +02:00
Cencelewska, Katarzyna
61f701aba5 fix: Unify logic calculating threads per work group part 3
Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-07-04 15:27:44 +02:00
Cencelewska, Katarzyna
2e17c21728 fix: Unify logic calculating threads per work group part 2
- use calculateNumThreadsPerThreadGroup instead of getThreadsPerWG to
have same flow and proper values of threads per work groups

Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-07-04 10:34:02 +02:00
Compute-Runtime-Validation
39740da9d1 Revert "fix: Unify logic calculating threads per work group part 2"
This reverts commit 1e8a53bd53.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-02 07:09:14 +02:00
Cencelewska, Katarzyna
1e8a53bd53 fix: Unify logic calculating threads per work group part 2
- use calculateNumThreadsPerThreadGroup instead of getThreadsPerWG to
have same flow and proper values of threads per work groups

Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-06-30 14:16:08 +02:00
Dunajski, Bartosz
61fb19caab feature: bring back counter based in-order tracking
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-26 10:01:18 +02:00
Mateusz Jablonski
2d01bdec81 fix: change denorm mode in IDD to FlushToZero
denorm support is controlled by IGC, we should just set zero by default

Related-To: NEO-8059
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-23 09:28:32 +02:00
Dunajski, Bartosz
6544a1defa feature: adjust unit tests for future dynamic post sync allocation testing
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-20 16:22:33 +02:00
Mateusz Hoppe
313fb84fda feature: bindless addressing mode support
- allow bindless kernels to execute
- bindless addressing kernels are using private heaps mode
- do not differentiate bindful and bindless surface state base addresses

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-19 12:41:03 +02:00
Compute-Runtime-Validation
995e2a79c6 Revert "fix: change denorm mode in IDD to FlushToZero"
This reverts commit 987394b27c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-06-15 11:49:01 +02:00
Cencelewska, Katarzyna
7cb3278eb3 fix: add function to calculate number of threads per tg
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-06-13 14:02:24 +02:00
Mateusz Jablonski
987394b27c fix: change denorm mode in IDD to FlushToZero
denorm support is controlled by IGC, we should just set zero by default

Related-To: NEO-8059
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-13 13:42:50 +02:00
Mateusz Hoppe
8bc1fb1251 refactor: add function checking bindless addressing
- simplify logic to check addressing mode of a kernel

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-12 14:42:18 +02:00
Kamil Kopryk
6a0f7afd64 feature: verify stateful information only when binary is generated by IGC
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Related-To: NEO-6075

Ngen binaries contain stateful information, however they are
not used in isa on Pvc. Therefore, we can just ignore them.
2023-06-12 11:45:41 +02:00
Dunajski, Bartosz
3d49658f50 feature: new multitile post sync layout for immediate write [2/n]
No functional changes in this commit. This is prework.

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-09 14:20:34 +02:00
Dunajski, Bartosz
5fe9d70066 feature: new multitile post sync layout for immediate write [1/n]
No functional changes in this commit. This is prework.

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-07 13:11:10 +02:00
Mateusz Hoppe
0844ca0ac8 refactor: cleanup getBindlessMode() usage
- getGlobalBindlessHeapConfiguration() should be used to choose global
alloctor for SSH
- remove not needed and incorrect unit tests
- remove not needed branches
- bindless mode controls bindless compilation only

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-06 17:23:13 +02:00
Mateusz Hoppe
19bb1e334c feature: enable SW exceptions for kernels with assert and debugging
- when debugging is enabled, assert() in gpu kernel will trigger SW
exception

Related-To: NEO-5753

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-01 15:31:36 +02:00
Dunajski, Bartosz
808ff8c2e4 refactor: remove unused EncodeDispatchKernelArgs field
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-01 10:42:22 +02:00
Mateusz Hoppe
1c196b9f3d refactor: change ApiSpecificConfig functions names
- better description of the meaning of functions

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-05-30 09:20:01 +02:00
Kamil Kopryk
e0d3db3d91 fix: improve release helper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-15 14:30:15 +02:00