Lab Home | Phone | Search
Center for Nonlinear Studies  Center for Nonlinear Studies
 Home 
 People 
 Current 
 Executive Committee 
 Postdocs 
 Visitors 
 Students 
 Research 
 Publications 
 Conferences 
 Workshops 
 Sponsorship 
 Talks 
 Seminars 
 Postdoc Seminars Archive 
 Quantum Lunch 
 Quantum Lunch Archive 
 P/T Colloquia 
 Archive 
 Ulam Scholar 
 
 Postdoc Nominations 
 Student Requests 
 Student Program 
 Visitor Requests 
 Description 
 Past Visitors 
 Services 
 General 
 
 History of CNLS 
 
 Maps, Directions 
 CNLS Office 
 T-Division 
 LANL 
 
Wednesday, December 14, 2016
3:00 PM - 4:00 PM
CNLS Conference Room (TA-3, Bldg 1690)

Seminar

An Approach to Productivity and Performance Portability Through Domain-specific Optimization of C++

Robert Fowler
The University of North Carolina at Chapel Hill

Over the past four decades, the "semantic gap" has been growing between conflicting needs to program productively in high-level languages and to simultaneously exploit the performance potential of increasingly complex computing systems. To address this problem, we are developing QUARC, a framework for the optimized compilation of domain-specific extensions to C++. QUARC defines a high-level array language using template meta-programming. The templates instantiate become calls to pseudo-procedures that are then transformed into an abstract intermediate representation suitable for optimization at the object level. Extensions to the back end compiler (CLANG/LLVM) implement code transformations as well as innovative data transformations such as transposition, reshaping, and partitioning for vectorization, parallelism, and memory locality prior to scalarization. This work is driven by the need to propagate "ninja programmer" performance successes on solvers in the US Lattice QCD community to more parts of the QCD applications as well as to a broader group of physicists exploring new physics and methods. A key goal is to accelerate future development on emerging systems.

Host: Curt Canada