Results 1 -
9 of
9
RPU: A Programmable Ray Processing Unit for Realtime Ray Tracing
- ACM Trans. Graph
, 2005
"... with shadows and refractions), a Conference room (5.5 fps, without shadows), reflective and refractive Spheres-RT in an office (4.5 fps), and UT2003 a scene from a current computer game (7.5 fps, precomputed illumination). Recursive ray tracing is a simple yet powerful and general approach for accur ..."
Abstract
-
Cited by 55 (3 self)
- Add to MetaCart
with shadows and refractions), a Conference room (5.5 fps, without shadows), reflective and refractive Spheres-RT in an office (4.5 fps), and UT2003 a scene from a current computer game (7.5 fps, precomputed illumination). Recursive ray tracing is a simple yet powerful and general approach for accurately computing global light transport and rendering high quality images. While recent algorithmic improvements and optimized parallel software implementations have increased ray tracing performance to realtime levels, no compact and programmable hardware solution has been available yet. This paper describes the architecture and a prototype implementation of a single chip, fully programmable Ray Processing Unit (RPU). It combines the flexibility of general purpose CPUs with the efficiency of current GPUs for data parallel computations. This design allows for realtime ray tracing of dynamic scenes with programmable material, geometry, and illumination shaders. Although, running at only 66 MHz the prototype FPGA implementation already renders images at up to 20 frames per second, which in many cases beats the performance of highly optimized software running on multi-GHz desktop CPUs. The performance and efficiency of the proposed architecture is analyzed using a variety of benchmark scenes.
An introduction to parallel rendering
- Parallel Computing
, 1997
"... In computer graphics, rendering is the process by which an abstract description of a scene is converted to an image. When the scene is complex, or when high-quality images or high frame rates are required, the rendering process becomes computationally demanding. To provide the necessary levels of pe ..."
Abstract
-
Cited by 35 (2 self)
- Add to MetaCart
In computer graphics, rendering is the process by which an abstract description of a scene is converted to an image. When the scene is complex, or when high-quality images or high frame rates are required, the rendering process becomes computationally demanding. To provide the necessary levels of performance, parallel computing techniques must be brought to bear. Although parallelism has been exploited in computer graphics since the early days of the field, its initial use was primarily in specialized applications. The VLSI revolution of the late 1970Õs and the advent of scalable parallel computers during the late 1980Õs changed this situation. Today, parallel hardware is routinely used in graphics workstations, and numerous software-based rendering systems have been developed for general-purpose parallel architectures. This article provides a broad introduction to the subject of parallel rendering, encompassing both hardware and software systems. The focus is on the underlying concepts and the issues which arise in the design of parallel rendering algorithms and systems. We examine the different types of parallelism and how they can be applied in rendering applications. Concepts from parallel computing, such as data decomposition, task granularity, scalability, and load balancing, are considered in relation to the rendering
Rendering Large Scenes Using Parallel Ray Tracing
- Parallel Computing
, 1997
"... Ray tracing is a powerful technique to generate realistic images of 3D scenes. However, ..."
Abstract
-
Cited by 19 (7 self)
- Add to MetaCart
Ray tracing is a powerful technique to generate realistic images of 3D scenes. However,
Hybrid Scheduling for Parallel Rendering Using Coherent Ray Tasks
- in Proceedings Parallel Visualization and Graphics Symposium
, 1999
"... Parallelising ray tracing with a data parallel approach allows rendering of arbitrarily large models, but the inherent load imbalances may lead to severe inefficiencies. To compensate for the uneven load distribution, demand-driven tasks may be split off and scheduled to processors that are less bus ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
Parallelising ray tracing with a data parallel approach allows rendering of arbitrarily large models, but the inherent load imbalances may lead to severe inefficiencies. To compensate for the uneven load distribution, demand-driven tasks may be split off and scheduled to processors that are less busy. We propose a hybrid scheduling algorithm which brings tasks and data together according to coherence between rays. The amount of demand-driven versus dataparallel tasks is a function of the coherence between rays and the amount of imbalance in the basic data-parallel load. Processing power, communication and memory are three resources which should be evenly used. Our current implementation is assessed against these requirements, showing good scalability and very little communication at the cost of a slightly larger memory overhead. CR Categories: D.1.3 [Programming Techniques]: Parallel Programming; I.3.0 [Computer Graphics]: General I.3.7 [Computer Graphics]: Three-Dimensional Graphics...
Message Handling in Parallel Radiance
- Proceedings EuroPVM-MPI’97
, 1997
"... . Photo-realistic computer graphics is an area of research which ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
. Photo-realistic computer graphics is an area of research which
Hybrid Scheduling for Efficient Ray Tracing of Complex Images
- High Performance Computing for Computer Graphics and Visualisation
, 1995
"... Ray tracing is a powerful technique to generate realistic images of 3D scenes. A ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Ray tracing is a powerful technique to generate realistic images of 3D scenes. A
TigerSHARK: A Hardware Accelerated Ray-Tracing Engine
, 1996
"... This paper represents my own work in accordance with University regulations. CONTENTS iii Contents 1 ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This paper represents my own work in accordance with University regulations. CONTENTS iii Contents 1
Z. The Journal of Supercomputing, 13, 111132 1999
"... Parallel computing on clusters of workstations is receiving much attention from the research community. Unfortunately, many aspects of parallel computing over this parallel computing engine is not very well understood. Some of these issues include the workstation architectures, the network protocols ..."
Abstract
- Add to MetaCart
Parallel computing on clusters of workstations is receiving much attention from the research community. Unfortunately, many aspects of parallel computing over this parallel computing engine is not very well understood. Some of these issues include the workstation architectures, the network protocols, the communication-to-computation ratio, the load balancing strategies, and the data partitioning schemes. The aim of this paper is to assess the strengths and limitations of a cluster of workstations by capturing the effects of the above issues. This has been achieved by evaluating the performance of this computing environment in the execution of a parallel ray tracing application through analytical modeling and extensive experimentation. We were successful in illustrating the effect of major factors on the performance and scalability of a cluster of workstations connected by an Ethernet network. Moreover, our analytical model was accurate enough to agree closely with the experimental results. Thus, we feel that such an investigation would be helpful in understanding the strengths and weaknesses of an Ethernet cluster of workstation in the execution of parallel applications. Keywords: parallel computing, ray tracing, networked workstations, performance evaluation 1.
Scheduling Issues in Parallel Rendering
"... Ray tracing is a powerful technique to generate realistic images of 3D scenes. A drawback is its high demand for processing power. Multiprocessing is one way to meet this demand. However, when the models are very large, special attention must be paid to the way the algorithm is parallelised. Combi ..."
Abstract
- Add to MetaCart
Ray tracing is a powerful technique to generate realistic images of 3D scenes. A drawback is its high demand for processing power. Multiprocessing is one way to meet this demand. However, when the models are very large, special attention must be paid to the way the algorithm is parallelised. Combining demand driven and data parallel techniques provides good opportunities to arrive at an efficient scalable algorithm. Which tasks to process demand driven and which data driven, is decided by the data intensity of the task and the amount of data locality (coherence) that will be present in the task. Rays with the same origin and similar directions, such as primary rays and light rays, exhibit much coherence. These rays are therefore traced in demand driven fashion, a bundle at a time. Non-coherent rays are traced data parallel. By combining demand driven and data driven tasks, a good load balance may be achieved, while at the same time spreading the communication evenly across the network. This leads to a scalable and efficient parallel implementation of the ray tracing algorithm.

