【24h】

DiMEPACK ― A Cache-Optimized Multigrid Library

机译:DiMEPACK-缓存优化的多网格库

获取原文
获取原文并翻译 | 示例

摘要

The efficient execution of numerically intensive codes often suffers from high memory access times. Efficient execution can only be expected if the codes respect the hierarchical memory design of the underlying architecture, including its cache memories Unfortunately, even modern compilers are not very successful in performing data locality optimizations to enhance the performance of the codes, so that most of this effort is left to the programmer. DiMEPACK is a combined C++/FORTRAN77 library of cache-optimized multigrid implementations for the numerical solution of elliptic partial differential equations (PDEs) in two dimensions. DiMEPACK can handle constant-coefficient problems on rectangular domains. It implements a set of highly tuned red-black Gauss-Seidel smoothers as well as cache-aware intergrid transfer operators. The number of cache conflict misses is reduced by the application of various array padding heuristics. Furthermore, we reduce the total number of floating-point operations by introducing several arithmetic optimizations. In this paper, we explain the design of the DiMEPACK library and present performance results.
机译:数字密集型代码的有效执行通常会遭受较高的内存访问时间。只有在代码尊重基础体系结构的分层存储器设计(包括其高速缓存)的情况下,才能期望高效执行。不幸的是,即使是现代的编译器,在执行数据局部性优化以增强代码性能方面也不是非常成功。努力留给了程序员。 DiMEPACK是组合的C ++ / FORTRAN77库,用于缓存优化的多网格实现,用于二维椭圆偏微分方程(PDE)的数值解。 DiMEPACK可以处理矩形域上的常系数问题。它实现了一组高度可调的红黑高斯-塞德尔平滑器,以及可识别缓存的网间转移运算符。高速缓存冲突未命中的数量通过各种数组填充试探法的应用得以减少。此外,我们通过引入几种算术优化来减少浮点运算的总数。在本文中,我们解释了DiMEPACK库的设计并给出了性能结果。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号