Commit Graph

109 Commits

Author SHA1 Message Date
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