Related-To: LOCI-3860
- Fixed IPC Event pools that are allocated for a single device such that
when opened thru IPC only that device handle can be used by the process
which opened the IPC event pool.
- IPC Event handle includes numDevices as a field to determine if the
root device index is the only index allowed for this event pool.
Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
During event synchronize in commandlist, now the printf buffer
should get flushed out when host synchronize is called.
Related-To: LOCI-3681
Signed-off-by: Zhang, Winston <winston.zhang@intel.com>
1. Reposition event pool code
- Implementation of event pool methods should be placed in event pool file
2. Change event pool and event classes
- move all class variables to base classes as protected
- add needed setters and getters for runtime
- add extended mocks and whiteboxes for unit tests
- tests using base or mock class when needed
3. Correct event creation in unit tests
- use HW specific timestamp type
- HW unit tests are using template timestamp type for event creation
- other tests are using helper to create event
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
Remote event pool is created with device list that configure max event packet
IPC context can have different device list and configure different
max event packet.
When these two numbers are different driver should not allow creation of
IPC event pool.
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- using predefined structure adds security to enforce data limit
- code is simplified and easier to maintain or add new data fields
Related-To: NEO-7636
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
1. If cpu based copy is used, it is possible that copy time is
less than device timestamp resolution. In this scenario, this patch
returns 1 instead of 0.
2. This patch also fixes usage of CPU time instead of CPU timestamp
for end timestamp calculation.
Related-To: LOCI-3754
Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
- Given Device Allocated IPC Event Pool, the open IPC event pool process
must allocate the event pool as a device buffer or usage of the memory
will fail.
- Pass deviceAlloc flag thru the IPC Event Pool Handle to enable the
child processes to allocate the correct memory type.
- Pass isHostVisible flag thru IPCEvent Pool Handle to indicate if the
event pool must be allocated as host visible regardless of the
allocation type.
Related-To: LOCI-3764
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
- Given Device Allocated IPC Event Pool, the open IPC event pool process
must allocate the event pool as a device buffer or usage of the memory
will fail.
- Pass deviceAlloc flag thru the IPC Event Pool Handle to enable the
child processes to allocate the correct memory type.
- Pass isHostVisible flag thru IPCEvent Pool Handle to indicate if the
event pool must be allocated as host visible regardless of the
allocation type.
Related-To: LOCI-3764
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
This fix unifies setting event properties in event pool, so they are shared
betweem all event pool devices.
Related-To: NEO-7490
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
- Given Device Allocated IPC Event Pool, the open IPC event pool process
must allocate the event pool as a device buffer or usage of the memory
will fail.
- Pass deviceAlloc flag thru the IPC Event Pool Handle to enable the
child processes to allocate the correct memory type.
Related-To: LOCI-3764
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
First fix is to calculate remaining packets only when available.
Second fix is to use multi-tile signal when number of remaining packets
does match partition count - this is to resolve subdevice - root device
possible conflicts.
Related-To: NEO-7490
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
Observed about 50MB reduction in overall binaries size (directory build))
when building all targets
with MSVC (Visual Studio 2022 17.3.0 preview 6)
using Debug 64 configuration.
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This change has two issues fixed.
First fix assures event must not download all allocations sent to GPU
when event is not ready.
Second fix performs page walk on event allocation before event allocation
can be downloaded, as download before page walk is not supported scenario
in TBX mode.
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
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>
Currently Event::csr is set during
initialization and never changes.
This PR is to associate Event::csr with the one
that was used to dispatch task in cmdlist
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
Related-To: NEO-7237
If size is small enough, it is more efficient to
perform copy through locked ptr on CPU.
This change also introduces experimental flag to
enable this.
Signed-off-by: Szymon Morek <szymon.morek@intel.com>