Optimal program variant generation for hybrid manycore systems

Urlea, Cristian (2021) Optimal program variant generation for hybrid manycore systems. PhD thesis, University of Glasgow.

Full text available as:
Download (2MB) | Preview


Field Programmable Gate Arrays promise to deliver superior energy efficiency in heterogeneous high performance computing, as compared to multicore CPUs and GPUs. The rate of adoption is however hampered by the relative difficulty of programming FPGAs. High-level synthesis tools such as Xilinx Vivado, Altera OpenCL or Intel's HLS address a large part of the programmability issue by synthesizing a Hardware Description Languages representation from a high-level specification of the application, given in programming languages such as OpenCL C, typically used to program CPUs and GPUs. Although HLS solutions make programming easier, they fail to also lighten the burden of optimization. Application developers must rely on expert knowledge to manually optimize their applications for each target device, meaning that traditional HLS solutions do not offer a solution to the issue of performance portability. This state of fact prompted the development of compiler frameworks such as TyTra that operate at an even higher level of abstraction that is amenable to the use of Design Space Exploration (DSE). With DSE the initial program specification can be seen as the starting location in a search-space of correct-by-construction program transformations. In TyTra the search-space is generated from the transitive-closure of term-level transformations derived from type-level transformations. Compiler frameworks such as TyTra theoretically solve the issue of performance portability by providing a way to automatically generate alternative correct program variants. They however suffer from the very practical issue that the generated space is often too large to fully explore. As a consequence, the globally optimal solution may be overlooked.

In this work we provide a novel solution to issue performance portability by deriving an efficient yet effective DSE strategy for the TyTra compiler framework. We make use of categorical data types to derive categorical semantics for the formal languages that describe the terms, types, cost-performance estimates and their transformations. From these we define a category of interpretations for TyTra applications, from which we derive a DSE strategy that finds the globally optimal transformation sequence in polynomial time. This is achieved by reducing the size of the generated search space. We formally state and prove a theorem for this claim and then show that the polynomial run-time for our DSE strategy has practically negligible coefficients leading to sub-second exploration times for realistic applications.

Item Type: Thesis (PhD)
Qualification Level: Doctoral
Keywords: Optimal Design Space Exploration, FPGA, synthesis, high performance computing, category theory.
Subjects: Q Science > QA Mathematics > QA75 Electronic computers. Computer science
Colleges/Schools: College of Science and Engineering > School of Computing Science
Funder's Name: Engineering and Physical Sciences Research Council (EPSRC)
Supervisor's Name: Vanderbauwhede, Prof. Dr. Wim and Singer, Dr. Jeremy
Date of Award: 2021
Depositing User: Mr Cristian Urlea
Unique ID: glathesis:2021-81928
Copyright: Copyright of this thesis is held by the author.
Date Deposited: 26 Jan 2021 10:41
Last Modified: 26 Jan 2021 10:47
Thesis DOI: 10.5525/gla.thesis.81928
URI: http://theses.gla.ac.uk/id/eprint/81928

Actions (login required)

View Item View Item


Downloads per month over past year