In High-Level Synthesis (HLS), extracting parallelism in order to create small and fast circuits is the main advantage of HLS over software execution. Modulo Scheduling (MS) is a technique in which a loop is parallelized by overlapping different parts of successive iterations. This ability to extract parallelism makes MS an attractive synthesis technique… (More)
Modulo scheduling is a major optimization of high performance compilers wherein the body of a loop is replaced by an overlapping of instructions from different iterations. Hence the compiler can schedule more instructions in parallel than in the original option. Modulo scheduling, being a scheduling optimization, is a typical backend optimization relying on… (More)
Students are listed by graduation date; '*' indicates a project (non-thesis) track. Publications are classified as articles in refereed journals; articles in proceedings of refereed conferences; and book chapters.