From physics model to results: An optimizing framework for cross-architecture code generation

  • Authors:
  • Marek Blazewicz;Ian Hinder;David M. Koppelman;Steven R. Brandt;Milosz Ciznicki;Michal Kierzynka;Frank Löffler;Erik Schnetter;Jian Tao

  • Affiliations:
  • Applications Department, Poznań Supercomputing & Networking Center, Poznańń, Poland and Poznań University of Technology, Poznań, Poland;Max-Planck-Institut für Gravitationsphysik, Albert-Einstein-Institut, Potsdam, Germany;Center for Computation & Technology, Louisiana State University, Baton Rouge, LA, USA and Division of Electrical & Computer Engineering, Louisiana State University, Baton Rouge, LA, USA;Center for Computation & Technology, Louisiana State University, Baton Rouge, LA, USA and Division of Computer Science, Louisiana State University, Baton Rouge, LA, USA;Applications Department, Poznań Supercomputing & Networking Center, Poznańń, Poland;Applications Department, Poznań Supercomputing & Networking Center, Poznańń, Poland and Poznań University of Technology, Poznań, Poland;Center for Computation & Technology, Louisiana State University, Baton Rouge, LA, USA;Center for Computation & Technology, Louisiana State University, Baton Rouge, LA, USA and Perimeter Institute for Theoretical Physics, Waterloo, ON, Canada and Department of Physics, University of ...;Center for Computation & Technology, Louisiana State University, Baton Rouge, LA, USA

  • Venue:
  • Scientific Programming
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Starting from a high-level problem description in terms of partial differential equations using abstract tensor notation, the Chemora framework discretizes, optimizes, and generates complete high performance codes for a wide range of compute architectures. Chemora extends the capabilities of Cactus, facilitating the usage of large-scale CPU/GPU systems in an efficient manner for complex applications, without low-level code tuning. Chemora achieves parallelism through MPI and multi-threading, combining OpenMP and CUDA. Optimizations include high-level code transformations, efficient loop traversal strategies, dynamically selected data and instruction cache usage strategies, and JIT compilation of GPU code tailored to the problem characteristics. The discretization is based on higher-order finite differences on multi-block domains. Chemora's capabilities are demonstrated by simulations of black hole collisions. This problem provides an acid test of the framework, as the Einstein equations contain hundreds of variables and thousands of terms.