Tachyon Parallel / Multiprocessor
Ray Tracing System



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 VMD scenes).

Active Projects

Tachyon is heavily used as a built-in ray tracing engine wthin VMD, 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 working on adding new GPU acceleration techniques for Tachyon using NVIDIA CUDA and OptiX kernels for a new GPU-accelerated a back-end, and I'm planning on adding Khronos ANARI API bindings in an upcoming version.