|
2010
 |
|
Integer Ray Tracing
Jared Henily, Shawn Recker, Kevin Bensema, Jesse Porch, and
Christiaan Gribble
journal of graphics, gpu, & game tools,
vol. 14, no. 4
Despite nearly universal support for the IEEE 754 floating-point standard
on modern general-purpose processors, a wide
variety of more specialized processors do not
provide hardware floating-point units and rely
instead on integer-only pipelines. Ray tracing
on these platforms thus requires an integer
rendering process. Toward this end, we clarify
the details of an existing fixed-point
ray/triangle intersection method, provide an
annotated implementation of that method in C++,
introduce two refinements that lead to greater
flexibility and improved accuracy, and highlight
the issues necessary to implement common
material models in an integer-only context. Finally, we provide the source code for a
template-based integer/floating-point ray tracer
to serve as a testbed for additional experimentation with integer ray tracing
methods.
|
|
|
|
|
 |
|
Toward
Stream Filtered Ray Tracing on a DSP
Kevin Bensema, Jesse Porch, Jared Heinly, Shawn Recker, and
Christiaan Gribble
Poster, ACM SIGGRAPH/Eurographics High Performance Graphics,
June 2010
This work-in-progress explores the implementation of stream filtered
ray tracing using the Storm-1 stream processing architecture
developed by Stream Processors, Inc. This poster presents our
efforts to map the stream filtering approach to the Storm-1
processor and highlights the current progress toward a full-featured
ray-based rendering system for the architecture.
An extended
abstract for the poster is also available. |
2009
 |
|
Introducing Multithreaded
Programming: POSIX Threads and NVIDIA's CUDA
Christiaan P. Gribble
ASEE Computers in Education Journal, October-December 2009
The current progression of commodity processing architectures
exhibits a trend toward increasing parallelism, requiring that
undergraduate students in a wide range of technical disciplines gain
an understanding of problem solving in massively parallel
environments. However, as a small comprehensive college, we
cannot currently afford to dedicate an entire semester-long course
to the study of parallel computing. To combat this situation,
we have integrated the key components of such a course into a
300-level course on modern operating systems. In this paper,
we describe a parallel computing unit that is designed to dovetail
with the discussion of process and thread management common to
operating systems courses. We also describe a set of
self-contained projects in which students explore two parallel
programming models, POSIX Threads and NVIDIA’s Compute Unified
Device Architecture, that enable parallel architectures to be
utilized effectively. In our experience, this unit can be
integrated with traditional operating systems topics quite readily,
making parallel computing accessible to undergraduate students
without requiring a full course dedicated to these increasingly
important topics.
This
paper also appears in the proceedings of the
2009 ASEE Annual Conference and Exposition, June 2009.
|
|
|
|
|
 |
|
Packet-Based Interactive
Ray Tracing with CUDA
Jared S. Heinly, Kevin D. Bensema, and Christiaan P. Gribble
Poster, ACM SIGGRAPH/Eurographics High Performance Graphics,
August 2009
As an introduction to high-performance computing in massively
parallel environments, this undergraduate work-in-progress explores
the implementation of packet-based interactive ray tracing using
NVIDIA‘s Compute Unified Device Architecture (CUDA). This poster
presents our variation of the BVH-based packet traversal algorithm
introduced by Günther et al. [2007]. Currently, our implementation
achieves 8-14 frames per second with visibility rays, full
texturing, and simple eyelight shading for several scenes of varying
geometric complexity.
An extended
abstract for the poster is also available. |
|
|
|
|
|
 |
