The BLAZE language: A parallel language for scientific programming |
| |
Authors: | Piyush Mehrotra John Van Rosendale |
| |
Affiliation: | Department of Computer Science, Purdue University, West Lafayette, IN 47907, U.S.A. Department of Computer Science, University of Utah, Salt Lake City, UT 84112, U.S.A. |
| |
Abstract: | Programming multiprocessor parallel architectures is a complex task. This paper describes a block-structured scientific programming language, BLAZE, designed to simplify this task. BLAZE contains array arithmetic, ‘forall’ loops, and APL-style accumulation operators, which allow natural expression of fine grained parallelism. It also employs an applicative or functional procedure invocation mechanism, which makes it easy for compilers to extract coarse grained parallelism using machine specific program restructuring. Thus BLAZE should allow one to achieve highly parallel execution on multiprocessor architectures, while still providing the user with conceptually sequential control flow. A central goal in the design of BLAZE is portability across a broad range of parallel architectures. The multiple levels of parallelism present in BLAZE code, in principle, allow a compiler to extract the types of parallelism appropriate for the given architecture, while neglecting the remainder. This paper describes the features of BLAZE, and show how this language would be used in typical scientific programming. |
| |
Keywords: | The BLAZE language parallel programming language multiprocessors MIMD architectures restructuring of conventional sequential languages compiler |
本文献已被 ScienceDirect 等数据库收录! |
|