稀疏布尔矩阵乘法

时间:2018-02-16 10:00:29

标签: boolean gpu sparse-matrix gpgpu matrix-multiplication

有人知道稀疏布尔矩阵乘法的有效实现吗?我对CPU和GPGPU实现感兴趣,因为有必要将不同大小的矩阵(从8x8到10 ^ 8x10 ^ 8)相乘。目前,我使用的是cuSPARSE库,但它只支持数值矩阵(float,double等),这一事实导致了巨大的开销(按内存和时间),这对我的任务至关重要。

1 个答案:

答案 0 :(得分:0)

由于布尔矩阵可以视为某些(二部图)的邻接矩阵,因此其与另一个矩阵的乘积可以解释为两个子图的节点之间的距离2连接,这些子图由一组公共节点连接。 为了避免浪费空间并利用一定数量的位并行性,您可以尝试使用某种形式的简洁数据结构进行图形存储和操作。 这样的一种数据结构家族可能对您有用,就是K2树(或通常为Kn),它使用一种类似于空间分解(例如四分频和八分频)的方法来存储邻接关系。 最终,最佳算法和数据结构将在很大程度上取决于矩阵的维度和稀疏模式。