oneAPI_project_SpMV

Chenhan Bai

Chenhan Bai

Beijing Shi

0 0
  • 0 Collaborators

此项目是由cuda源代码实现的稀疏矩阵向量乘利用dpct工具自动转为dpc++,然后手动修改少部分代码后迁移而来的项目,主要实现了SpMV计算接口。矩阵和向量都是随机生成,矩阵采用CSR压缩格式存储计算,还未来得及利用local memory进行加速和CSRv算法优化,待有时间时再做优化。本项目的大量注释代码亦有可取之处,device_spmv函数中kernel函数大量注释为CSRv的算法实现,更符合gpu的访存模式和local memory能带来较大的加速效果。另main中的注释代码可进行设备预热,性能计时。verify函数是gpu计算结果与cpu计算结果对比,用以判断gpu部分代码正确性。 ...learn more

Project status: Published/In Market

oneAPI, HPC

Intel Technologies
oneAPI, DPC++, DevCloud

Code Samples [1]

Overview / Usage

此项目是由cuda源代码实现的稀疏矩阵向量乘利用dpct工具自动转为dpc++,然后手动修改少部分代码后迁移而来的项目,主要实现了SpMV计算接口。矩阵和向量都是随机生成,矩阵采用CSR压缩格式存储计算,还未来得及利用local memory进行加速和CSRv算法优化,待有时间时再做优化。本项目的大量注释代码亦有可取之处,device_spmv函数中kernel函数大量注释为CSRv的算法实现,更符合gpu的访存模式和local memory能带来较大的加速效果。另main中的注释代码可进行设备预热,性能计时。verify函数是gpu计算结果与cpu计算结果对比,用以判断gpu部分代码正确性。

执行指令:解压后进入路径 ./q submit.sh

Methodology / Approach

SpMV by GPU

Technologies Used

oneAPI

DPC++

DevCloud

Repository

https://gitee.com/baibai1/one-api_project_-sp-mv/tree/master/

Comments (0)