| T. Mogensen. The application of partial evaluation to ray-tracing. Master's thesis, DIKU, University of Copenhagen, Denmark, 1986. |
.... first developed in the sixties for use in LISP [103] and later spread to or was independently developed in the areas of artificial intelligence applications [15] compiling and compiler generation [15, 45, 44, 52, 76, 90, 92, 94] string and pattern matching [42, 57, 126, 80] computer graphics [10, 110], numerical computation [16] circuit simulation [11] and hard real time systems [115] There was a major step forward in partial evaluation in the eighties with the MIX partial evaluator [91] The MIX partial evaluator was different than earlier efforts because it was self applicable one ....
T. Mogensen. The application of partial evaluation to ray-tracing. Master's thesis, DIKU, University of Copenhagen, Denmark, 1986.
....annotate programs every time he wants to perform specialization) MetaML and our work have one important technique in common: the sharing of objects between standard and partial evaluation corresponds to cross stage persistence in MetaML. Specialization of ray tracing was first done by Mogensen [22]. Andersen [1] specialized an already efficient ray tracer written in C. The realistic application of specialization in graphics is also found in [15] 10 Conclusion This paper described our first step towards the integration of partial evaluation into standard interpretation. The two main ....
Mogensen, T. AE. "The Application of Partial Evaluation to Ray-Tracing," Master's thesis, DIKU, University of Copenhagen (1986).
....static type checking to remove runtime checks. Estimating optimistically that static type checking makes programs three times faster, we still lose by more than ten times. Currently, we have no clue how to bridge this gap. 5 Related work Specialization of ray tracing was first done by Mogensen[11]. Andersen[2] specialized an already efficient ray tracer written in C. We did the same experiment using Scheme extended with pe. Thanks to the presence of pe, we could achieve specialization simply by inserting pe at an appropriate place. The realistic application of specialization in graphics is ....
Mogensen, T. AE. "The Application of Partial Evaluation to Ray-Tracing," Master's thesis, DIKU, University of Copenhagen (1986).
....logic programming community, very few reports on successfully optimised applications have appeared in the literature. This is quite in contrast with work on partial evaluation for functional and even imperative languages, where several success stories , e.g. in the areas of ray tracing [70], scientific computing [32] and simulation and modelling [1, 2, 91] have been published. As such, a second motivation for this work has been to report on a very successful application of partial deduction: our experiments illustrating how specialisation can significantly improve on the best ....
T. Mogensen. The application of partial evaluation to ray-tracing. Master's thesis, DIKU, University of Copenhagen, Denmark, 1986.
....Ray tracing is an algorithm in computer graphics that calculates every pixel in a rendered image by back tracing the paths imagined light rays would take from each image pixel back to any light source, reflecting off objects in the scene. Partial evaluation was applied to ray tracing by Mogensen [49], and again by Andersen who optimized an already efficient ray tracing algorithm to achieve a 1.3 to 3.3 times speedup depending on the scene and degree of specialization [4] Baier, Glck, and Zchling describe the effect of partial evaluation applied to numerical programs in Fortran [7] By taking ....
Torben Mogensen, The Application of Partial Evaluation to Ray Tracing, Masters Thesis, DIKU, University of Copenhagen, Denmark, 1986.
....= F (hs; di) 1) The mnemonic is that s and d stand for the static and dynamic parts of the input, respectively. Partial evaluation is useful for removing interpretive overhead, and can also speed up programs that have two arguments that change value at di erent rates (such as ray tracing (Mogensen, 1986)) The slice of a program with respect to a set of program elements S is a projection of the program that includes only program elements that might a ect (either directly or transitively) the values of the variables used at members of S (Weiser, 1984; Ottenstein and Ottenstein, 1984; Horwitz et ....
Mogensen, T.: 1986, `The Application of Partial Evaluation to Ray-Tracing'. Master 's thesis, Datalogisk Institut, Univ. of Copenhagen, Copenhagen, Denmark.
....: 48 B Scene Description Files for Rayshade 49 1 Abstract The purpose of this paper is to collect the experiences made during a recent ray tracing project, and to document the results. The objective of the project is to redo Mogensen s experiment [Mogensen 86] with applying partial evaluation to ray tracing, but in another setting. We have implemented the standard recursive ray tracing algorithm [Foley 90] Glassner 89] Hall 89] in C and programmed it for speed. The focus in this project is on using partial evaluation to optimize an already ....
....will not do (either because they are too complex, or because they depend on the input s, which is not available at compile time) and 2. remove administrative overhead introduced by modular or general programming Point 2 has been demonstrated in many applications of partial evaluation (e.g. Mogensen 86] Berlin 90b] Berlin 90a] Berlin 94] Jorgensen 91] Lisper 91] Mossin 93] Baier 94] but little attention has been paid to point 1. In this project we will focus on point 1, by applying partial evaluation to a realistic application that is already programmed for speed. Point 2 will ....
[Article contains additional citation context not shown here]
Mogensen, Torben. The application of Partial Evaluation to Ray-Tracing. Master's thesis, DIKU, University of Copenhagen, Denmark, 1986.
....example, in ray tracing, the paths taken by light rays through a scene are repeatedly calculated. It would seem to make sense for us to partially evaluate the engine of a generalised ray tracer with respect to the scene we are interested in rendering, in order to speed up the rendering process [Mog86] In the Unix operating system, it frequently occurs that a process will open a file and perform many operations on it, then close it. In this case, the kernel can partially evaluate its internal filehandling procedures in order to expedite file access [PW94] The MIT Supercomputer Toolkit s ....
Torben . Mogensen. The application of partial evaluation to ray-tracing. Master's thesis, Department of Computer Science, University of Copenhagen, 1986.
....programs run faster If we have a program p with two inputs s, d, where s changes more often than d then we can gain efficiency by partially evaluating p with respect to s once and from then on executing the faster program p s on the different values for d. More significantly, however, Mogensen [26] shows in his work on specialising a (naive) raytracer with respect to a scene and then applying the residual program to a dynamic viewpoint, that we can even see a speedup for a single program run: T ( mix] ray; scene) T ( ray scene ] vp) T ( ray] scene; vp) 13) The speedup ....
T. Mogensen. The application of partial evaluation to ray-tracing. Master's thesis, DIKU, University of Copenhagen, Denmark, 1986.
....code that would be generated. Several researchers have applied partial evaluation to ray tracing by using a general purpose partial evaluator to specialize a general intersection routine with respect to a scene, producing a specialized ray tracer parameterized only by the viewpoint. Mogensen [10] partially evaluated a simple ray tracer coded in Lisp and got a two fold speedup; when shading was added to the ray tracer, the speedup increased to 8 times. Andersen [2] performed a similar experiment in C, and achieved speedups of 1.8 with a code size blowup of 15 90 times. Other researchers ....
Mogensen, Torben. The Application of Partial Evaluation to Ray-Tracing. Master's thesis, DIKU, University of Copenhagen, Denmark, 1986.
....1.1 Background During the last decade, partial evaluation, or program specialization, has proven its usefulness in numerous areas. The applications range from sophisticated program optimizations, for example specialization of scientific computation [Berlin and Weise 1990] and ray tracing [Mogensen 1986], and programming language implementation, for example compiler generation [Bondorf 1990a] and proto type implementation [Heldal 1991] In common for these applications are that a one stage program is converted into a two stage version. For instance, an interpreter is a one stage program taking as ....
T. Mogensen, The Application of Partial Evaluation to Ray-Tracing, Master's thesis, DIKU, University of Copenhagen, Denmark, 1986.
....with respect to the sphere s geometry and the origin point of the ray, the specialized function only takes the direction vector of the ray as parameter. 4 Related Work, Conclusion, and Future work Related work. Mogensen specialized a very modular ray tracer written in a functional language [Mog86], showing that the administrative overhead could be removed. Hanrahan has a surface compiler which accepts as input the equation of a surface and outputs the intersection code as a series of C statements [Han83] This is clearly a form of partial evaluation targeted for a specific application. ....
Torben Mogensen. The Application of Partial Evaluation to Ray-Tracing. Master's thesis, DIKU, University of Copenhagen, Denmark, 1986.
.... languages [4, 9, 13, 36] Both its theoretical and practical aspects have led to major advances of the technology [10, 22, 35] Researchers have illustrated the potentials of this technology by applying it to various problems such as compiler generation [1, 15, 26, 29, 30] graphics applications [6, 25, 34], and scientific computing [7, 8, 24, 31] Ultimately, just like a compiler, a partial evaluator is a tool. As such, research in the field should also aim at developing systems capable of exploiting specialization opportunities in applications written by programmers that are not experts in partial ....
T. Mogensen. The application of partial evaluation to ray-tracing. Master's thesis, DIKU, University of Copenhagen, Denmark, 1986.
....of this source of speedup can be found in other kinds of simulations. Our speedup figures are lower than they could be because our system produces Scheme code, which prevents the production of extremely lowlevel programs. Based on our experiments, and other applications of program specialization [9, 5, 14], we believe that order of magnitude speedups are routinely achievable via program specialization. The source of this fundamental speedup is described in the next section, which explicitly shows the transformations that a specializer produces. 3 Producing Specialized Programs Program ....
T. Mogensen. The application of partial evaluation to ray-tracing. Master's thesis, DIKU, University of Copenhangen, Copenhagen, Denmark, 1986.
....information about the ways light rays traverse a given scene from different origins and in different directions. Specializing a general ray tracer to a fixed scene to transform the scene into a specialized tracer, only good for tracing rays through that one scene, gives a much faster algorithm [31]. Database queries. Partial evaluation can compile a query into a special purpose search program, whose task is only to answer the given query. The generated program may be discarded afterwards. Here the input to the program generator generator is a general query answerer, and the output is a ....
T. Mogensen. The application of partial evaluation to ray-tracing. Master's thesis, DIKU, University of Copenhagen, Denmark, 1986.
....of the control string. 1. 2 Applications Because of its conceptual simplicity, partial evaluation has been applied to a wide variety of areas that include compiling and compiler generation [31, 34, 39, 59, 69, 71, 74] string and pattern matching [28, 40, 70, 94, 104] computer graphics [85], numerical computation [8] circuit simulation [5] and hard real time systems [91] Partial evaluation has been studied in the context of a wide variety of programming languages. In the area of logic programming, partial deduction is the focus of much work [44, 47, 78, 77] Partial evaluators ....
T. Mogensen. The application of partial evaluation to ray-tracing. Master's thesis, University of Copenhagen, DIKU, Copenhagen, Denmark, 1986.
....the same fixed scene. Since there may be millions of pixels (and hence rays) in a typical ray tracing application, specialization with respect to a fixed scene but unknown ray can give speed up even for rendering single pictures. Speed ups of more than 6 have been reported for a simple raytracer [73]. For a more realistic ray tracer, speed ups in the range 1.5 to 3 have been reported [10] The speed up is gained from several sources: the ray object intersection routine is specialized for each object and the (highly parametrized) shading (colouring) function is specialized for each object. ....
....intersection routine is specialized for each object and the (highly parametrized) shading (colouring) function is specialized for each object. Furthermore, the representation of the scene is converted to procedural form. Figure 1 is an example of a ray traced picture made by the ray tracer from [73]. The picture shows a 3D diagram of the process of partial evaluation: A program P and one of its inputs x are fed to the partial evaluator PE yielding a residual program P x . Partial evaluation has also been applied to numerical computation, in particular simulation programs. In such programs, ....
T. Mogensen. The application of partial evaluation to ray-tracing. Master's thesis, DIKU, University of Copenhagen, Denmark, 1986.
No context found.
T. Mogensen. The application of partial evaluation to ray-tracing. Master's thesis, DIKU, University of Copenhagen, Denmark, 1986.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC