【发布时间】:2021-02-26 19:15:12
【问题描述】:
我正在尝试实现本文中的两个稀疏矩阵相乘的算法:https://crd.lbl.gov/assets/pubs_presos/spgemmicpp08.pdf(第一个算法 - 一维算法)。
困扰我的是我不确定 SPA(稀疏累加器)到底是什么。我做了一些研究,我得出的结论是 SPA 代表 ????????????????????????稀疏矩阵的行/列(我主要不确定那部分),它由一个具有非零值的密集向量、一个非零元素的索引列表(为什么要列出?)和一个由“占用”标志(如果该位置上的活动行/列中的元素不为零,则在 ??????-th 索引上的??????????????????)。有些还保留非零输入的数量。
我说的对吗?如果是这样,我有一些问题。如果这个结构有一个密集的布尔向量并且我们必须保留这些值,那么简单地填充一个密集的向量并忽略它是稀疏的不是更容易吗?我确信这有一些原因可以提高效率(内存和时间),但我不明白为什么。
另外,正如我已经问过的,为什么除了索引列表之外的一切都是向量?为什么不也是一个向量?
提前致谢!
【问题讨论】:
标签: sparse-matrix matrix-multiplication