Supporting Unified Shader Specialization by Co-opting C++ Features
Date
2022Author
Seitz, Kerry A.
Foley, Theresa
Porumbescu, Serban D.
Owens, John D.
Metadata
Show full item recordAbstract
Modern unified programming models (such as CUDA and SYCL) that combine host (CPU) code and GPU code into the same programming language, same file, and same lexical scope lack adequate support for GPU code specialization, which is a key optimization in real-time graphics. Furthermore, current methods used to implement specialization do not translate to a unified environment. In this paper, we create a unified shader programming environment in C++ that provides first-class support for specialization by co-opting C++'s attribute and virtual function features and reimplementing them with alternate semantics to express the services required. By co-opting existing features, we enable programmers to use familiar C++ programming techniques to write host and GPU code together, while still achieving efficient generated C++ and HLSL code via our source-to-source translator.
BibTeX
@inproceedings {10.1145:3543866,
booktitle = {Proceedings of the ACM on Computer Graphics and Interactive Techniques},
editor = {Josef Spjut and Marc Stamminger and Victor Zordan},
title = {{Supporting Unified Shader Specialization by Co-opting C++ Features}},
author = {Seitz, Kerry A. and Foley, Theresa and Porumbescu, Serban D. and Owens, John D.},
year = {2022},
publisher = {ACM Association for Computing Machinery},
ISSN = {2577-6193},
DOI = {10.1145/3543866}
}
booktitle = {Proceedings of the ACM on Computer Graphics and Interactive Techniques},
editor = {Josef Spjut and Marc Stamminger and Victor Zordan},
title = {{Supporting Unified Shader Specialization by Co-opting C++ Features}},
author = {Seitz, Kerry A. and Foley, Theresa and Porumbescu, Serban D. and Owens, John D.},
year = {2022},
publisher = {ACM Association for Computing Machinery},
ISSN = {2577-6193},
DOI = {10.1145/3543866}
}
Collections
Related items
Showing items related by title, author, creator and subject.
-
END USER PROGRAMMING ENVIRONMENTS : INTERACTIVE PROGRAMMING-ON-EXAMPLE IN CAD PARAMETRIC DESIGN
Girard, P.; Pierra, G.; Guittet, L. (Eurographics Association, 1990)In recent years, the number of computer end-users who do not know programming has increased rapidly. This new phenomenon has spurred a great deal of research about program design using very different approaches from the ... -
Space-free Shader Programming: Automatic Space Inference and Optimization for Real-time Shaders
Lejdfors, Calle; Ohlsson, Lennart (The Eurographics Association, 2008)The graphics processing units (GPUs) used in todays personal computers can be programmed to compute the visual appearance of three-dimensional objects in real time. Such programs are called shaders and are written in ... -
Experimental Feedback on Prog and Play: A Serious Game for Programming Practice
Muratet, M.; Torguet, P.; Viallet, F.; Jessel, J.P. (The Eurographics Association and Blackwell Publishing Ltd., 2011)This paper presents an experimental feedback on a serious game dedicated to strengthening programming skills. This serious game, called Prog&Play, is built on an open source real-time strategy game. Its goal is to be ...