Skip to main content
Log in

Compilation Techniques for High Level Parallel Code

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

This paper describes methods to adapt existing optimizing compilers for sequential languages to produce code for parallel processors. In particular it looks at targeting data-parallel processors using SIMD (single instruction multiple data) or vector processors where users need features similar to high-level control flow across the data-parallelism. The premise of the paper is that we do not want to write an optimizing compiler from scratch. Rather, a method is described that allows a developer to take an existing compiler for a sequential language and modify it to handle SIMD extensions. As well as modifying the front-end, the intermediate representation and the code generation to handle the parallelism, specific optimizations are described to target the architecture efficiently.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ace associated compiler experts. The cosy compiler development system. http://www.ace.nl/

  2. Kyo, S., Okazaki, S.I., Kuroda, I.: An extended C language and a SIMD compiler for efficient implementation of image filters on media extended micro-processors. In: Acivs’03: Advanced Concepts for Intelligent Vision Systems, Ghent, September (2003)

  3. Lawrie D.H., Layman T., Baer D., Randal J.M.: Glypnir-a programming language for Illiac IV. Commun. ACM 18(3), 157–164 (1975)

    Article  MATH  Google Scholar 

  4. Lokhmotov, A., Gaster, B. R., Mycroft A., Stuttard, D., Hickey, N.: Revisiting SIMD programming. In: 20th International Workshop on Languages and Compilers for Parallel Computing (2007)

  5. MasPar.:Maspar programming language (ansi c compatible mpl) reference manual, December (1991)

  6. Rose, J.R., Steele, G.L., Jr.: An extended C language for data parallel programming. In: 2nd International Conference on Supercomputing, vol. 2, pp. 2–16, May (1987)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Benedict R. Gaster.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gaster, B.R., Bainbridge, T., Lacey, D. et al. Compilation Techniques for High Level Parallel Code. Int J Parallel Prog 38, 4–18 (2010). https://doi.org/10.1007/s10766-009-0118-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-009-0118-5

Keywords

Navigation