Title :
Performance and Optimization Abstractions for Large Scale Heterogeneous Systems in the Cactus/Chemora Framework
Author_Institution :
Perimeter Inst. for Theor. Phys., Waterloo, ON, Canada
Abstract :
We describe a set of lower-level abstractions to improve performance on modern large scale heterogeneous systems. These provide portable access to system- and hardware dependent features, automatically apply dynamic optimizations at run time, and target stencil-based codes used in finite differencing, finite volume, or block-structured adaptive mesh refinement codes. These abstractions include a novel data structure to manage refinement information for block-structured adaptive mesh refinement, an iterator mechanism to efficiently traverse multidimensional arrays in stencil-based codes, and a portable API and implementation for explicit SIMD vectorization. These abstractions can either be employed manually, or be targeted by automated code generation, or be used via support libraries by compilers during code generation. The implementations described below are available in the Cactus framework, and are used e.g. in the Einstein Toolkit for relativistic astrophysics simulations.
Keywords :
astronomy; data structures; finite difference methods; finite volume methods; large-scale systems; optimisation; parallel processing; Cactus/Chemora framework; Einstein Toolkit; block-structured adaptive mesh refinement codes; data structure; dynamic optimizations; finite differencing; finite volume; hardware dependent features; large scale heterogeneous systems; lower-level abstractions; optimization abstractions; refinement information; relativistic astrophysics simulations; stencil-based codes; system-dependent features; traverse multidimensional arrays; Data structures; Heuristic algorithms; Indexes; Instruction sets; Kernel; Optimization; Vectors;
Conference_Titel :
Extreme Scaling Workshop (XSW), 2013
Conference_Location :
Boulder, CO