Font Size: a A A

Automatic Communication Code Generation And Optimization For Distributed Memory Architecture

Posted on:2010-10-07Degree:MasterType:Thesis
Country:ChinaCandidate:R DingFull Text:PDF
GTID:2178330332478498Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
A parallelizing compiler is a compiler which identifies potential parallel factors in a serial program and uses the equivalent transformation techniques to translate it into an equivalent and effective parallel program. The code generation belongs to the back-end of parallelizing compiler. By using the information getting from the front-end, parallel program adapting to the architecture of target machine can be generated. The quality of the code generation directly determines the efficiency of a parallel program execution.This thesis, based on the development and research of an automatic parallelizing compiler SW-KAP (Kit of Automatic Parallelizing complier), focuses on the issues of generating and optimizing the communication code automatically for distributed memory high performance computer systems. The main contents and contributions are as follows:1. An optimization algorithm for the code generation of communication before computing was proposed. The algorithm can eliminate redundant communication caused by flow dependence, input dependence and not appearing index in loop nest.2. An improved algorithm for the code generation of communication after computing was presented. As the old one generates serial communication code, improved algorithm can generate parallel communication code, which reduces message-passing-step effectively by using optimization of collective communication in MPI (Message Passing Interface).3. An optimization algorithm for the code generation of nearest-neighbor communication was designed and implemented. The algorithm builds the communication lists by combining the array variable, then computes the communication region and generates nearest-neighbor communication code based on the lists. The traditional algorithm doesn't distinguish nearest-neighbor communication and data-reorganization communication, which brings redundant communication cost. The new algorithm can eliminate these redundant.These algorithms presented in the thesis have been implemented and applied in the SW-KAP system, and the validity has been proved.
Keywords/Search Tags:Distributed Memory Architecture, Code generation, Communication optimization, Nearest-Neighbor Communication, Communication before Computing, Communication Parallelizing
PDF Full Text Request
Related items