V5 N2 Paper 6
Annals of the MS in Computer Science and Information Systems at UNC Wilmington
Fall 2011

Extending Shared-Memory Parallelism to a Distributed-Memory Parallelizing Compiler  

Lyndon Kyle Holt

Committee

Clayton Ferner (chair)
Douglas Kline
Gur Adhar

Abstract

A source-to-source parallelizing compiler which generates parallel code for distributed-memory systems is modified to support statements for expressing shared-memory parallelism. The multi-core push is changing commodity clusters and high-end computing systems to include denser nodes containing more processors with shared-memory. This has drawn increased interest in hybrid parallel programming of these systems. The result of this compiler modification allows valid hybrid parallel programs to be produced from high-level statements guiding two forms of parallelism from the sequential source. Further implications and a detailed description of the implementation of this optimization are discussed. The modified compiler was validated by compiling two sequential sources containing high-level distributed-memory and shared-memory statements which perform matrix multiplication and Sobel edge detection. Performance timings are collected on the generated hybrid parallel source and distributed-memory only parallel source.

download (pdf)

Recommended Citation: Holt, L., Ferner, C, Kline, D., Adhar, G. (2011) Extending Shared-Memory Parallelism to a Distributed-Memory Parallelizing Compiler . Annals of the Master of Science in Computer Science and Information Systems at UNC Wilmington, 5(2) paper 6. http://csbapp.uncw.edu/data/mscsis/full.aspx.

V5 N2 Paper 6
Annals of the MS in Computer Science and Information Systems at UNC Wilmington
Fall 2011