TY - GEN
T1 - Shonan challenge for generative programming
T2 - ACM SIGPLAN 2013 Workshop on Partial Evaluation and Program Manipulation, PEPM 2013 - Co-located with POPL 2013
AU - Aktemur, Baris
AU - Kameyama, Yukiyoshi
AU - Kiselyov, Oleg
AU - Shan, Chung Chieh
N1 - Copyright:
Copyright 2013 Elsevier B.V., All rights reserved.
PY - 2013
Y1 - 2013
N2 - The appeal of generative programming is "abstraction without guilt"1: eliminating the vexing trade-off between writing highlevel code and highly-performant code. Generative programming also promises to formally capture the domain-specific knowledge and heuristics used by high-performance computing (HPC) experts. How far along are we in fulfilling these promises? To gauge our progress, a recent Shonan Meeting on "bridging the theory of staged programming languages and the practice of highperformance computing" proposed to use a set of benchmarks, dubbed "Shonan Challenge". Shonan Challenge is a collection of crisp problems posed by HPC and domain experts, for which efficient implementations are known but were tedious to write and modify. The challenge is to generate a similar efficient implementation from the high-level specification of a problem, performing the same optimizations, but automatically. It should be easy to adjust optimizations and the specification, maintaining confidence in the generated code. We describe our initial set of benchmarks and provide three solutions to two of the problems. We hope that the Shonan Challenge will clarify the state of the art and stimulate the theory and technology of staging just as the POPLmark challenge did for meta-theory mechanization. Since each Shonan Challenge problem is a kernel of a significant HPC application, each solution has an immediate practical application.
AB - The appeal of generative programming is "abstraction without guilt"1: eliminating the vexing trade-off between writing highlevel code and highly-performant code. Generative programming also promises to formally capture the domain-specific knowledge and heuristics used by high-performance computing (HPC) experts. How far along are we in fulfilling these promises? To gauge our progress, a recent Shonan Meeting on "bridging the theory of staged programming languages and the practice of highperformance computing" proposed to use a set of benchmarks, dubbed "Shonan Challenge". Shonan Challenge is a collection of crisp problems posed by HPC and domain experts, for which efficient implementations are known but were tedious to write and modify. The challenge is to generate a similar efficient implementation from the high-level specification of a problem, performing the same optimizations, but automatically. It should be easy to adjust optimizations and the specification, maintaining confidence in the generated code. We describe our initial set of benchmarks and provide three solutions to two of the problems. We hope that the Shonan Challenge will clarify the state of the art and stimulate the theory and technology of staging just as the POPLmark challenge did for meta-theory mechanization. Since each Shonan Challenge problem is a kernel of a significant HPC application, each solution has an immediate practical application.
KW - Code generation
KW - Domain-specific languages
KW - Generative programming
KW - High-performance computing
KW - Staging
UR - http://www.scopus.com/inward/record.url?scp=84873436251&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84873436251&partnerID=8YFLogxK
U2 - 10.1145/2426890.2426917
DO - 10.1145/2426890.2426917
M3 - Conference contribution
AN - SCOPUS:84873436251
SN - 9781450318426
T3 - PEPM 2013 - Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, Co-located with POPL 2013
SP - 147
EP - 153
BT - PEPM 2013 - Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, Co-located with POPL 2013
Y2 - 21 January 2013 through 22 January 2013
ER -