Commit Graph

55 Commits

Author SHA1 Message Date
Jaroslaw Warchulski
f50ca4432d refactor: cleanup includes
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-11-20 08:24:13 +01:00
Fabian Zwoliński
3c43276dab feature: add global/const surface nonUSM allocation pooling
Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-10-29 16:56:59 +01:00
Fabian Zwoliński
6102280f71 fix: add missing writeMemory for pooled global surface
Related-To: HSD-18043489182, HSD-18043476772
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-10-17 14:26:54 +02:00
Fabian Zwoliński
0cf5b36b26 fix: zero-initialize chunks from pool in allocateGlobalsSurface
When reusing memory chunks from the usm allocation pool,
they may contain stale data from previous executions.

This commit ensures that pooled allocations are
properly zero-initialized before use by:
- Transferring init data using transferMemoryToAllocation (unchanged)
- Zero-initializing the BSS section via memsetAllocation when present
- Zero-initializing entire totalSize for BSS-only allocations

This prevents stale data from affecting program execution when
chunks are reused from the pool.

HSD-13013893112, HSD-18043476772,
HSD-18043481899, HSD-18043487849,
HSD-18043489182

Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-10-14 16:37:51 +02:00
Fabian Zwoliński
a1c5fa1a13 feature: add pooling of USM global/constant surface
Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-09-23 18:24:18 +02:00
Compute-Runtime-Validation
e2d12e1742 Revert "feature: add pooling of USM global/constant surface"
This reverts commit 68698c9a74.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-09-14 16:26:29 +02:00
Fabian Zwoliński
68698c9a74 feature: add pooling of USM global/constant surface
Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-09-12 16:05:52 +02:00
Fabian Zwoliński
a2f60af5c6 fix: change global Var/Const Buffer type to SharedPoolAllocation
This is prep work for the future implementation of pooling these allocations.

Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-08-19 17:29:34 +02:00
Dominik Dabek
79b9e73311 fix: device usm alloc reuse
Do not put into usm reuse if is internal.
Set new isInternalAllocation flag for globals allocations.

Use actual size on device for tracking memory usage.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-05-29 12:18:34 +02:00
Compute-Runtime-Validation
dd55225041 Revert "fix: device usm alloc reuse"
This reverts commit 7cb1819b22.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-05-28 21:19:40 +02:00
Dominik Dabek
7cb1819b22 fix: device usm alloc reuse
Do not put into usm reuse if is internal.
Set new isInternalAllocation flag for globals allocations.

Use actual size on device for tracking memory usage.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-05-27 15:34:05 +02:00
Dominik Dabek
c9758216fc fix(ocl): do not reuse usm for globals export
Allocating global surface is expecting that the usm allocation is zeroed
out. Reusing allocations can be filled with junk data and this caused
errors.

Resolves: HSD-18038551036, HSD-18038551766, HSD-18038551957, HSD-18038552252

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-05-21 14:38:28 +02:00
Mateusz Jablonski
27fbdde4c5 refactor: correct naming of unified memory enums
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 15:58:21 +01:00
Mateusz Jablonski
b182917d9d refactor: correct naming of allocation types
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-11 16:23:37 +01:00
Mateusz Jablonski
4f72835b7d fix: create dedicated class for root device indices to store unique values
remove method to removing duplicates from StackVec as the method
implicitly sorted the vector

Related-To: GSD-4692
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-12 22:24:06 +02:00
Lu, Wenbin
5d653c8536 fix: Add alignment support to createUnifiedMemoryAllocation
Allows the user to use alignments > 64KB in `createUnifiedMemoryAllocation`

So that the restriction in `piextUSMDeviceAlloc` of the DPC++ runtime
could be lifted

Related-To: LOCI-4168

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-05-02 09:19:23 +02:00
Dominik Dabek
1c52017ceb fix: use correct allocation type in program init
Globals surface allocation via USM manager will have correct allocation
type set (instead of just BUFFER) and will use cpu copy when possible.

Related-To: NEO-7796

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-04-04 11:31:11 +02:00
Compute-Runtime-Validation
9608879372 Revert "feature: pvc, cpu copy in program init"
This reverts commit 77d70fd4a7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-31 13:56:39 +02:00
Dominik Dabek
77d70fd4a7 feature: pvc, cpu copy in program init
Use cpu copy for globals surface when allocated through svm, allocation
not set as lockable but locking allocation succeeds.
Make sure gfx allocations is unlocked after copy.

Related-To: NEO-7796

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-03-30 18:05:24 +02:00
Compute-Runtime-Validation
2b93126795 Revert "Add alignment support to createUnifiedMemoryAllocation"
This reverts commit ca02bbba4b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-30 15:43:47 +02:00
Compute-Runtime-Validation
6bb48ff809 Revert "feature: pvc, cpu copy in program init"
This reverts commit 4c891e80a5.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-30 07:51:25 +02:00
Dominik Dabek
4c891e80a5 feature: pvc, cpu copy in program init
Use cpu copy for globals surface when allocated through svm, allocation
not set as lockable but locking allocation succeeds.

Related-To: NEO-7796

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-03-28 23:23:40 +02:00
Lu, Wenbin
ca02bbba4b Add alignment support to createUnifiedMemoryAllocation
Allows the user to use alignments > 64KB in `createUnifiedMemoryAllocation`

So that the restriction in `piextUSMDeviceAlloc` of the DPC++ runtime
could be lifted