|
StreamRay: A Stream
Filtering Architecture for Coherent Ray Tracing
Karthik Ramani, Christiaan P. Gribble, and Al Davis
14th International Conference on Architectural Support for
Programming Languages and Operating Systems (ASPLOS '09), March
2009
The wide availability of commodity graphics processors has made
real-time graphics an intrinsic component of the human/computer
interface. These graphics cores accelerate the z-buffer algorithm
and provide a highly interactive experience at a relatively low
cost. However, many applications in entertainment, science, and
industry require high quality lighting effects such as accurate
shadows, reflection, and refraction. These effects can be difficult
to achieve with z-buffer algorithms but are straightforward to
implement using ray tracing. Although ray tracing is computationally
more complex, the algorithm exhibits excellent scaling and
parallelism properties. Nevertheless, ray tracing memory access
patterns are difficult to predict and the parallelism speedup
promise is therefore hard to achieve.This paper highlights a
novel approach to ray tracing based on stream filtering and presents
StreamRay, a multicore wide SIMD microarchitecture that delivers
interactive frame rates of 15-32 frames/second for scenes of high
geometric complexity and exhibits high utilization for SIMD widths
ranging from eight to 16 elements. StreamRay consists of two main
components: the ray engine, which is responsible for stream assembly
and employs address generation units that generate addresses to form
large SIMD vectors, and the filter engine, which implements the ray
tracing operations with programmable accelerators. Results
demonstrate that separating address and data processing reduces data
movement and resource contention. Performance improves by 56% while
simultaneously providing 11.63% power savings per accelerator core
compared to a design which does not use separate resources for
address and data computations. |
2008
|
 |
|
Ray Tracing for Undergraduates
Christiaan P. Gribble
ASEE Computers in Education Journal, October-December 2008
The computer graphics research
community has recently renewed its interest in ray tracing, an image
synthesis algorithm that simulates the interaction of light with an
environment to generate highly realistic images. Recent hardware
trends and algorithmic developments make the technique competitive
with raster-based algorithms, and some suggest that ray tracing will
begin to dominate interactive rendering in coming years.
At Grove City College, we have mapped the contents of common
graduate-level courses in ray tracing to an undergraduate audience.
Students design and implement a full-featured ray tracing system in
a semester-long course that focuses on:
-
the essential
physics and mathematics,
-
software
architecture and the impact of design decisions,
-
writing efficient
object-oriented code, and
-
basic algorithm
analysis.
The course also affords an opportunity to introduce
students to the relevant computer science literature, both seminal
works and recent innovations, throughout the semester.
In this paper, we provide a brief overview of the
visibility problem and two competing algorithms that are commonly
used to solve the problem, we detail the course topics and
methodology we have used, and we describe our experience in a pilot
course with a small group of undergraduate students. This
paper also appears in the proceedings of the
2008 ASEE Annual Conference and Exposition, June 2008. |
|
|
|
|
|
 |
|
Interactive
Particle Visualization
Christiaan P. Gribble
Book chapter, Trends in Interactive Visualization:
State-of-the-Art Survey, November 2008
Particle-based simulation methods are used to model a wide range of
complex phenomena and to solve time-dependent problems of various
scales. Effective visualizations of the resulting state will
communicate subtle changes in the three-dimensional structure,
spatial organization, and qualitative trends within a simulation as
it evolves. This chapter discusses two approaches to
interactive particle visualization that satisfy these goals: one
targeting desktop systems equipped with programmable graphics
hardware, and the other targeting moderately sized multicore systems
using packet-based ray tracing. |
|
|
|
|
|
 |
|
GPU Computing with CUDA: A
Hands-on Tutorial
Christiaan P. Gribble
Invited talk, Pittsburgh Perl Workshop, October 2008
In recent years, commodity graphics processing units (GPUs) have
rapidly evolved from fixed-function pipelines implementing the
z-buffer rendering algorithm to programmable, highly parallel
machines that can be used to solve a wide range of problems.
NVIDIA's Compute Unified Device Architecture (CUDA) is a GPU
programming environment based on extensions to the C programming
language that exposes the processing power of these devices for
general-purpose problem solving. This talk provides a basic
introduction to current GPU architectures, and includes a series of
hands-on exercises that demonstrate some common techniques for
programming NVIDIA GPUs using the CUDA framework. |
|
|
|
|
|
 |
|
Coherent Ray Tracing via
Stream Filtering
Christiaan P. Gribble and Karthik Ramani
IEEE/Eurographics Symposium on Interactive Ray Tracing,
August 2008
We introduce an approach to coherent ray tracing based on a new
stream filtering algorithm. This algorithm, which is motivated by
breadth-first ray traversal and elimination of inactive ray
elements, exploits the coherence exhibited by processing
arbitrarily-sized groups of rays in SIMD fashion. These groups are
processed by a series of filters that partition rays into active and
inactive subsets throughout the various stages of the rendering
process. We
present results obtained with a detailed cycle-accurate simulation
of a hardware architecture that supports wider-than-four SIMD
processing and efficient scatter/gather memory and stream
partitioning operations. In this context, stream filtering achieves
frame rates of
15-25 fps for scenes of high geometric complexity rendered with path
tracing and a variety of advanced visual effects. |
|
|
|
|
|
 |
|
Practical Global
Illumination for Interactive Particle Visualization
Christiaan P. Gribble, Carson Brownlee, and Steven G. Parker
Computers & Graphics, February 2008
Particle-based simulation methods are used to model a wide range of
complex phenomena and to solve time-dependent problems of various
scales. Effective visualizations of the resulting state will
communicate subtle changes in the three-dimensional structure,
spatial organization, and qualitative trends within a simulation as
it evolves. We present two algorithms targeting upcoming,
highly parallel multicore desktop systems to enable interactive
navigation and exploration of large particle data sets with global
illumination effects. Monte Carlo path tracing and texture
mapping are used to capture computationally expensive illumination
effects such as soft shadows and diffuse interreflection. The
first approach is based on precomputation of luminance textures and
removes expensive illumination calculations from the interactive
rendering pipeline. The second approach is based on dynamic
luminance texture generation and decouples interactive rendering
from the computation of global illumination effects. These
algorithms provide visual cues that enhance the ability to perform
analysis and feature detection tasks while interrogating the data at
interactive rates. We explore the performance of these
algorithms and demonstrate their effectiveness using several large
data sets. |
|
 |
|
SIMD Ray Stream Tracing
Ingo Wald, Christiaan P. Gribble, Solomon Boulos, and Andrew Kensler
Poster, IEEE Symposium on Interactive Ray Tracing,
September 2007
We present a new approach to SIMD ray tracing that yields higher
efficiency than current packet-based ray tracing algorithms.
The algorithm is motivated by breadth-first ray traversal, and
implicitly reorders general, arbitrarily-sized streams of rays by
continually compacting active rays into substreams during operations
such as traversal and shading. This approach also supports
arbitrary SIMD widths, which makes it amenable to a wide range of
future hardware architectures. |
|
|
|
|
|

|
|
A Coherent
Grid Traversal Approach to Visualizing Particle-Based Simulation
Data
Christiaan P. Gribble, Thiago Ize, Andrew Kensler, Ingo Wald, and
Steven G. Parker
IEEE Transactions on Visualization
and Computer Graphics, July/August 2007
We present an approach to visualizing particle-based simulation data
using interactive ray tracing, and describe an algorithmic
enhancement that exploits the properties of these datasets to
provide highly interactive performance and reduced storage
requirements. This algorithm for fast packet-based ray tracing of
multi-level grids enables interactive visualization of large,
time-varying datasets with millions of particles and incorporates
advanced features like soft shadows. We compare the performance of
our approach with two recent particle visualization systems: one
based on an optimized single ray grid traversal algorithm, the other
on programmable graphics hardware. This comparison demonstrates that
the new algorithm offers an attractive alternative for interactive
particle visualization. |
|
|
|
|
|

 |
|
Interactive Particle
Visualization with Advanced Shading Models using Lazy Evaluation
Christiaan P. Gribble and Steven G. Parker
Eurographics Symposium on Parallel Graphics and Visualization,
May 2007
Particle-based simulation methods are used to model a wide range of
complex phenomena and to solve time-dependent problems of various
scales. Effective visualizations of the resulting state will
communicate subtle changes in the three-dimensional structure,
spatial organization, and qualitative trends within a simulation as
it evolves. We describe a visualization process targeting
upcoming, highly parallel multicore desktop systems that enables
interactive navigation and exploration of large particle datasets
rendered with illumination effects from advanced shading models.
These expensive illumination effects are evaluated lazily by
decoupling interactive display and high quality rendering. We
explore the performance characteristics of this approach and
demonstrate its effectiveness using several large particle datasets. |
|
|
|
|
|
 |
|
Visualization as a Tool
for Education and Research
Christiaan P. Gribble
Presentation, Faculty Scholarship Workshop, Grove City College,
February 2007
Visualization supports a wide variety of information processing
tasks and enables viewers to identify and explore the salient
features of their data more effectively. Using computer
graphics, visual representations of the data can be constructed to
highlight the pertinent characteristics of a particular phenomena or
process. Visualization helps to foster understanding across
many disciplines, including science, engineering, business, and the
arts, by permitting insights that might otherwise be overlooked.
This talk explores the characteristics that make visualization
appropriate for use in the education and research endeavors at
undergraduate institutions like Grove City College. |
[ Previous research
(2001-2006) ]
|