DiMEPACK

DiMEPACK - A Cache-Optimal Multigrid Library. 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 conict 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.

Keywords for this software

Anything in here will be replaced on browsers that support the canvas element