The BLAZE language: A parallel language for scientific programming (Q580952)

From MaRDI portal
scientific article
Language Label Description Also known as
English
The BLAZE language: A parallel language for scientific programming
scientific article

    Statements

    The BLAZE language: A parallel language for scientific programming (English)
    0 references
    0 references
    0 references
    1987
    0 references
    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 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 shows how this language would be used in typical scientific programming.
    0 references
    MIMD architectures
    0 references
    restructuring of conventional sequential languages
    0 references
    compiler
    0 references
    multiprocessor parallel architectures
    0 references
    parallelism
    0 references

    Identifiers