&&ReWrAp:HEADERFOOTER:0:ReWrAp&&

Date of Award

Fall 2011

Degree Type

Thesis

Degree Name

Master of Science (MSc)

Department

Computer Science

Supervisor

Christopher Anand

Co-Supervisor

Wolfram Kahl

Language

English

Committee Member

Michael Soltys

Abstract

We present an extension to the language of Atomic Verifiable Operation (AVOp) streams to allow the expression of loops which are rewritable via an arbitrary permutation. Inspired by (and significantly extending) hardware register rotation to data buffers in multi-core programs, we hope to achieve similar performance benefits in expressing software pipelined programs across many cores. By adding loops to AVOp streams, we achieve significant stream compression, which eliminates an impediment to scalability of this abstraction. Furthermore, we present a fast extension to the previous AVOp verification process which ensures that no data hazards are present in the program’s patterns of communication. Our extension to the verification process is to verify loops without completely unrolling them. A proof of correctness for the verification process is presented.

McMaster University Library