Ames Laboratory, Department of Energy, Ames, Iowa
next previous

Advanced Software Technology and Algorithms Research

20c. PURPOSE

20e. APPROACH

Key Personnel - FY1996 J. Gustafson (PI) (0.8 FTE); B. Harmon (PI) (0.1 FTE); D. Turner (PI) (1.0 FTE)

Contributing Principal Investigators - FY1996 S. Elbert, D. Heller

20f. TECHNICAL PROGRESS

Algorithms For Parallel Computers and Computational Techniques

Dr. Gustafson has evolved an approach to program development in which the application programmer is assigned the burden of stating and proving the performance of the program. The application programmer describes methods that will guarantee needs are met based on guarantees from the hardware description and the operating system/compiler, in response to the end-user performance requirements (answer quality, reliability, total execution time, input data quality). The current approach is to describe tasks using an assembly-like specification of individual operations like addition, testing, etc. However, each "instruction" is accompanied by statements of numerical range, reliability, cost in current dollars, maximum execution time, and what other statements may be executed simultaneously. One may augment a conventional algorithm to fit this paradigm by the addition of information by an application programmer. Once complete, such an instruction-level design should be compilable to a very broad range of platforms (or flagged as impossible by the compiler to a particular computer) for several decades without change.

Note that performance metrics such as precision, execution time, and reliability become promoted to pass/fail decisions for a compiler. This is a fundamental shift in the burden of computer use from the end user to the application programmer. At the same time, the job of the compiler writers becomes easier because intractable problems of scheduling and discovering implied parallelism are removed from their duties.

Dr. Gustafson, Snell, and Shorb have created a program called PHOTON that embodies the discoveries and inventions made in FY1994 regarding complete solutions to Kajiya's Rendering Equation. Dr. Gustafson has provided the theoretical design of the program; Snell has coded and debugged the program, including shared-memory parallelization; Shorb built and parallelized the viewing program, an elaborate undertaking in itself; Bower built a preprocessor that trades memory use for higher speed.

Several principles in PHOTON are novel and unique, and patent protection is being explored. The scene is decomposed into four-dimensional areas (two dimensions for the surface location and two for the solid angle of the direction) and a dynamic histogram of photon events dictates scene refinement. Use of discrete photons solves the load imbalance problem of following "power packets" of light until they attenuate below some level. Use of histogram bins instead of precise ray histories allows the resulting answer to fit in main memory instead of being relegated to mass storage. The preprocessor of the input geometry accelerates the testing of photon-surface intersections by one to three orders of magnitude. Generation of diffuse-surface photon distributions is done by a terse method with two random number generations and only nine floating point operations (no trigonometric functions); the literature shows general ignorance of how critical it is to have correct distributions, perhaps because it has been thought too expensive in terms of operations.

We have tested our method and obtained agreement with analytic methods and progressive radiosity methods; as a side effect of this research, we discovered major errors in published methods for scene rendering. We are pursuing a collaborative effort with George Davidson and Arthurine Breckenridge at Sandia National Laboratories to incorporate the PHOTON approach into MUSE.

Both PHOTON and the viewer are very compute-intensive, and have been parallelized for the Power Onyx with high efficiency. We are not currently memory-bound, but this could change as algorithmic advances let us increase the photons per second rate of the program. We estimate that a realistic rendering for a simple scene with 1000 polygons will require about 1 gigabyte of main memory.

In connection with the work on solutions to Kajiya's Rendering Equation, we have been led to explore precise experimental comparison between simulated images and actual images. Such experimental testing is extremely rare in the graphics literature; we are aware of only one paper (Goral et al., 1984) that showed anyone has attempted it. We have acquired a high-resolution digital camera that will allow pixel-by-pixel comparison between actual and simulated appearance of objects and scenes.

Dr. Gustafson, Snell, and Shorb have also designed a controlled environment called "the Tunnel" for viewing measured and simulated images for comparison with actual views. Construction is nearly complete at the time of this writing. It will provide stereoptic input at the limits of accuracy of the human visual system, accounting for monocular depth perception, contrast range, color accuracy, and fovea-limited resolution. The only restriction will be a small field of view. In this sense, The Tunnel is complementary to the CAVE in which visual fidelity is sacrificed to achieve full-field views.

We have built a small radar cross-section program that produces numerical results in concordance with theoretical solutions. This is a critical first step in transferring the algorithmic methods of PHOTON to the RCS problem. We have determined that the RCS community makes many of the same errors as the graphics community, including the assumption that answer quality is proportional to number of elements in geometry decomposition.

Grand Challenge