Towards a time and space efficient functional implementation of a Monte Carlo photon transport code
In this paper we present three Sisal versions of a large Monte Carlo radiation transport code: a straightforward version, a stream version, and a stripmined loop version. We compare these versions with respect to their time and space efficiency and their parallelism. We discuss the compiler used in...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Tagungsbericht |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | In this paper we present three Sisal versions of a large Monte Carlo radiation transport code: a straightforward version, a stream version, and a stripmined loop version. We compare these versions with respect to their time and space efficiency and their parallelism. We discuss the compiler used in this project, which generates multithreaded shared memory code. We discuss the effect of strictness on program behavior. Sisal provides the fastest, purely functional, sequential code we have seen for this benchmark:, using a constant amount of space. The stream version suffers from the fact that streams have a strict implementation in the Sisal compiler, so programs using long streams are both space inefficient and can show limited parallel speedup. The stripmined version of our code uses relatively small amounts of space, and shows a speedup of only around two for four processors, as it exhibits significant reference count lock contention. |
---|---|
DOI: | 10.1109/PACT.1997.644024 |