122.tachyon
SPEC MPI2007 Benchmark Description
Benchmark Name
122.tachyon
Benchmark Author
John E. Stone
johns@megapixel.com
Benchmark Program General Category
Tachyon is a parallel ray tracing application.
Benchmark Description
To paraphrase the author:
Tachyon is a result of the author's curiosities in computer graphics.
Some of it was written as part of his M.S. degree in Computer Science,
other parts of it were done purely for their entertainment value.
MPI Usage
Tachyon is nearly embarrassingly parallel. As a result, MPI usage tends
to be much lower as compared to other types of MPI applications.
The scene to be rendered is partitioned up into a fixed number of pieces
of the scene, which are distributed out to each processor participating
in the computation by the master process. Each processor then renders
its piece of the scene in parallel, independent of the other processors.
Once a processor completes the rendering of its particular piece of the
scene, it waits until the other processors have rendered their pieces of
the scene, and then transmits its piece back to the master process. The
process is repeated until all pieces of the scene have been rendered.
Input Description
The input files contain descriptions of scenes to be rendered by the
ray tracing algorithm. The descriptions consist of a series of equations
used to mathematically model objects in the scene, one or more light
sources, the colors and reflective properties of objects, and the
position of the viewer looking into the scene at a given angle.
Output Description
Ordinarily, ray tracing programs produce a binary image file as a final
result. However, binary files are particularly challenging to validate
for the purposes of a benchmark. Hence, we have come up with a validation
strategy that computes an error term based on the values of the scene, as
compared to the expected output. This error term is then produced as
textual output to be validated. If the error term is within a predefined
delta value, then the output is considered to be valid. Otherwise, the
SPEC tools will report a validation error.
Programming Language
C
Known portability issues
Some directives related to header files exist for various system-specific
threading and timing routines. It is not clear that these directives are
necessary for the purposes of an MPI-based benchmark.
Version and Licensing
This benchmark was ported from the 0.97 release of Tachyon.
The license for the code is stated by the author as follows:
All work included in this distribution is copyrighted by John E. Stone,
except where noted within specific source files. You may use this code
for any purpose you wish, as long as credit is given to its source(s).
References
Last updated: February 2, 2007