Commit Graph

258 Commits

Author SHA1 Message Date
Mateusz Jablonski ece03e6bbf fix: add checks to avoid invalid behavior
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 15:45:33 +02:00
Mateusz Jablonski 382fc952f2 refactor: add NonAssignableClass to define classes without assign operator
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-05 15:16:58 +02:00
Mateusz Jablonski 1963ea69e5 fix: add missing member initializations
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 08:41:46 +02:00
Mateusz Jablonski 9337911742 fix: add self-assign check in operator=
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 08:09:16 +02:00
Maciej Plewka 8658fdb04e fix: Use stack vec for api specific prefix
Related-To: NEO-8388, GSD-6296

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-21 16:10:54 +02:00
Mateusz Jablonski 46288b8efd fix: setup correct non-release key name in getStringWithFlags
unify function for getting env

Related-To: NEO-8347
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-08 15:39:36 +02:00
Mateusz Jablonski 3845eb3b90 fix: accept more than 16 root devices
Related-To: GSD-5892
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-06 10:13:25 +02:00
Mateusz Jablonski 00e24c0069 performance: leave StackVec::onStackMemRawBytes uninitialized
this memory shouldn't be accessed before resize

Resolves: HSD-18032826534

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-25 11:40:38 +02:00
John Falkowski d49190f4ae feature: Add debug/release variables prefixes
Add debug/release variables with prefixes for Level Zero, OpenCL and NEO

Resolves: NEO-6357

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-22 15:15:45 +02:00
Mateusz Jablonski 894bab05ef fix: add missing zero-initialization in StackVec class
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-22 11:54:12 +02:00
Artur Harasimiuk f6e0c0cf89 Revert "feature: Add debug/release variable prefixes"
This reverts commit ec95d9314a.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-08-18 12:42:39 +02:00
John Falkowski ec95d9314a feature: Add debug/release variable prefixes
Resolves:  NEO-6357
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-10 14:01:09 +02:00
Mateusz Jablonski f84f22d23c refactor: remove unused isSharedContext variable
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-26 12:14:23 +02:00
Mateusz Jablonski 0c6d2ebaf3 refactor: remove default argument in SettingsFileReader ctor
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-17 15:06:36 +02:00
Maciej Bielski c7a971a28f feature: add optional onChunkFree callback to AbstractBuffersPool
Instances returned by `getAllocationsVector()` in some cases cannot be
freed (in the `malloc/new` sense) until the `drain()` function invokes
`allocInUse()` on them. Plus, the `chunksToFree` container operates on
pairs `{offset, size}`, not pointers, so such pair cannot be used to
release allocations either.

Provide an optional callback, which can be implemented by the custom
pool derived from `AbstractBuffersPool`. This callback can be used, for
example, to perform actual release of an allocation related to the
currently processed chunk.

Additionally, provide the `drain()` and `tryFreeFromPoolBuffer()`
functions with pool-independent versions and keep the previous versions
as defaults (for allocators with a single pool). The new versions allow
reusing the code for cases when allocator has multiple pools.

In both cases, there was no such needs so far but it arose when working
on `IsaBuffersAllocator`. The latter is coming with future commits, but
the shared code modifications are extracted as an independent step.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-07-13 17:26:51 +02:00
Lu, Wenbin 4de792cee0 fix: support alignments in host and shared UnifiedMemoryAllocation
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-07-13 08:48:41 +02:00
Compute-Runtime-Validation 9c7950cd22 Revert "feature: add optional onChunkFree callback to AbstractBuffersPool"
This reverts commit b7ecf99abb.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-07 04:31:30 +02:00
Maciej Bielski b7ecf99abb feature: add optional onChunkFree callback to AbstractBuffersPool
Instances returned by `getAllocationsVector()` in some cases cannot be
freed (in the `malloc/new` sense) until the `drain()` function invokes
`allocInUse()` on them. Plus, the `chunksToFree` container operates on
pairs `{offset, size}`, not pointers, so such pair cannot be used to
release allocations either.

Provide an optional callback, which can be implemented by the custom
pool derived from `AbstractBuffersPool`. This callback can be used, for
example, to perform actual release of an allocation related to the
currently processed chunk.

Additionally, provide the `drain()` and `tryFreeFromPoolBuffer()`
functions with pool-independent versions and keep the previous versions
as defaults (for allocators with a single pool). The new versions allow
reusing the code for cases when allocator has multiple pools.

