Warchulski, Jaroslaw
8de3898abc
Cleanup includes 31
...
Cleaned up files:
shared/source/command_stream/experimental_command_buffer.h
shared/source/helpers/get_info.h
shared/source/helpers/local_id_gen.h
shared/source/memory_manager/gfx_partition.h
shared/source/memory_manager/host_ptr_manager.h
shared/source/memory_manager/prefetch_manager.h
shared/test/common/mocks/mock_memory_manager.h
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com >
2023-01-16 11:45:55 +01:00
Warchulski, Jaroslaw
a2fe929f0c
Cleanup includes 18
...
Cleaned up files:
shared/source/command_stream/command_stream_receiver_hw.h
shared/source/compiler_interface/compiler_interface.h
shared/source/direct_submission/direct_submission_hw.h
shared/source/helpers/dirty_state_helpers.h
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com >
2023-01-02 13:28:29 +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
Slawomir Milczarek
5c1b50bccf
Add memory prefetch modes for single and multiple subdevices
...
Single-subdevice prefetch for cmd list copy-only (with bcs) and acc mode.
Multi-subdevice prefetch (default) for shared allocation with multiple BOs.
Related-To: NEO-6740
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com >
2022-12-07 15:25:32 +01:00
Jaime Arteaga
4dfdbd612d
Fail when handle cannot be obtain for an allocation
...
If a handle cannot be obtained, like PRIME_HANDLE_TO_FD, then
properly check for the error and propagate it upwards.
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com >
2022-11-30 20:59:02 +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
Compute-Runtime-Validation
565d44e59c
Revert "Fail when handle cannot be obtain for an allocation"
...
This reverts commit 4391ad21bb .
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com >
2022-11-23 05:45:01 +01:00
Jaime Arteaga
4391ad21bb
Fail when handle cannot be obtain for an allocation
...
If a handle cannot be obtained, like PRIME_HANDLE_TO_FD, then
properly check for the error and propagate it upwards.
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com >
2022-11-22 19:29:19 +01:00
Slawomir Milczarek
ba003dd7dc
Prefetch kmd-migrated shared allocation to multiple subdevices
...
Related-To: NEO-6740
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com >
2022-11-17 15:24:54 +01:00
Szymon Morek
a66e69abc9
Prealloc cmd buffer for CSR only when being used
...
Related-To: NEO-7361
Currently additional command buffer is
preallocated for all CSRs, even for those which
won't be used by application. This PR changes that
Signed-off-by: Szymon Morek <szymon.morek@intel.com >
2022-11-15 20:06:29 +01:00
Mateusz Jablonski
a17df8fa86
Return SubmissionStatus from processResidency method
...
it allows to return non-binary status to API layer
Related-To: NEO-7412
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2022-11-15 13:17:43 +01:00
Mateusz Jablonski
bddf1bbe76
Return SubmissionStatus from printBOsForSubmit method
...
it allows to return non-binary status to API layer
Related-To: NEO-7412
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2022-11-15 12:43:21 +01:00
Maciej Bielski
11eb0aa769
Do not bind command buffer separately
...
Improve performance by binding the command buffer together with other
allocations if VM_BIND feature is available. Remove the legacy
flag PassBoundBOToExec from DebugManager to simplify the logic.
Adapt unit tests and reuse handy macros to generate proxy mock-methods.
Related-To: NEO-7348
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com >
2022-09-30 18:46:16 +02:00
Fabian Zwolinski
645600d141
Return error when there is no memory to evict
...
We want to return error code to the application instead of aborting when
we are not able to make more memory resident.
Related-To: NEO-7289
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com >
2022-09-22 14:26:55 +02:00
Warchulski, Jaroslaw
aed890a219
Move files between shared/test/unit_test and /common (fixtures, helpers, mocks)
...
unit_test/fixtures/mock_aub_center_fixture.h -> common/fixtures
unit_test/helpers/raii_hw_helper.h -> common/helpers
unit_test/helpers/static_size3.h -> common/helpers
unit_test/helpers/ult_limits.h -> common/helpers
unit_test/memory_manager/mock_prefetch_manager.h -> common/memory_manager
common/mocks/mock_aub_stream.h -> unit_test/mocks
common/mocks/mock_csr_simulated_common_hw.h -> unit_test/mocks
common/mocks/mock_direct_submission_diagnostic_collector.h -> unit_test/mocks
common/mocks/mock_lrca_helper.h -> unit_test/mocks
common/mocks/mock_tbx_stream.h -> unit_test/mocks
common/mocks/linux/mock_os_context_linux.h -> unit_test/mocks/linux
common/mocks/windows/mock_wddm_direct_submission.h -> unit_test/mocks/windows
Related-To: NEO-6524
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com >
2022-08-11 12:53:19 +02:00
Milczarek, Slawomir
9f36b20423
Bind buffer object before calling vm prefetch
...
Related-To: NEO-6740
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com >
2022-08-01 15:03:21 +02:00
Mateusz Jablonski
db2d1a53b9
Cleanup includes in drm_memory_manager.h
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2022-07-26 20:53:21 +02:00
Bartosz Dunajski
52b00a11b0
Remove LSH from CommandQueue
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com >
2022-07-19 08:47:02 +02:00
Mateusz Jablonski
78c96db2fa
Create wrappers for different version of i915 headers
...
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2022-07-18 10:15:44 +02:00
Bartosz Dunajski
9e1c9ec95e
Use MMAP_OFFSET ioctl to lock BufferObject
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com >
2022-06-07 11:12:31 +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
Mateusz Jablonski
f8983a8ecf
test: Move linux specific tests to shared
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2022-05-23 19:21:50 +02:00
Mateusz Jablonski
de465b1e6c
Move drm wrappers to a separate file
...
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2022-05-17 17:58:19 +02:00
Mateusz Jablonski
3c18744d10
Create a wrapper for drm_i915_gem_execbuffer2
...
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2022-05-12 17:58:16 +02:00
Mateusz Jablonski
268393d776
Create wrapper for drm_i915_gem_exec_object2
...
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2022-05-12 13:14:27 +02:00
Jaime Arteaga
3f26f45c10
Add support for IPC handles with implicit scaling
...
When using implicit scaling, device allocations may have
more than one internal allocation created internally. In that case,
a separate dma-buf handle per internal allocation needs to be
exported.
So introduced two driver experimental extensions to export and
import more than one IPC handle:
- zexMemGetIpcHandles
- zexMemOpenIpcHandles
Related-To: LOCI-2919
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com >
2022-05-09 00:38:17 +02:00
Mateusz Jablonski
ffd1c430b1
feature: use completion fence value from direct submission when available
...
Related-To: NEO-6643
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2022-04-28 15:38:11 +02:00
Mateusz Jablonski
03185f7111
feature direct submission: use tag allocation as a completion fence
...
use tag allocation address as a completion address in exec call
wait for completion value before destroying drm direct submission
Related-To: NEO-6643
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2022-04-25 13:30:55 +02:00
Bartosz Dunajski
06fa316a75
Assign pat_index to BO during creation
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com >
2022-04-21 13:25:13 +02:00
Bartosz Dunajski
68351249d1
Add debug flag to read back command buffer pointer
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com >
2022-03-29 13:08:18 +02:00
Jaime Arteaga
a010fb3634
Dont close shared handle on imported allocations
...
Related-To: LOCI-2272
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com >
2022-03-06 04:35:47 +01:00
Fabian Zwolinski
4e31612c31
Remove GMock from GMockDrmMemoryManager, MockOSMemoryLinux, MyCsr...
...
Removed Gmock from:
- GMockDrmMemoryManager
- MockOSMemoryLinux
- MyCsr
- GmockGfxPartition
Renamed:
- GMockDrmMemoryManager -> MockTestedDrmMemoryManager
Moved class body:
- GmockGfxPartition -> MockGfxPartition
- MockTestedDrmMemoryManager -> TestedDrmMemoryManager
Related-To: NEO-4914
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com >
2022-02-14 13:33:15 +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
Patryk Wrobel
498cf5e871
Implement GPU hang detection
...
This change uses DRM_IOCTL_I915_GET_RESET_STATS to detect
GPU hangs. When such situation is encountered, then
zeCommandQueueSynchronize returns ZE_RESULT_ERROR_DEVICE_LOST.
Related-To: NEO-5313
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com >
2022-01-31 13:48:17 +01:00
Lukasz Jobczyk
44596f6e4d
Revert "Improve mmap logic in createAllocWithAlignment"
...
This reverts commit adb5c58292165f1d5a144548c5d5148021d2152e.
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2022-01-26 08:52:12 +01:00
Filip Hazubski
0424f30782
Improve mmap logic in createAllocWithAlignment
...
Group small allocations and reuse mapped memory in order to keep map
count small.
Related-To: NEO-6417
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com >
2022-01-25 15:30:29 +01:00
Zbigniew Zdanowicz
a7455b5767
Add tweaks and control flags to linux completion fence
...
Related-To: NEO-6575
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com >
2022-01-21 13:41:23 +01:00
Zbigniew Zdanowicz
ec40b6562e
Add unit tests for completion fence
...
Related-To: NEO-6575
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com >
2022-01-20 21:15:34 +01:00
Krystian Chmielewski
af7cb3ff35
Test closing GEM worker is blocking during cleanup
...
Added test checking if closing GEM worker during
DRM memory manager clean up is blocking.
Related-To: NEO-6213
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com >
2022-01-12 12:48:05 +01:00
Zbigniew Zdanowicz
3e1023fa1a
Unify memory layout for all multi tile post sync operations
...
Related-To: NEO-6262
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com >
2021-12-02 18:00:40 +01:00
Szymon Morek
e368e6c20b
Move free function to DrmMemoryManager
...
Signed-off-by: Szymon Morek <szymon.morek@intel.com >
2021-11-30 14:55:18 +01:00
Artur Harasimiuk
7eb5b6aa42
mock dlopen in tests to block unwanted interactions
...
- explicitly specify files allowed to dlopen()
- use underscore to prefix fake library name that we want dlopen to
return nullptr
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com >
2021-11-23 12:55:48 +01:00
Mateusz Jablonski
ef3f93a178
Create neo_libult target
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2021-10-22 16:55:07 +02:00
Mateusz Jablonski
58ebebeec6
Move drm_memory_manager_tests.h and related fixtures to shared
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2021-10-21 20:46:58 +02:00
Mateusz Jablonski
7b57e87ad1
Move some mocks to shared
...
- MockAllocationProperties
- MockBuiltinsLib
- MockWddmMemoryManager
- MockAubCsr
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2021-10-15 09:59:47 +02:00
Mateusz Jablonski
bf25853799
Move some mocks to shared
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2021-10-12 21:46:53 +02:00
Artur Harasimiuk
9bea74a780
move mock_memory_manager to shared
...
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com >
2021-10-05 16:22:38 +02:00
Artur Harasimiuk
b46dc0a6f8
move mock_host_ptr_manager to shared
...
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com >
2021-09-24 15:36:15 +02:00
Kamil Diedrich
4390590831
Add shareable allocation for Windows
...
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com >
2021-08-26 13:43:55 +02:00
Maciej Dziuban
13b2c326fe
Add AlignmentSelector helper
...
Related-To: NEO-5750
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2021-06-01 11:44:04 +02:00