Abstract
To effectively utilize an ever increasing number of processors during parallel rendering, hardware and software designers rely on sophisticated load balancing strategies. While dynamic load balancing is a powerful solution, it requires complex work distribution and synchronization mechanisms. Graphics hardware manufacturers have opted to employ static load balancing strategies instead. Specifically, triangle data is distributed to processors based on its overlap with screenspace tiles arranged in a fixed pattern. While the current strategy of using simple patterns for a small number of fast rasterizers achieves formidable performance, it is questionable how this approach will scale as the number of processors increases further. To address this issue, we analyze real-world rendering workloads, derive requirements for effective patterns, and present ten different pattern design strategies based on these requirements. In addition to a theoretical evaluation of these design strategies, we compare the performance of select patterns in a parallel sort-middle software rendering pipeline on an extensive set of triangle data captured from eight recent video games. As a result, we are able to identify a set of patterns that scale well and exhibit significantly improved performance over naïve approaches.
Original language | English |
---|---|
Title of host publication | Proceedings of High Performance Graphics, HPG 2017 |
Publisher | Association of Computing Machinery |
ISBN (Electronic) | 9781450351010 |
DOIs | |
Publication status | Published - 28 Jul 2017 |
Event | 9th Conference on High Performance Graphics: HPG 2017 - Los Angeles, United States Duration: 28 Jul 2017 → 30 Jul 2017 |
Conference
Conference | 9th Conference on High Performance Graphics |
---|---|
Country/Territory | United States |
City | Los Angeles |
Period | 28/07/17 → 30/07/17 |
Keywords
- GPU
- Parallel rendering
- Pattern
- Sort-middle
- Static load balancing
ASJC Scopus subject areas
- Computer Graphics and Computer-Aided Design
- Computer Vision and Pattern Recognition
- Human-Computer Interaction