In both cases, there was no such needs so far but it arose when working
on `IsaBuffersAllocator`. The latter is coming with future commits, but
the shared code modifications are extracted as an independent step.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-07-06 10:38:55 +02:00
Dunajski, Bartosz 2b5e475db9 refactor: use hex values to print TSP usage
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-23 11:22:10 +02:00
Dunajski, Bartosz b004a27e4e refactor: Debug flag to print TSP usage
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-22 14:47:39 +02:00
Compute-Runtime-Validation 02436b8877 Revert "fix: support alignments in host and shared UnifiedMemoryAllocation"
This reverts commit c11809e002.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-06-14 06:32:40 +02:00
Maciej Bielski 7ea8ed1757 refactor: extract generic parts of small buffers allocator
Currently the whole code resides within the opencl/ tree, but the
mechanism is meant to be reused in L0 for kernel-ISA allocations
optimization (further work).

This commit is a preparation step, which extracts the generic mechanism
and moves the extracted part under the shared/ tree.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-06-13 10:46:03 +02:00
Lu, Wenbin c11809e002 fix: support alignments in host and shared UnifiedMemoryAllocation
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-06-13 10:01:11 +02: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
Compute-Runtime-Validation b2b41e613b Revert "fix: add alignment support to host and shared UnifiedMemoryAllocation"
This reverts commit c3df92ac41.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-05-12 13:04:08 +02:00
Lu, Wenbin c3df92ac41 fix: add alignment support to host and shared UnifiedMemoryAllocation
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-05-11 11:45:12 +02:00
Fabian Zwolinski e351a90f81 refactor: Rename member variables to camelCase 2/n
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-27 20:39:22 +02:00
Fabian Zwolinski c441e9e971 refactor: Rename member variables to camelCase
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-26 16:05:07 +02:00
Mateusz Hoppe 44273fcea0 fix: do not remove log file when logging disabled
- initialization of FileLogger always removed log file - this change only
removes old file when logging is enabled in current run

Resolves: NEO-7199

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-04-21 00:44:03 +02:00
Konstanty Misiak 1f37e69fd2 Refactor of IO functions
Related-To: NEO-4562

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2023-04-13 10:46:47 +02:00
Mateusz Hoppe 37dbec305d feature: add AssertHandler
- initial implementation to support assert() on GPU

Related-To: NEO-5753

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-08 17:55:23 +01:00
Warchulski, Jaroslaw b485c025d0 Cleanup includes 57
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-17 11:19:59 +01:00
Neil Spruit 2aaebddb37 Revert "Heap allocation allow base address and growable addresses"
This reverts commit 44ec497b1a.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-02-15 18:34:40 +01:00
Warchulski, Jaroslaw 8c17313c8b Cleanup includes 53
Cleaned up files:
opencl/source/mem_obj/image.inl
shared/offline_compiler/source/decoder/zebin_manipulator.h
shared/source/aub_mem_dump/aub_alloc_dump.h
shared/source/compiler_interface/intermediate_representations.h
shared/source/helpers/blit_commands_helper_base.inl
shared/source/utilities/debug_file_reader.h
shared/source/utilities/software_tags.h
shared/source/xe_hpc_core/hw_cmds_pvc.h

Related-To: NEO-5548

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-15 13:21:14 +01:00
Jaime Arteaga 07598fb5e0 feature: Affinity mask plus ReturnSubDevicesAsApiDevices
When using ReturnSubDevicesAsApiDevices=1 to have
sub-devices-as-root-devices, then the driver should read the values
passed in the mask as those corresponding to the physical
sub-devices.

For instance, in a dual system with multi-tile device, we would have:

card 0, tile 0
card 0, tile 1
card 1, tile 0
card 1, tile 1

With:
ReturnSubDevicesAsApiDevices=0
ZE_AFFINITY_MASK=0,1

Then all tiles in card 0 and card 1 need to be exposed.

With:
ReturnSubDevicesAsApiDevices=1
ZE_AFFINITY_MASK=0,3

Then card 0 tile 0, and card 1 tile 1 need to be exposed.

Related-To: NEO-7137

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-02-15 12:28:46 +01:00
Spruit, Neil R 44ec497b1a feature: Allow for Allocating a base address in the heap and grow an allocation
Related-To: LOCI-3871

