DocumentCode
185365
Title
A GPU task generator for rendering
Author
Petrescu, Alexandru-Lucian ; Moldoveanu, Florica ; Asavei, Victor ; Moldoveanu, Alin ; Ferche, Oana-Maria
Author_Institution
Comput. Sci. & Eng. Dept., Univ. Politeh. of Bucharest, Bucharest, Romania
fYear
2014
fDate
17-19 Oct. 2014
Firstpage
556
Lastpage
561
Abstract
We present an original GPU task generator that can be attached to the rasterization based rendering process, in order to provide a dynamic parallelism. Compared to other existing GPU task generators or schedulers our method creates new tasks using the GPU graphics pipeline task scheduler. These are generated in the geometry shader, by means of rasterizing new geometry that produces additional fragments. The parallel processing of these fragments represents the new threads, which are used as general purpose threads. Thus, our solution is extremely lightweight and it can run in parallel with the rasterization based rendering process. By using our generator, work-heavy rendering threads can distribute their load to a sufficiently large group of workers without any CPU interference. By doing this we are effectively reducing the complexity on a per-rendering thread basis and therefore we are able to obtain a performance increase of 1 or even 2 orders of magnitude in critical cases. Tasks such as tracing rays, dynamic geometry generation, expensive BSSRDFs evaluation or ray marching are handled in a unified manner, making it easy to integrate our generator into game engines. In contrast with other GPU task generators and schedulers our method does not occupy all hardware threads nor does it need specialized hardware, only requiring Shader Model 5. Since rarely are dynamic rendering tasks complicated enough to generate dynamic child tasks on their own, our generator can be configured to run as just a simple non recursive task dispatcher.
Keywords
computational complexity; computational geometry; graphics processing units; ray tracing; rendering (computer graphics); BSSRDF evaluation; GPU graphics pipeline task scheduler; GPU task generator; complexity reduction; dynamic child tasks; dynamic geometry generation; dynamic parallelism; game engines; general purpose threads; geometry shader; nonrecursive task dispatcher; per-rendering thread basis; rasterization based rendering process; ray marching; ray tracing; schedulers; shader model 5; Generators; Geometry; Graphics processing units; Instruction sets; Pipelines; Rendering (computer graphics); Synchronization; dynamic parallelism; dynamic task dispatch; rasterization based rendering; task scheduling on GPU;
fLanguage
English
Publisher
ieee
Conference_Titel
System Theory, Control and Computing (ICSTCC), 2014 18th International Conference
Conference_Location
Sinaia
Type
conf
DOI
10.1109/ICSTCC.2014.6982475
Filename
6982475
Link To Document