Christiaan Paul Gribble
Assistant Professor

Department of Computer Science
Grove City College

Mailing address:
     100 Campus Drive, Box 3150
     Grove City, PA  16127

Phone numbers:
     724.450.1535 (office)
     724.450.4031 (fax)

E-mail address:
    

 


[ home ]   [ research ]   [ vita ]

 

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.
     
  Introducing Multithreaded Programming:  POSIX Threads and NVIDIA's CUDA

Christiaan P. Gribble

2009 ASEE Annual Conference and Exposition, June 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.

     

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

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) ]

 

Copyright © 2000-2009 Christiaan Paul Gribble
All rights reserved