DeepSparse: A Task-Parallel Framework for SparseSolvers on Deep Memory Architectures

DeepSparse: A Task-Parallel Framework for SparseSolvers on Deep Memory Architectures
复制标题

DOI:
10.1109/hipc.2019.00052
复制
发表时间:
2019-12
期刊:
2019 IEEE 26th International Conference on High Performance Computing, Data, and Analytics (HiPC)
影响因子:
--
通讯作者:
Md. Afibuzzaman;F. Rabbi;M. Özkaya;H. Aktulga;Ümit V. Çatalyürek
Md. Afibuzzaman;F. Rabbi;M. Özkaya;H. Aktulga;Ümit V. Çatalyürek
中科院分区:
其他
文献类型:
--
作者:
Md. Afibuzzaman;F. Rabbi;M. Özkaya;H. Aktulga;Ümit V. Çatalyürek

文献摘要

相似文献

在大规模稀疏矩阵计算中,数据移动是影响效率和能量消耗的重要瓶颈,而稀疏矩阵计算通常用于线性求解器、特征解算器和图分析。提出了一种新的任务并行稀疏求解器框架DeepSparse,该框架采用了完全集成的任务并行方法。DeepSparse框架与现有工作的不同之处在于,它采用了一种整体方法,以稀疏求解器中的所有计算步骤为目标,而不是将问题缩小到较小的内核(例如,SpMM、SpMV)。我们给出了DeepSparse的实现细节,并在两个流行的特征解算器LOBPCG和Lanczos算法中展示了它的优点。我们观察到,与基于优化的库函数调用的相同解算器的实现相比,DeepSparse在不同的缓存层(L1、L2和L3)上实现的缓存未命中数减少了2×16倍。当使用DeepSparse时,在相同的库版本上,执行时间也提高了2×-3.9倍。
Data movement is an important bottleneck against efficiency and energy consumption in large-scale sparse matrix computations that are commonly used in linear solvers, eigensolvers and graph analytics. We introduce a novel task-parallel sparse solver framework, named DeepSparse, which adopts a fully integrated task-parallel approach. DeepSparse framework differs from existing work in that it adopts a holistic approach that targets all computational steps in a sparse solver rather than narrowing the problem into small kernels (e.g., SpMM, SpMV). We present the implementation details of DeepSparse and demonstrate its merit in two popular eigensolvers, LOBPCG and Lanczos algorithms. We observe that DeepSparse achieves 2× - 16× fewer cache misses across different cache layers (L1, L2 and L3) over implementations of the same solvers based on optimized library function calls. We also achieve 2× - 3.9× improvement in execution time when using DeepSparse over the same library versions.