Abstract:
The implementation of irregular algorithms with dynamic access patterns often requires the use of complex data structures and makes essential use of side effects. An example is the hierarchical radiosity method, a global illumination method from computer graphics, which uses dynamically growing trees with mutual interactions. The irregularity of the algorithm does not hinder a parallel realization on machines with a global address space, but the use of side effects requires a locking mechanism in order to avoid race conditions. This may cause sequentializations that reduce the obtainable speedup. Functional languages offer the possibility of programming without side effects, and they allow parallelization to be expressed orthoganally from the main program. In this paper we use Haskell, a standard nonstrict pure functional language, to realize the coordination level of the hierarchical radiosity algorithm without side effects. The program is executable sequentially using standard compilers, and it offers a variety of straightforward parallelization strategies without explicit locking that can be implemented with no change to the structure of the program. 1.
Citations
|
724
|
The SPLASH-2 programs: Characterization and methodological considerations
– Woo, Ohara, et al.
- 1995
|
|
272
|
The Rapid Evaluation of Potential Fields in Particle Systems
– Greengard
- 1988
|
|
259
|
Modelling the interaction of light between diffuse surfaces
– Goral, Torrance, et al.
|
|
81
|
Parallel visualization algorithms: performance and architectural implications
– Singh, Gupta, et al.
- 1994
|
|
71
|
Simulating global illumination using adaptive meshing
– Heckbert
- 1991
|
|
48
|
Scalable Shared-Memory Multiprocessing
– Lenoski, Weber
- 1995
|
|
39
|
H/Direct: a binary foreign language interface for Haskell
– Finne, Leijen, et al.
|
|
38
|
Coarse-grained parallelism for hierarchical radiosity using group iterative methods
– Funkhouser
- 1996
|
|
38
|
Implementing Functional Languages
– Jones, Lester
- 1992
|
|
37
|
Algorithm + strategy = parallelism
– Trinder, Hammond, et al.
- 1998
|
|
31
|
et al. Report on the programming language Haskell 98
– Jones, Hughes
- 1999
|
|
24
|
Progressive Refinement Radiosity on a Transputer Network. Photorealistic Rendering
– Feda, Purgathofer
- 1991
|
|
20
|
Parallel Processing of Progressive Refinement Radiosity Methods. Photorealistic Rendering
– Chalmers, Paddon
- 1991
|
|
14
|
A rapid hierarchical radiosity algorithm. Computer Graphics
– Hanrahan, Salzman, et al.
- 1991
|
|
10
|
Card: a foreign-language interface for Haskell
– Green
- 1997
|
|
8
|
A parallel approach to hierarchical radiosity
– Bohn, Garmann
- 1995
|
|
5
|
Parallel Hierarchical Radiosity Rendering
– Carter
- 1993
|
|
5
|
A parallel hierarchical radiosity algorithm for complex scenes
– Feng, Yang
- 1997
|
|
4
|
A shared-memory implementation of the hierarchical radiosity method
– Podehl, Rauber, et al.
- 1998
|
|
3
|
Implementation results and analysis of a parallel progressive radiosity
– Guitton, Roman, et al.
- 1995
|
|
3
|
Parallel hierarchical computation of specular radiosity
– Richard, Singh
- 1997
|
|
1
|
editors). Special issue on state-of-the-art applications of pure functional programming
– Hartel, Plasmeijer
- 1995
|
|
1
|
Towards efficient parallel hierarchical radiosity for dsmbased parallel computers using virtual interfaces
– Renambot, Arnaldi, et al.
- 1997
|
|
1
|
et al. Gph: An architecture-independent functional language
– Trinder
- 1998
|