Cross-Paradigm Compilation across Programming Models: from Imperative to Asynchronous Graph

It appears your Web browser is not configured to display PDF files. Download adobe Acrobat or click here to download the PDF file.

Click here to download the PDF file.


Layeghi, Mahsa




Recent years have seen a rapid evolution in multi-core processor architectures. However, programming multi-core processors efficiently is a challenging endeavor. Asynchronous Graph Programming is a novel parallel paradigm that is amenable to automated parallelization for multi-core processors. However, its semantics are both foreign to most programmers, and too low-level to support software development at scale. Thus, this thesis explores the development of a cross-paradigm compiler, that can translate code in an imperative language (C) to AGP, allowing existing code-bases to be re-deployed and automatically parallelized, despite the semantics of their original language being sequential. Towards this, we define semantic transformations from (a sub-set of) C to AGP, and demonstrate the implementation of a compiler that implements those transformations. Our results show that it is possible to transform C into AGP code, and that transformed parallel implementations running on a multi-core system, for a suite of testing benchmarks, outperform sequential code substantially.


Engineering - Electronics and Electrical
Computer Science




Carleton University

Thesis Degree Name: 

Master of Applied Science: 

Thesis Degree Level: 


Thesis Degree Discipline: 

Engineering, Electrical and Computer

Parent Collection: 

Theses and Dissertations

Items in CURVE are protected by copyright, with all rights reserved, unless otherwise indicated. They are made available with permission from the author(s).