Skip to content

Cannot use streaming and non-streaming modes simultaneously #51

Open

Description

@dalkhimov88

The limitation is mentioned in the documentation, but is there an ETA or a plan to address it in the near future?

Streaming DMA offers a significant improvement in latency, but it comes with a substantial drawback: in a multi-vendor application environment, once the Kona X card is flashed into a Kona XM card/firmware, only the applications updated to streaming DMA will work. All existing/legacy code utilizing non-streaming(regular) DMA and autocirculate will stop working, including SDK demos like ntv2qtpreview.

This makes it prohibitive to use streaming DMA in mixed app environment, since flashing the card back and forth between firmwares on a daily basis is not practical. If the two dma modes can't coexist simultaneously, perhaps a mode can be provided to enable and disable streaming DMA without reflashing the card?

Looking forward to using Streaming DMA,
Dmitry

Activity

  1. paulh-aja commented on May 8, 2025

    @paulh-aja
    Collaborator

    @davids635 Would you be able to comment here?

  2. davids635 commented on May 9, 2025

    @davids635
    Contributor

    The Xilinx DMA engine we use on the Kona boards can be configured for streaming or block mode transfers but not both. We hope to move to a new engine that can do both in the future. Streaming DMA offers significant improvement in latency for applications that can process video in stripes as it arrives. However most applications are frame based in which case streaming video can reduce the latency by the time it takes to transfer a frame. If your application does video processing using CUDA we do support DVP for video and RDMA which can reduce the time required to move video to and/or from the graphics engine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    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