- Enabled allocation of specified base address in the targeted heap.
- Enabled virtual memory reservations to grow by allocating at the start
of the heap vs the end of the heap.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-02-15 08:13:38 +01:00
Warchulski, Jaroslaw c43233dabf Cleanup includes 42
Cleaned up files:
level_zero/core/source/kernel/kernel_hw.h
shared/source/helpers/common_types.h
shared/test/common/libult/linux/drm_mock.h
shared/test/common/libult/ult_command_stream_receiver.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-25 09:16:39 +01:00
Warchulski, Jaroslaw d793f37dd8 Cleanup includes 20
Cleaned up files:
opencl/source/cl_device/cl_device.h
opencl/source/helpers/properties_helper.h
opencl/source/program/program.h
shared/source/device_binary_format/debug_zebin.h
shared/source/device_binary_format/elf/zebin_elf.h
shared/source/program/program_info.h
shared/source/utilities/heap_allocator.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-03 14:42:08 +01:00
Warchulski, Jaroslaw 7ae44268cb Cleanup includes 17
Cleaned up files:
shared/source/built_ins/sip.h
shared/source/compiler_interface/compiler_cache.h
shared/source/compiler_interface/compiler_interface.h
shared/source/device_binary_format/device_binary_formats.h
shared/source/helpers/timestamp_packet.h
shared/source/kernel/debug_data.h
shared/source/utilities/tag_allocator.h
shared/test/common/mocks/mock_device.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-02 10:59:08 +01:00
Mateusz Hoppe 734a9fb952 feature: Allow redirecting debugger logs to log file
- enhacement for logging debug messages to file

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-12-27 16:01:19 +01:00
Kamil Diedrich b36aa626bc Add support for USM shared in WSL for dGPU
This patch force KMD allocation path for USM shared
Additionally we force 64kb page from lock which is
required to properly program GPU VA

Related-To: NEO-6913
Signed-off-by: Kamil Diedrich kamil.diedrich@intel.com
2022-12-19 11:09:55 +01:00
Warchulski, Jaroslaw 803bbb89d2 Cleanup includes 13
Cleaned up files:
shared/source/helpers/blit_commands_helper.h
shared/source/helpers/heap_assigner.h
shared/source/memory_manager/alignment_selector.h
shared/source/memory_manager/gfx_partition.h
shared/source/memory_manager/memory_manager.h
shared/source/os_interface/os_memory.h
shared/source/utilities/heap_allocator.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-16 12:36:27 +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
Warchulski, Jaroslaw c10aa90815 Cleanup includes 11
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-06 12:25:30 +01:00
Warchulski, Jaroslaw 1fa5710dff Cleanup includes 10
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-05 12:39:33 +01:00
Warchulski, Jaroslaw dfa65bd358 Cleanup includes 9
Related-to: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-30 14:48:50 +01:00
Warchulski, Jaroslaw 4100e1aa72 Cleanup includes 7
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-28 17:01:48 +01:00
Maciej Plewka 4b42b066f8 Use dedicated using type for TaskCount
Related-To: NEO-7155

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-11-28 16:44:44 +01:00
Warchulski, Jaroslaw 1c03361273 Cleanup includes 6
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-21 12:02:14 +01:00
Dunajski, Bartosz 89b96e5e8f Introduce initial implementation of DirectSubmission relaxed ordering mode.
Initial implementation of task store section

Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-17 12:23:29 +01:00
Kacper Nowak 966aa460f7 feat(yaml_parser): Correct parsing whitespaces-separated strings
Fix given scenarios in yaml parsings:
- Correct reading string containing multiple words separated by a
whitespace (space/tab) on token value retrieving
- Remove any unnecessary whitespaces from the end of a string on token
value retrieving

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-11-15 12:48:17 +01:00
Dominik Dabek 30fe24aa79 Avoid cmpexchg due to CPU Hardware limitation
Limit the amount of times compare_exchange_weak is called,
to avoid issues with contention when multiple cpu cores request
the same address.

Related-To: NEO-7030

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-11-08 17:11:52 +01:00
Warchulski, Jaroslaw fb25f96081 Cleanup includes 2
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-07 10:36:50 +01:00
Aravind Gopalakrishnan 3b4695460a Fix misaligned pointer returned in heap allocator
Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-11-03 00:23:24 +01:00
Krystian Chmielewski 0ef6b9b64c Zebin manipulator - create dump directory fix
This commit fixes problem in zebin manipulator when dump was not
created.
* Explicitly create dump directory.
* Add slash to dump argument.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-10-24 20:44:27 +02:00
Krystian Chmielewski 4f0d19628e Ocloc asm/disasm support for zebin
This commit adds option to disassemble and assemble zebinary.

Disasm disassembles zebinary into sections. Text sections are
translated to assembly, relocations and symbols are
translated into human readable format.

Asm assembles zebinary from files generated by disasm.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-10-10 14:48:55 +02:00
Lukasz Jobczyk b10b3ed9dd Add initial enqueue bcs split infrastructure
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-08-18 15:02:08 +02:00
Patryk Wrobel cb23a38aad Do not copy arguments passed to FileLogger
Historically, FileLogger was intended to work with scalar types.
Therefore, its member functions utilized parameter packs, which
copied the arguments. However, some time ago std::strings had
started to be passed to this function. The recursion was performing
multiple copies of the same std::string, which could cause
unneeded memory allocations.

This change:
- replaces copying with const references
- applies std::move() operator if possible
- replaces std::unique_lock with std::lock_guard

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-08-16 14:04:52 +02:00
Krystian Chmielewski 9bd2c7da2b refactor(zebin decoder): parsing enums
This commit simplifies parsing of enums in zebin decoder and removes
unnecessary tests.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-08-10 23:36:25 +02:00
Dunajski, Bartosz 98d776867f Add initial support for KernelArgsBuffer allocation
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-08-03 20:28:21 +02:00
Kamil Kopryk d4d54f5093 Cleanup includes
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-07-25 09:58:38 +02:00
Daniel Chabrowski f31fef4417 Simplify ReferenceTrackedObject API
Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-06-27 11:27:08 +02:00
Daria Hinz 2637ae5816 Ocloc: Support for various variants of acronyms
In addition to supporting the official -device acronyms
(e.g. xe-hpg), support for shorter and deprecated acronyms
has also been added.
An example of supported variances:
- xehpg
- xe_hpg
- xe_hpg_core

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-6910
2022-06-14 22:49:01 +02:00
Artur Harasimiuk 6d43e96dee style: configure readability-identifier-naming.ClassCase
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-06-13 18:02:39 +02:00
Krzysztof Gibala dc1fe7d59a Change MemoryPool to enum class
Use enum class for MemoryPool in GraphicsAllocation
This change will ensure that GA is constructed in the proper way

- Rename namespace for isSystemMemoryPool method
- Add method getMemoryPoolString for logging actual pool which is in used
- Remove wrong pattern in GraphicsAllocation constructor

Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-06-02 12:46:15 +02:00
Daniel Chabrowski 6fd7ae7142 Cleanup headers
Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-05-26 17:55:44 +02:00
Daniel Chabrowski 7463e1970b Cleanup headers
Make TUs and headers self-contained, remove unused headers

Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-05-18 11:42:06 +02:00
Artur Harasimiuk 3f04769f07 style: configure readability-identifier-naming.FunctionCase
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-17 20:55:56 +02:00
Artur Harasimiuk e9be9b64c6 clang-tidy configuration cleanup
Define single .clang-tidy configuration with all used checks and use
NOLINT to selectively silence tool. That way cleanup should be easier.
third_part/ has its own configuration that disables clang-tidy for this
folder.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-11 14:02:04 +02:00
Artur Harasimiuk a6490062a9 fix code issues reported by clang 14
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-04-29 10:43:34 +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
Krystian Chmielewski 2c1bfbb5b2 Encode number barriers
When programming number of barriers use BARRIER_SIZE enumeration.
Resolves: NEO-6785

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-04-08 10:32:23 +02:00
Michal Mrozek 787c74ce7a Do not make dynamic allocations in hot calls.
std::stringstream does memory allocation even though it is not used.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-04-01 20:23:59 +02:00
Bartosz Dunajski 779bca39a7 Debug flag to add sfence instruction prior to DirectSubmission dispatch
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-01 15:53:03 +02:00
Sebastian Luzynski 01e76998d4 Remove unused CPU features
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2022-03-30 18:20:08 +02:00
Sebastian Luzynski cf906030ac Add neon intrinsics for aarch64
Related-To: NEO-6452

Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2022-03-29 18:22:32 +02:00
Patryk Wrobel 4cde6ea1ce Detect GPU hangs in CommandMapUnmap::submit()
This change introduces detection of GPU hangs
in CommandMapUnmap::submit() as well as in Event::submitCommand().
ULTs have been added to cover the new code.

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-03-15 13:17:41 +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
Baj, Tomasz f2e1361541 Remove TODOs
Related-To: NEO-6674

Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2022-02-23 13:15:05 +01: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
Katarzyna Cencelewska 45d23868de Remove device enqueue part 15
- remove DEVICE_QUEUE_BUFFER

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-02-03 16:19:07 +01:00
Maciej Plewka 9d8ce7aace Command container appends BB_END on cmd buffer allocation end
When linear stream created for command container has not enough space
for command and BB_END it will program BB_END and allocate new command
buffer allocation. Pointer returned from getSpace in this case will
return storage from new command buffer allocation.

