Shared Memory Multiprocessor Support for SAC

  • Authors:
  • Clemens Grelck

  • Affiliations:
  • -

  • Venue:
  • IFL '98 Selected Papers from the 10th International Workshop on 10th International Workshop
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

SAC (Single Assignment C) is a strict, purely functional programming language primarily designed with numerical applications in mind. Particular emphasis is on efficient support for arrays both in terms of language expressiveness and in terms of runtime performance. Array operations in SAC are based on elementwise specifications using so-called With-loops. These language constructs are also well-suited for concurrent execution on multiprocessor systems. This paper outlines an implicit approach to compile Sac programs for multi-threaded execution on shared memory architectures. Besides the basic compilation scheme, a brief overview of the runtime system is given. Finally, preliminary performance figures demonstrate that this approach is well-suited to achieve almost linear speedups.