Creator:
Date:
Abstract:
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.