3. Buffer and distribute input column vector entries and the column pointers of NNZs - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English

The CSC format sparse matrix information is stored in three arrays, namely the array of the NNZs’ values, the array of the row indices of NNZs and the column pointers of the NNZs. To maximize the performance, the storage of the values and row indices of the NNZs can be partitioned into blocks and stored in multiple HBM channels. This storage scheme allows multiple sparse matrix blocks being processed in parallel. The buffering and transmission logic implemented in dispCol and dispNnzCol are used to move column vector and pointer blocks to allow multiple sparse matrix blocks being processed in parallel. dispColVec is the basic component of dispCol.

For more information, see Column Vector Buffering and Distribution Implementation.