SaC -- from high-level programming with arrays to efficient parallel execution

Grelck, C. and Scholz, S. (2003) SaC -- from high-level programming with arrays to efficient parallel execution. pp. 401-412. ISSN 0129-6264
Copy

SAC is a purely functional array processing language designed with numerical applications in mind. It supports generic, high-level program specifications in the style of APL. However, rather than providing a fixed set of built-in array operations, SAC provides means to specify such operations in the language itself in a way that still allows their application to arrays of any rank and size. This paper illustrates the major steps in compiling generic, rank- and shape-invariant SAC specifications into efficiently executable multithreaded code for parallel execution on shared memory multiprocessors. The effectiveness of the compilation techniques is demonstrated by means of a small case study on the PDE1 benchmark, which implements 3-dimensional red/black successive over-relaxation. Comparisons with HPF and ZPL show that despite the genericity of code, SAC achieves highly competitive runtime performance characteristics.

Full text not available from this repository.

Explore Further

Read more research from the creator(s):

Find work associated with the faculties and division(s):