Christiaan Gribble
Principal Research Scientist

Applied Technology Operation
SURVICE Engineering Company

Mailing address:
     1051 Brinton Road, Suite 301
     Pittsburgh, PA  15221

Phone numbers:
     412.342.8219 (office)
     410.272.6763 (fax)

E-mail address:
    

 


[ home ]   [ research ]   [ vita ]

 

2012


     Ray Tracing Visualization Toolkit

Christiaan Gribble, Jeremy Fisher, Daniel Eby, Ed Quigley and Gideon Ludwig

ACM SIGGRAPH Symposium on Interactive 3D Graphics & Games, March 2012

The Ray Tracing Visualization Toolkit (rtVTK) is a collection of programming and visualization tools supporting visual analysis of ray-based rendering algorithms. rtVTK leverages layered visualization within the spatial domain of computation, enabling investigators to explore the computational elements of any ray-based renderer. Renderers utilize a library for recording and processing ray state, and a configurable pipeline of loosely coupled components allows run-time control of the resulting visualization. rtVTK enhances tasks in development, education, and analysis by enabling users to interact with a visual representation of ray tracing computations.
     
    Ray State Visualization

Christiaan Gribble

Invited talk, US Army Research Laboratory, Aberdeen Proving Ground, March 2012

The Ray Tracing Visualization Toolkit (rtVTK) is a collection of programming and visualization tools supporting the visual analysis of algorithms that implement ray-based computations. rtVTK enables investigators to explore the computational elements of such algorithms via layered visualization within the spatial domain of computation. Client programs utilize a library for recording and processing ray state, and an interactive GUI integrates a configurable pipeline of loosely coupled components to allow run-time control of the resulting visualizations.

This talk will provide an overview of rtVTK, including its goals and the key components of its software architecture. We will also discuss two areas in computer graphics to which ray state visualization with rtVTK has been applied successfully. Finally, we will speculate on the role of ray state visualization generallyand rtVTK specificallyin advanced, non-graphics applications such as ballistic penetration simulations.


 
 
2011


     Ray Tracing Visualization Toolkit

Jeremy Fisher, Daniel Eby, Ed Quigley, Gideon Ludwig, and Christiaan Gribble

Poster, ACM SIGGRAPH/Eurographics High Performance Graphics, August 2011

Monte Carlo rendering algorithms typically simulate light transport throughout an environment via ray tracing.  Even with recent advances targeting highly parallel platforms, high-quality images often require many seconds of computation to converge.  The visual analysis of ray tracing operations may promote a better understanding of the way in which computation proceeds and expose opportunities to utilize hardware resources more effectively.  This work-in-progress introduces the Ray Tracing Visualization Toolkit (rtVTK), a collection of C++ libraries and an extensible GUI designed to support the visual analysis of ray-based rendering algorithms.

An extended abstract for the poster is also available.
     
  Stream Filtered Ray Tracing:  An Overview & Recent Results

Christiaan Gribble

Invited talk, Department of Computer Science, Bucknell University, April 2011

Stream filtering is an approach to coherent ray tracing that recasts the basic algorithm as a series of conditional operations, or stream filters, designed to exploit coherence in arbitrarily-sized groups of arbitrary rays, or ray streams.  These filters partition streams into active and inactive subsets throughout rendering, isolating and processing only those rays exhibiting some property of interest in a given stage.  The core operations in ray tracing—including traversal, intersection, and shading—can be written as a sequence of stream filters that eliminate inactive elements and maximize coherence in later operations.

This talk will provide an overview of stream filtered ray tracing, including some highlights of StreamRay, a multicore SIMD microarchitecture that delivers frame rates of 15-32 frames/second for scenes of high geometric complexity rendered with Kajiya-style path tracing.  We will also discuss recent results from an ongoing analysis of the bandwidth requirements imposed by the approach and speculate about the design of an ideal memory hierarchy for ray-based graphics architectures that implement stream filtered ray tracing.


 
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.

The source code for tangere, the cross-platform, template-based integer/floating-point ray tracing system implementing the techniques described in the paper, is also available. tangere is intended to serve as a testbed for additional enhancements and further experimentation with integer ray tracing techniques.

The source code is distributed under the Apache License, version 2.0.  Please see the LICENSE file that accompanies the source distribution for details concerning the Apache License.  The README includes instructions for building and running tangere on *NIX and Win32 systems.

     
  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.

 
2007


   SIMD Ray Stream Tracing - SIMD Ray Traversal with Generalized Ray Packets and On-the-fly Re-Ordering

Ingo Wald, Christiaan P. Gribble, Solomon Boulos, and Andrew Kensler

Technical report, Scientific Computing and Imaging Institute, University of Utah, UUSCI-2007-012, August 2007

Achieving high performance on modern CPUs requires efficient utilization of SIMD units.  Doing so requires that algorithms are able to take full advantage of the SIMD width offered and to not waste SIMD instructions on low utilization cases.  Ray tracers exploit SIMD extensions through packet tracing.  This re-casts the ray tracing algorithm into a SIMD framework, but high SIMD efficiency is only achieved for moderately complex scenes, and highly coherent packets.  In this paper, we present a stream programming oriented traversal algorithm that processes streams of rays in SIMD fashion; the algorithm is motivated by breadth-first ray traversal and implicitly re-orders streams of rays on the fly by removing deactivated rays after each traversal step using a stream compaction step.  This improves SIMD efficiency in the presence of complex scenes and diverging packets, and is, in particular, designed for potential wider-than-four SIMD architectures with scatter/gather support.

This technical report appears as a poster in the IEEE Symposium on Interactive Ray Tracing, September 2007. An extended abstract for the poster is also available.
     

  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

Invited talk, 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.

 

[ 2001-2006 ]   [ 2007-2012 ]   [ 2013-2018 ] [ 2019-present ]

 

Copyright © 2000-2020 Christiaan Gribble
All rights reserved