Related-To: NEO-5707

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-01-31 16:15:37 +01:00
Ayush Pandey 715b9d31d2 Find sscanf alternative.
Used strtol() to write sscanfUtil to extraxt info of BDF pcipath.

Related-To: LOCI-1002

Signed-off-by: Ayush Pandey <ayush.pandey@intel.com>
2022-01-21 09:02:48 +01:00
Lukasz Jobczyk 95585a81f7 Optimize timestamp packet dependencies
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-30 09:48:36 +01:00
Lukasz Jobczyk 35f6cd00ee Add option to log allocations to std out
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-23 15:45:42 +01:00
Lukasz Jobczyk 14e338e669 Revert "Optimize timestamp packet dependencies"
This reverts commit c365b422963917e7b882f9db985969c036f0fa3f.

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-23 14:29:29 +01:00
Bartosz Dunajski dfdd3c597a Remove redundant BUFFER_COMPRESSED allocation type
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-07 13:35:49 +01:00
Maciej Dziuban e3bb526067 Optimize timestamp packet dependencies
- Clear dependencies even if last engine changed
- Do no program semaphore waiting for blit when blit is submitted with gpgpu
- Track barrier timestamps to correctly synchronize blits in OOQ

Related-To: NEO-6444
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-12-07 11:47:50 +01:00
Zbigniew Zdanowicz 47dbe359bf Add command encoder for store data command
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-02 20:56:07 +01:00
Lukasz Jobczyk 63116e4100 Use wait utils while waiting for timestamps
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-02 17:49:05 +01:00
Krystian Chmielewski 8e57e48695 L0: Pass debug zebin to SLD
Added passing debug zebin to SLD.
Added support for .const.data.strings section in debug zebin creation.
Refactored debug zebin creation code.

