OFS / oneapi-asp

Intel® oneAPI Accelerator Support Package (ASP)
MIT License
2 stars 9 forks source link

[Fix] - Update DMA controller to ensure writes are done in full-bursts #126

Closed DouglasGroen closed 9 months ago

DouglasGroen commented 9 months ago

Description

The original DMA controller was designed to expect streaming data - that is, once data was received from the source it would start writing to the destination. This could lead to starving the downstream channel while waiting for the rest of the data for the current burst. These changes will wait for the data buffer to contain at least enough data for the entire burst before starting to send it.

Collateral (docs, reports, design examples, case IDs):

none

Tests added:

none

Tests run:

N6001: Tested in hw: anr, boardtest, cholesky, cholesky_inv, decompress, merge-sort, mvdr-beamforming, double-buffering (> 100x), gzip (576MB file, >100x), simple-host-streaming, buffered-host-streaming, zero-copy-data-transfer, explicit-data-movement. D5005: Test in hw: anr, boardtest, cholesky, cholesky-inv, decompress, merge-sort, mvdr, double-buffering, gzip (manual gunzip is successful), shs, bhs, zcdt, edm.