Skip to content

Support DMA out-of-order mode #1317

@Yu-Zhewen

Description

@Yu-Zhewen

Task1: Update runtime configuration APIs to:

  • enable out-of-order mode at S2MM, and (set through amdaie.dma_start for mem; not supported for shim, so no need to set amdaie.npu.push_to_queue)
  • configure out-of-order BD ID at MM2S (set through amdaie.npu.write_bd for shim, amdaie.dma_bd_packet for mem)

Task2: Create a new transformation pass to decide when/where to use out-of-order

  • link the correct BD ID between S2MM and MM2S (require all the BDs have been assigned)
  • out-of-order can only be used for packet flows (and packet header should not be dropped by stream switch, by setting keep_pkt_header in amdaie.flow)
  • set up repeat_count. For out-of-order mode, this value should represent the total number of transmissions across all BDs within a block (require non-circular DmaCpyNd?)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions