These pages contain information about my work in parallel rendering.
I've been developing a parallel ray tracing library named Tachyon, for
use on distributed memory parallel computers, shared memory computers,
and clusters of workstations. Tachyon supports MPI for distributed
memory parallel computers, threads for shared memory machines, and
can support both simultaneously for clusters of shared memory machines.
Tachyon has been selected for inclusion in the SPEC MPI2007 benchmark suite.
Tachyon supports the typical ray tracer features, most of the common
geometric primitives, shading and texturing modes, etc. It also supports
less common features such as HDR image output, ambient occlusion lighting,
and support for various triangle mesh and volumetric texture formats
beneficial for molecular visualization (e.g. rendering
Tachyon is heavily used as a built-in ray tracing engine wthin
where it is frequently used to render scenes containing
hundreds of millions of objects, often with
ambient occlusion lighting, depth cueing, angle-modulated
transparency, and other features that are well suited for
molecular visualization. Tachyon has been used to render
VMD movies in parallel on the NCSA Blue Waters supercomputer,
on over 15,000 CPU cores.
I'm currently evaluating the use of GPU acceleration techniques for
Tachyon, using NVIDIA OptiX as a back-end, and/or possibly
with the use of some custom CUDA/OpenCL kernels.