Modern computer system architectures are forcing computational scientists to move scientific applications from traditional homogeneous cpu-based systems to heterogeneous multi-core/accelerator architectures. Obtaining performance in the presence of accelerators requires close attention to the memory hierarchy and chip-level parallelism to reach even a modest fraction of the potential performance. As a result, coding tasks which were once the province of lone graduate students in a single discipline now require interdisciplinary teams of people. Project Chemora will explore the design of a new application framework for automatically creating highly optimized code for high-end computational machines. The system will use as input a set of partial differential equations (PDEs) that describe a problem, it will then construct a machine-specific abstract performance model, and using these it will generate well-tuned code and execution configurations for accelerated (e.g., hybrid CPU/GPU) computing clusters at various scales. Chemora will improve programmability in this simplified domain by decoupling the science and computer science at a high level, thereby reducing the complexity and number of issues scientists need to collectively understand and allowing individual scientists in the team to focus on their area of specialty. Chemora will improve performance (both wallclock time and energy) for systems with both simple and complex sets of equations by making use of detailed information describing the problem and machine, and will provide improved load balancing through the AMPI framework.
The Chemora project has chosen the Einstein equations as the primary science driver because these equations are one of the more complex PDE systems, one with many hundreds of terms, and a problem scale that is challenging to optimize for most compilers. Achieving this vision for a general scientific problem would indeed be a "Grand Challenge" in computational science, but in order to give our research a sharper focus we have chosen as a science driver the simulation of Intermediate mass ratio Binary Black Hole (IBBH) systems. Such systems, consisting of a black hole of mass 100 to 1,000 solar masses orbited by a smaller black hole of mass 5 to 20 solar masses are expected to be important sources of gravitational waves for advanced Laser Interferometer Gravitational Wave Observatory (LIGO) and the Einstein Telescope (ET). Accurate modeling of the waveforms from IBBH systems will be necessary in order to extract gravitational wave signals using template-matching data analysis techniques.