qrd_cfloat_core - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English
#include "qrd.hpp"
template <
    int RowsA,
    int ColsA,
    int PowUnroll,
    int PowFoldRow,
    int NCU,
    int PowNCU,
    class T
    >
void qrd_cfloat_core (
    hls::x_complex <T> dataA [NCU][RowsA/NCU][ColsA],
    hls::stream <hls::x_complex <T>>& R_strm
    )

Level 1 : high throughput version for Complex Float QR decompression 1024*256.

Parameters:

RowsA Row numbers of matrix A. “enum”:[“1024”,”512”,”256”].
ColsA Column numbers of matrix A. “enum”:[“256”,”128”,”64”].
PowUnroll Power2 of RowsA Size. “enum”:[“10”,”9”,”8”]. Set the appropriate input matrix rows and columns, kernel top will automatically deduce the right configuration.
PowFoldRow Power2 of fold Rows Size. “enum”:[“2”]. Set the appropriate input matrix rows and columns, kernel top will automatically deduce the right configuration.
NCU Number of Compute Unit. “enum”:[“32”,”4”,”1”]. Set the appropriate input matrix rows and columns, kernel top will automatically deduce the right configuration.
PowNCU Power2 of compute unit(CU) number. “enum”:[“5”,”2”,”1”]. Set the appropriate input matrix rows and columns, kernel top will automatically deduce the right configuration.
T Input/output data type.
dataA Inout port, Matrix A as input and output matrix Q. For multi-cu design, expand Row into 2 dimensions[NCU][RowsA / NCU], NCU is related to PowNCU.
R_strm Output port, Matrix R, non-zero numbers in the upper triangular matrix. The effective numbers can be placed in appropriate position of the 0 matrix to restore the R matrix.