学习日记-spmv(6)

SPMV稀疏矩阵向量乘笔记(6)

spmv之oski优化

  1. 首先了解一下csr的spmv代码实现,其中val为非零值,ind为列索引,ptr为行指针。
    CSRCode
    l是列值的一个索引,真正的列值是 。它和COO SpMV的一个明显区别是数据重用模式不同。 现在在内层循环 里被重用了,这意味着我们在代码生成时将其值放入一个寄存器中,然后在内层循环 中使用该寄存器而不用重复访问内存。此时内存循环每轮只需要3次memory loads。
  2. 基于BSCR的spmv代码实现
    首先展示伪代码:
    BSRCode
    下面是C语言代码:
    bscrCode
  3. OSKI希望通过auto-tuning来解决的问题,即自动调优,调整分块大小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值