Resolves: NEO-6246
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-11-18 11:38:23 +01:00
Artur Harasimiuk 35f135bbc8 compiler cache to store input into separate file
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-11-16 17:23:17 +01:00
Bartosz Dunajski 1f2aa82c5b Remove UNUSED_VARIABLE macro
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-22 18:56:33 +02:00
Bartosz Dunajski d34ef3170a Remove CPP_ATTRIBUTE_FALLTHROUGH macro
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-22 17:27:57 +02:00
Filip Hazubski 28b37aea72 Correct handling unique_ptr in functions
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-10-21 18:17:14 +02:00
Mateusz Jablonski 5a7d14398c Remove redundant mutex lock
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-21 14:57:07 +02:00
Artur Harasimiuk 091b3ac4f6 cpu_info refactor
Related-To: NEO-5853
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-10-14 17:55:24 +02:00
Mateusz Jablonski ec1e39bab8 Move OCL specific part of FileLogger to ClFileLogger
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-11 23:55:08 +02:00
Bartosz Dunajski 5560663b01 Revert "Disabled forced cross engine synchronization on single queue"
This reverts commit 4b5432967eb9f484a491323b6766efe14929c5e9.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-06 17:49:48 +02:00
Bartosz Dunajski 50bd8b5f19 Disabled forced cross engine synchronization on single queue
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-01 13:09:33 +02:00
Artur Harasimiuk a63b9b1273 move common files to shared/
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-09-27 11:10:20 +02:00
Maciej Dziuban c04f8e5e5b Pass copy engines to waitUntilComplete in OpenCL command queue
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-24 14:11:44 +02:00
Artur Harasimiuk 895e9e5116 initial Neo enabling on architectures other than x86
Related-To: NEO-6011
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-09-14 09:14:52 +02:00
Jaime Arteaga 5c236a62fd Changes to SW tags
Add SW tags to synchronization points
Add ID sequence numbers
Add new allocation type

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-08-18 01:51:37 +02:00
Mateusz Jablonski f5dca9e14c Prevent double-free in StackVec's move-assignment operator
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-07-23 11:52:05 +02:00
Bartosz Dunajski 31250b343f TSP: Move packetsUsed member out of GraphicsAllocation
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-07-22 17:04:40 +02:00
Kamil Kopryk aa70ad0aee Simplify code
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-07-22 14:58:37 +02:00
Bartosz Dunajski e1f42c2ae1 Remove TSP atomic dependency tracking
This reverts commit d17668f023bee409ee68e766bbc7d5f16ce8d52b.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-23 16:59:41 +02:00
Bartosz Dunajski 2e97aeccfd Revert TSP changes
This commit reverts:
a1d2bdc76666059653c79fe39a26113ce47c632a,
71a115129c1698ff15305fd0ea3828cba861be47,
e1a9087a466bfba54d84a64247e6596092034a91.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-21 12:44:12 +02:00
Young Jin Yoon a1036ecc75 Fix alignment to be based on starting address
Related-To: LOCI-2342
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2021-06-17 19:08:08 +02:00
Bartosz Dunajski 5af793ddc6 Remove TSP implicit dependency tracking logic
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-16 08:47:00 +02:00
Bartosz Dunajski 080b1e2f66 Remove redundant TSP completion tracking logic
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-15 17:29:19 +02:00
Bartosz Dunajski 2d55916003 Disable atomic dependency tracking for TSP
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-15 15:03:57 +02:00
Milczarek, Slawomir 165194bf85 Add merge condition for freed chunks in heap allocator
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-05-27 16:26:54 +02:00
Maciej Dziuban 33e8f73775 Enable custom allocation alignments on Linux
Related-To: NEO-5750
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-05-24 12:56:51 +02:00
lgotszal 3bd4bca911 Copyright header update
Dates corrected in copyright headers to reflect original publication date
(2018 for OpenCL, 2020 for Level Zero).

Signed-off-by: lgotszal <lukasz.gotszald@intel.com>
2021-05-17 20:38:19 +02:00
Bartosz Dunajski 9c5dee54dc Fix root device residency for TagNode
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-05-17 14:51:23 +02:00
Bartosz Dunajski e53202e96b TagAllocator to accept multiple root devices
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-05-14 09:27:16 +02:00
Maciej Dziuban 32025efafb Enhance HeapAllocator with custom alignments
Related-To: NEO-5750
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-05-07 21:43:11 +02:00
Zbigniew Zdanowicz e0b5f2f7f7 Add new IO functions
Related-To: NEO-5718

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-04-19 16:32:33 +02:00
Zbigniew Zdanowicz 97505aebb6 Change default number of iterations in wait function
Related-To: NEO-4759

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-04-01 13:09:08 +02:00
Zbigniew Zdanowicz b9ed7de40a Parametrize wait operation
Related-To: NEO-4759


Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-03-31 15:12:59 +02:00
Bartosz Dunajski 0bc04f3c31 Refactor TimestampPackets class
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-29 10:26:32 +02:00
Bartosz Dunajski 5a50ad098c Refactor TagAllocator
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-26 15:16:56 +01:00
Filip Hazubski 9a8125cdb0 Correct formatting
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-03-16 10:29:41 +01:00
Konstanty Misiak 88a1593913 Add software tags
Related-To: NEO-344

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2021-03-15 15:51:08 +01:00
Mateusz Jablonski 35064c3dea Allow for hex input in file with debug keys
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-02-26 16:04:26 +01:00
Mateusz Hoppe 06bcc67e38 Clean log file from incorrect entries
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-02-15 13:05:29 +01:00
Slawomir Milczarek 2a1069eda2 Configure 2MB alignment for allocations on standard heap 64k
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2021-01-22 11:56:33 +01:00
Igor Venevtsev cb13a5184d Check for supported CPU VA size in GfxPartition initialization
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-01-14 16:55:59 +01:00
Mateusz Jablonski 5a5ad64f5d Ocloc compile: support gen families exposed in help
fix typo in method name

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-01-11 19:11:56 +01:00
Igor Venevtsev 92f067b9aa Add CpuInfo::isCpuFlagPresent() method
Related-To: NEO-5276

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-01-05 14:23:08 +01:00
Mateusz Jablonski 7c086c9fb4 Use StackVec instead of std::vector in ClDeviceVector
Related-To: NEO-5001
Change-Id: Icab72b5be9f32abf10efd93614768b256aa2ac2c
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-10-16 17:51:40 +02:00
Filip Hazubski 34176a8ea9 Correct formatting
Change-Id: I592986cb67099136a75d12ad3bc9729c7f85738b
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-10-16 10:46:26 +02:00
Bartosz Dunajski 44a6d70ced Dont use Packets without profiling data to calculate kernel duration
Change-Id: I710348835f8884a3b244502f53ff4e4980441654
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-09-29 17:09:01 +02:00
Jaroslaw Chodor 39f42b20ba Require OpenCLDriverName in DeviceRegistryPath
Change-Id: I93a8ca95082f6ddb48adffe33145568f32d77418
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-24 08:21:20 +02:00
Pawel Cieslak fb821f21f5 Cmake format script
Related-To: NEO-1157

