arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1003.0952cs.DC
收藏

多核处理器上的并行结构对称稀疏矩阵-向量积

Parallel structurally-symmetric sparse matrix-vector products on multi-core processors

Vicente H. F. Batista, George O. Ainsworth, Fernando L. B. Ribeiro

摘要:

我们考虑的问题,开发一个有效的多线程实现的矩阵向量乘法算法的稀疏矩阵结构对称。矩阵存储使用压缩稀疏行-列格式(CSRC),旨在从全局有限元矩阵中观察到的对称非零模式中获益。与经典的压缩存储格式不同,使用CSRC执行稀疏矩阵向量积需要对目标向量进行线程安全访问。为了避免竞争条件,我们实现了两种分区策略。在第一种方法中,每个线程分配一个数组来存储它的贡献,这些贡献随后在累加步骤中组合。我们分析了如何以四种不同的方式进行这种积累。第二种策略使用着色算法对线程可以并发处理的行进行分组。我们的研究结果表明,虽然招致的工作集大小的增加,前一种方法导致大多数矩阵的最佳性能改善。

英文摘要:

We consider the problem of developing an efficient multi-threaded implementation of the matrix-vector multiplication algorithm for sparse matrices with structural symmetry. Matrices are stored using the compressed sparse row-column format (CSRC), designed for profiting from the symmetric non-zero pattern observed in global finite element matrices. Unlike classical compressed storage formats, performing the sparse matrix-vector product using the CSRC requires thread-safe access to the destination vector. To avoid race conditions, we have implemented two partitioning strategies. In the first one, each thread allocates an array for storing its contributions, which are later combined in an accumulation step. We analyze how to perform this accumulation in four different ways. The second strategy employs a coloring algorithm for grouping rows that can be concurrently processed by threads. Our results indicate that, although incurring an increase in the working set size, the former approach leads to the best performance improvements for most matrices.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