社区
CUDA
帖子详情
有没有人知道怎么利用CUDA对大型稀疏方程组的加速运算
qq_22173267
2016-03-04 06:56:37
求大神指点,最好有代码
...全文
231
2
打赏
收藏
有没有人知道怎么利用CUDA对大型稀疏方程组的加速运算
求大神指点,最好有代码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tengwl
2016-03-12
打赏
举报
回复
cuda中有一个关于稀疏矩阵的lib:cusparse.lib,还有对应的CUSPARSE_Library.pdf,你可以看看
qq_22173267
2016-03-04
打赏
举报
回复
不要沉啊
cuda
编程:
稀疏
矩阵乘法结合MINRES算法求解泊松方程的并行编程
稀疏
矩阵主要指的是存在大量零元素的矩阵,常见的
稀疏
矩阵比如说社交媒体的邻接矩阵,微分方程数值解钟差分法形成的矩阵和有限元方法搭建的刚度矩阵。对于
稀疏
矩阵,如果对于矩阵每个元素都分配内存存储,将会造成大量的内存浪费,同时做矩阵
运算
的时候由于读取过程中反复读取零元素将会增大内存访问的时间。因此,为了降低存储空间同时提高访问效率,一种高效的
稀疏
矩阵存储方法势在必行,下面主要介绍两种
稀疏
矩阵乘法,我们以一个5×55 \times 55×5的
稀疏
矩阵存储来举例子。
NVIDIA
CUDA
高度并行处理器编程(九):并行模式:
稀疏
矩阵-向量乘法
CUDA
稀疏
矩阵向量乘法。
线性
方程组
求解库
线性
方程组
求解库 求解线性
方程组
Ax=b,常用的方法包括 直接解法(一般是对 A 进行矩阵分解)和 迭代法。常用的数值计算平台,如 Matlab,Octave,numpy 中都支持对线性
方程组
的求解,以 Matlab 的性能最优,支持的方法也最多,直接求解时用 x=b\A 会根据 A 的性质(如对称、
稀疏
)选择最优的算法,在用迭代求解时还可以先进行不完全分解来
加速
收敛速度。 下面总结一下
运用SIMD、pthread/OpenMP、MPI、GPU并行
加速
高斯消元算法
通过学习SIMD、pthread&OpenMP和MPI以及GPU等可以进行并行优化计算的方法,并在高斯消元算法和特殊高斯消元算法上进行了实践,在普通高斯消元算法中,我通过对齐内存+AVX指令集+8线程OpenMP+非阻塞通信的流水线版本的4进程MPI实现了最高24.72的
加速
比,大大降低了程序执行时间,而后又通过GPU
加速
,得到了41的超高
加速
比,这样的结果说明了CPU
加速
方法的实用性,又体现出GPU对于处理大规模数据的天然优势,为如何处理大规模浮点数的
运算
带来了启发;
比较不错的 C++矩阵
运算
库
Armadillo:C++下的Matlab替代品 地址:http://arma.sourceforge.net/ 许可证:MPL 2.0 目前使用比较广的C++矩阵
运算
库之一,是在C++下使用Matlab方式操作矩阵很好的选择,许多Matlab的矩阵操作函数都可以找到对应,这对习惯了Matlab的人来说实在是非常方便,另外如果要将Matlab下做研究的代码改写成C++,使用Armadillo...
CUDA
581
社区成员
2,919
社区内容
发帖
与我相关
我的任务
CUDA
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
复制链接
扫一扫
分享
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章