This chapter describes the geometrical data- and control-flow modeling techniques for data-dominated applications. The literature on this topic is very scattered, and many different formalisms are being used. We present a unified view on these techniques and formalisms. Next, we show how these models can be used and extended to accurately describe the occupation of memories used for storing multi-dimensional data. Moreover, we derive the necessary and sufficient constraints that have to be satisfied by the design parameters (i.e. execution and storage order) in order to arrive at a valid algorithm implementation (either in hardware or in software). The optimization techniques presented in the subsequent chapters are all partly based on the models presented here, wherever they have to manipulate or analyse the loop nest code and the array signals.
KeywordsClock Cycle Memory Location Execution Order Symbolic Constant Iteration Domain
Unable to display preview. Download preview PDF.