habanalabs: sync stream collective infrastructure
Define new API for collective wait support and modify sync stream common flow. In addition add kernel CB allocation support for internal queues. Signed-off-by: Ofir Bitton <obitton@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
This commit is contained in:
parent
4bb1f2f3fb
commit
5fe1c17ddf
6 changed files with 176 additions and 22 deletions
|
|
@ -523,7 +523,8 @@ struct hl_cs_chunk {
|
|||
*/
|
||||
__u64 cb_handle;
|
||||
|
||||
/* Relevant only when HL_CS_FLAGS_WAIT is set.
|
||||
/* Relevant only when HL_CS_FLAGS_WAIT or
|
||||
* HL_CS_FLAGS_COLLECTIVE_WAIT is set.
|
||||
* This holds address of array of u64 values that contain
|
||||
* signal CS sequence numbers. The wait described by this job
|
||||
* will listen on all those signals (wait event per signal)
|
||||
|
|
@ -541,7 +542,8 @@ struct hl_cs_chunk {
|
|||
*/
|
||||
__u32 cb_size;
|
||||
|
||||
/* Relevant only when HL_CS_FLAGS_WAIT is set.
|
||||
/* Relevant only when HL_CS_FLAGS_WAIT or
|
||||
* HL_CS_FLAGS_COLLECTIVE_WAIT is set.
|
||||
* Number of entries in signal_seq_arr
|
||||
*/
|
||||
__u32 num_signal_seq_arr;
|
||||
|
|
@ -550,14 +552,21 @@ struct hl_cs_chunk {
|
|||
/* HL_CS_CHUNK_FLAGS_* */
|
||||
__u32 cs_chunk_flags;
|
||||
|
||||
/* Relevant only when HL_CS_FLAGS_COLLECTIVE_WAIT is set.
|
||||
* This holds the collective engine ID. The wait described by this job
|
||||
* will sync with this engine and with all NICs before completion.
|
||||
*/
|
||||
__u32 collective_engine_id;
|
||||
|
||||
/* Align structure to 64 bytes */
|
||||
__u32 pad[11];
|
||||
__u32 pad[10];
|
||||
};
|
||||
|
||||
/* SIGNAL and WAIT flags are mutually exclusive */
|
||||
/* SIGNAL and WAIT/COLLECTIVE_WAIT flags are mutually exclusive */
|
||||
#define HL_CS_FLAGS_FORCE_RESTORE 0x1
|
||||
#define HL_CS_FLAGS_SIGNAL 0x2
|
||||
#define HL_CS_FLAGS_WAIT 0x4
|
||||
#define HL_CS_FLAGS_COLLECTIVE_WAIT 0x8
|
||||
|
||||
#define HL_CS_STATUS_SUCCESS 0
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue