BSR:Block compressed Sparse Row matrix format

BSR块压缩存储是CSR行压缩存储的升级变形;可以降低图数据存储空间。

有以下图的矩阵表示:
在这里插入图片描述

一、CSR表示

rowIndex = [0  3   7   9   11   14  14] 
columns  = [0 2 3 | 0 1 2 3 | 2 3 | 2 3 | 2 3 4 5] 
values  =  [1 6 7 | 2 1 8 2 | 1 4 | 5 1 | 4 3 7 2]

|rowIndex|+|columns|+|values|= 7 + 20 + 20 = 37

二、BSR 表示

假设:块(Block)的大小=2;

rowIndex = [0   2   3   5]
columns  = [0 1 | 1 | 1 2]
values  =  [1 0 2 1 | 6 7 8 2 | 1 4 5 1 | 4 3 0 0 | 7 2 0 0]

BSR:****|rowIndex|+|columns|+|values|= 7 + 20 + 20 = 29

以块为单位:

rowIndex[i]: 记录每个块行i的偏移量,i ∈ [0, blockrows]。

rowIndex[i+1] - rowIndex[i] 表示:第i块行中非零块数;
例如rowIndex[1] - rowIndex[0] = 2 - 0 =2;表示第0行有2个块;

rowIndex[blockrows] 表示: 非零块的总个数。
例如rowIndex[3]=5;表示总共有5个块;

columns[i] 表示第i个非零块的列坐标;columns的大小(长度) 与非零块的总个数相同;
columns[2]=1表示第3个块在第1列(以块为单位);

values 按行存储非零块的值。

三、空间节省:

CSR:****|rowIndex|+|columns|+|values|= 7 + 20 + 20 = 37
BSR:****|rowIndex|+|columns|+|values|= 7 + 20 + 20 = 29
r =(37-29)/ 37 = 21.6%

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值