Related-To: LOCI-4168

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-03-28 10:57:04 +02:00
Kacper Nowak
7790e208fd feat(zebin): Add support for ELF section type SHT_NOBITS
This commit adds support for parsing SHT_NOBITS zebin's ELF sections
(containing global/constant zero-initialized data).
- Correction: in CTNI path, do not add related symbol if surface has not
been allocated.

Related-To: NEO-7196
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-02-10 16:17:16 +01:00
Compute-Runtime-Validation
d0c0c60205 Revert "feat(zebin): Add support for ELF section type SHT_NOBITS"
This reverts commit fa03aa9a40.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-03 03:44:02 +01:00
Kacper Nowak
fa03aa9a40 feat(zebin): Add support for ELF section type SHT_NOBITS
This commit adds support for parsing SHT_NOBITS zebin's ELF sections
(containing global/constant zero-initialized data).

Related-To: NEO-7196
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-02-02 14:54:51 +01:00
Kamil Kopryk
2484c7ceb2 refactor: rename hw_helper files to gfx_core_helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-01 19:37:51 +01:00
Kamil Kopryk
445706361d refactor: don't use global ProductHelper 14/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-27 14:51:12 +01:00
Compute-Runtime-Validation
429755e0f4 Revert "Check for context in appendMemoryCopy"
This reverts commit 32bab85f7e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-21 05:38:37 +01:00
Jaime Arteaga
32bab85f7e Check for context in appendMemoryCopy
Confirm the allocations used in an appendMemoryCopy operation
belong to the same context as the list.

Related-To: LOCI-1996
Resolves: NEO-6162

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-12-20 00:13:36 +01:00
Compute-Runtime-Validation
5a29cf8508 Revert "Check for context in appendMemoryCopy"
This reverts commit afd0784c16.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-16 03:28:06 +01:00
Jaime Arteaga
afd0784c16 Check for context in appendMemoryCopy
Confirm the allocations used in an appendMemoryCopy operation
belong to the same context as the list.

Related-To: LOCI-1996
Resolves: NEO-6162

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-12-15 23:42:10 +01:00
Mateusz Jablonski
6c7ca96f28 Reduce usage of global product helper getter [1/n]
Related-To: NEO-6853
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-12-15 15:01:41 +01:00
Kamil Kopryk
232b886056 Rename HwInfoConfig to ProductHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-14 14:39:52 +01:00
Warchulski, Jaroslaw
be647d42d9 Cleanup includes 12
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-07 13:14:15 +01:00
Luzynski, Sebastian Jozef
67ffe0533f Remove unused variable in allocateGlobalsSurface
Signed-off-by: Luzynski, Sebastian Jozef <sebastian.jozef.luzynski@intel.com>
2022-10-27 16:18:27 +02:00
Luzynski, Sebastian Jozef
bac85ddb25 Move kernel globals from SVM to USM device
With this change, module's data sections will be allocated in USM device
pool instead of SVM or USM shared.

Signed-off-by: Luzynski, Sebastian Jozef <sebastian.jozef.luzynski@intel.com>
2022-09-23 23:06:15 +02:00
Compute-Runtime-Validation
45c8124d8f Revert "Move kernel globals from SVM to USM device"
This reverts commit 706a5a7a8c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-18 12:49:44 +02:00
Sebastian Luzynski
706a5a7a8c Move kernel globals from SVM to USM device
With this change, module's data sections will be allocated in USM device pool
instead of SVM or USM shared.

Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2022-09-15 16:50:12 +02:00
Compute-Runtime-Validation
b874f0840e Revert "Move kernel globals from SVM to USM device"
This reverts commit 4d00a7ee8c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-13 18:41:44 +02:00
Sebastian Luzynski
4d00a7ee8c Move kernel globals from SVM to USM device
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2022-09-13 11:13:58 +02:00
Katarzyna Cencelewska
96e1eb7467 Move variables baseDieRev and baseDieA0Masked from xe_hpc to pvc
Pvc specific variables should be located in pvc struct

Related-To: NEO-6738
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-05-17 12:19:16 +02:00
Dominik Dabek
8d1ad5a4f3 Refactor: use stack vector for root device indices
Stack vector will not cause dynamic allocations in most circumstances
ie. number of root device indices not more than 16

Related-To: NEO-6837

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-04-14 14:05:42 +02:00
Bartosz Dunajski
4b0d986876 Move AllocationType enum out of GraphicsAllocation class
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-04 17:49:09 +01:00
Zbigniew Zdanowicz
24b928303b Rename fields in AllocationProperties
Related-To: NEO-5498

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-03-02 18:32:37 +01:00
Mateusz Jablonski
1b7d7afc07 Refactor USM properties
store reference to std of root device indices and device bitfields
store NEO::Device in USM properties

Related-To: NEO-3691
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-30 11:36:56 +01:00
Bartosz Dunajski
27f9a95af2 Refactor: Common helper for Blit and CPU memory transfers
Change-Id: Icc61f82517e75e3066e441494af3bf9a7ffbbeef
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-12 18:29:42 +02:00
Bartosz Dunajski
fb0651521d Linker: Fix incremental patching for local memory allocations
Change-Id: Ib85e4a2abc8a62477003853aa0c35f8107444f4e
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-09 09:13:42 +02:00
Bartosz Dunajski
d07362c992 Use blitter to initialize Global surface if required
Change-Id: I53cc532a5b5edd16a32deaf987f85db4224b9945
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-07 17:11:48 +02:00
Filip Hazubski
2912cebbd4 Update Context::blitMemoryToAllocation function
Change-Id: I5f81cb023b75e82bd3aff8e393f6b9463c767112
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-07-13 15:23:51 +02:00