多核架构下的缓存效率与可扩展性
1. 软件和硬件环境
在多核架构中,研究缓存效率和可扩展性对于优化应用程序性能至关重要。为了进行相关研究,我们选择了两个来自行业合作伙伴的电气工程应用程序,它们都与稀疏矩阵处理有关。
- 应用程序1 :该应用程序完全用FORTRAN编写,不使用任何外部库。它基于一个多年前开发的工具,并且一直在不断改进,已经部署在多个实际环境中。近期,为了利用现代处理器中不断增加的核心数量,对该工具进行了并行化处理。
- 应用程序2 :用C/C++编写,使用SuiteSparseQR库来计算稀疏矩阵的QR分解。SuiteSparseQR是SuiteSparse包的一部分,该包由佛罗里达大学的Timothy A. Davis开发。它实现了多前沿方法,并依赖BLAS/LAPACK库来完成大部分计算密集型工作。由于使用的稀疏矩阵结构和内部算法的原因,BLAS/LAPACK库的内置并行化在使用多核时无法显著提高性能,因此并行化是在更高层次上通过创建多个较小的任务来实现的,这些任务的处理顺序被建模为一个依赖树,任务根据该树进行并行处理。
研究使用的硬件系统如下表所示:
| 硬件系统 | 处理器 | 核心数 | 时钟频率 | L2缓存 | L3缓存 | 内存 |
| — | — | — | — | — | — | — |
| Westmere | 2 x Intel X5670 (Gulftown) | 6 | 2.93 GHz | 6 x 256 KB | 12 MB | 32 GB DDR3 RAM |
| Magn
超级会员免费看
订阅专栏 解锁全文
1002

被折叠的 条评论
为什么被折叠?



