RaTrace: simple and efficient abstractions for BVH ray traversal algorithms
- In order to achieve the highest possible performance, the ray traversal and intersection routines at the core of every high-performance ray tracer are usually hand-coded, heavily optimized, and implemented separately for each hardware platform—even though they share most of their algorithmic core. The results are implementations that heavily mix algorithmic aspects with hardware and implementation details, making the code non-portable and difficult to change and maintain. In this paper, we present a new approach that offers the ability to define in a functional language a set of conceptual, high-level language abstractions that are optimized away by a special compiler in order to maximize performance. Using this abstraction mechanism we separate a generic ray traversal and intersection algorithm from its low-level aspects that are specific to the target hardware. We demonstrate that our code is not only significantly more flexible, simpler to write, and more concise but also that the compiled results perform as well as state-of-the-art implementations on any of the tested CPU and GPU platforms.
Document Type: | Article |
---|---|
Language: | English |
Author: | Arsène Pérard-Gayot, Martin Weier, Richard Membarth, Philipp Slusallek, Roland Leißa, Sebastian Hack |
Parent Title (English): | ACM SIGPLAN Notices |
Volume: | 52 |
Issue: | 12 |
Number of pages: | 12 |
First Page: | 157 |
Last Page: | 168 |
ISSN: | 0362-1340 |
DOI: | https://doi.org/10.1145/3170492.3136044 |
Publisher: | Association for Computing Machinery |
Place of publication: | New York, NY, United States |
Date of first publication: | 2017/10/23 |
Copyright: | © 2017 Copyright held by the owner/author(s). Publication rights licensed to Association for Computing Machinery. Abstracting with credit is permitted. |
Funding: | This work is supported by the Federal Ministry of Education and Research (BMBF) as part of the Metacca and ProThOS projects as well as by the Intel Visual Computing Institute Saarbrücken. It is also co-funded by the European Union (EU), as part of the Dreamspace project. |
Keyword: | Computer Graphics; Domain-Specific Languages; Functional Programming; Ray tracing |
Departments, institutes and facilities: | Fachbereich Informatik |
Dewey Decimal Classification (DDC): | 0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik |
Entry in this database: | 2022/01/12 |