TY - CHAP A1 - Selgrad, Kai A1 - Lier, Alexander A1 - Köferl, Franz A1 - Stamminger, Marc A1 - Lohmann, Daniel ED - Kästner, Christian ED - Gokhālé, Anirüddhā T1 - Lightweight, Generative Variant Exploration for High-performance Graphics Applications T2 - GPCE'15 : Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences ; October 26-27, 2015, Pittsburgh, PA, USA N2 - Rendering performance is an everlasting goal of computer graphics and significant driver for advances in both, hardware architecture and algorithms. Thereby, it has become possible to apply advanced computer graphics technology even in low-cost embedded appliances, such as car instruments. Yet, to come up with an efficient implementation, developers have to put enormous efforts into hardware/problem-specific tailoring, fine-tuning, and domain exploration, which requires profound expert knowledge. If a good solution has been found, there is a high probability that it does not work as well with other architectures or even the next hardware generation. Generative DSL-based approaches could mitigate these efforts and provide for an efficient exploration of algorithmic variants and hardware-specific tuning ideas. However, in vertically organized industries, such as automotive, suppliers are reluctant to introduce these techniques as they fear loss of control, high introduction costs, and additional constraints imposed by the OEM with respect to software and tool-chain certification. Moreover, suppliers do not want to share their generic solutions with the OEM, but only concrete instances. To this end, we propose a light-weight and incremental approach for meta programming of graphics applications. Our approach relies on an existing formulation of C-like languages that is amenable to meta programming, which we extend to become a lightweight language to combine algorithmic features. Our method provides a concise notation for meta programs and generates easily sharable output in the appropriate C-style target language. KW - exploratory programming KW - general purpose code generation KW - prototyping KW - ray tracin Y1 - 2015 UR - https://selgrad.org/publications/2015_gpce_SLKSL.pdf SN - 978-1-4503-3687-1 SP - 141 EP - 150 PB - ACM CY - New York, USA ER -