Change-Id: Ie1b907e838cfb9ad0d75cc8971d415f7c77103c9
Signed-off-by: Pawel Cieslak <pawel.cieslak@intel.com>
2020-08-19 16:36:30 +02:00
Jaroslaw Chodor 321f649854 Zebin support
Change-Id: I1e426ee2c5174fd0a4c51c1644cda467c2b88881
2020-08-07 11:48:41 +02:00
Jaroslaw Chodor d65cdab453 Zebin - yaml parser
Change-Id: If8b5bcd68b7d39bfd3fb53b619f5de973b059bff
2020-07-30 07:26:44 +02:00
Bartosz Dunajski a465d5c753 Dont clear dependencies on enqueue engine switch
Change-Id: Ic6c6f202052c7024c7997de882f0079eead07303
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-07-07 15:51:00 +02:00
Filip Hazubski 29821b5a25 Update SettingsFileReader
Improve parsing to be less strict.

Change-Id: I123a98bb8341b007c8fe6e7556ebaa113d1f076e
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-07-01 15:07:35 +02:00
Andrzej Swierczynski 351af1d3de Correct tests: pass device bitfield to allocation properties [3/n]
Related-To: NEO-4722

Change-Id: Id1459e6a2ebd71e410193cfbdfa2cfa44edf3b1d
Signed-off-by: Andrzej Swierczynski <andrzej.swierczynski@intel.com>
2020-06-30 21:13:25 +02:00
Filip Hazubski 851e894ab6 Update device caps initialization
Change-Id: I2488b2a07463efefaba03ff1d979cd7034f54136
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-06-14 19:18:39 +02:00
Mateusz Hoppe d55a0ae5c6 Detect enable program debugging env variable
Resolves: NEO-4713

Change-Id: Id9ce30b84943c4b364f7756a430d58df2614a28b
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-06-09 15:23:20 +02:00
Igor Venevtsev 397eae86aa Add CPU virtual address size report
Related-To: NEO-4525

Change-Id: I12ff095c07a71acbf2d6dceab04abb99daeaf885
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2020-06-08 12:28:41 +02:00
Bartosz Dunajski 71bd96ad71 Disallow copying and moving TagNode
Change-Id: I1a350edaff300c68a4a7314ea984382b88288413
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-05-20 17:45:03 +02:00
Bartosz Dunajski 37a6a900a8 Minor TagAllocator cleanup
Change-Id: I7d7c522e32ddf7eb614714c5e81b5b7b88129165
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-05-15 11:40:43 +02:00
Bartosz Dunajski 6818e55594 Improve TimestampPacket dependencies handling
Change-Id: Ib38f9db8e7398759c3031af5709ccdfd6a421002
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-04-23 15:18:40 +02:00
Mateusz Jablonski 86a5946b7b Pass device bitfield to TagAllocator
Related-To: NEO-4484
Change-Id: I56602a15d18ff577a97d573eeda51e7866525aa7
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-04-17 10:41:18 +02:00
Lukasz Jobczyk 5a3afcf535 Change atoi to atoll to support 64 bit values
Change-Id: I82d5843c644b2c1e97c3772fd9cc120fb7dd29e8
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-04-14 14:43:59 +02:00