Iteration Bound. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C.

Similar documents
Iteration Bound. Lan-Da Van ( 倫 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C.

Folding. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

S Postgraduate Course on Signal Processing in Communications, FALL Topic: Iteration Bound. Harri Mäntylä

Retiming. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

Verilog for Combinational Circuits

Vertex Shader Design I

Vertex Shader Design II

Verilog Behavioral Modeling

Gate-Level Minimization

Gate-Level Minimization

Register Transfer Level in Verilog: Part I

Digital Systems and Binary Numbers

Sample Solutions to Homework #4

Review for Ray-tracing Algorithm and Hardware

Verilog Dataflow Modeling

Hypercubes. (Chapter Nine)

Optimized Design Platform for High Speed Digital Filter using Folding Technique

Dynamic Programming. Outline and Reading. Computing Fibonacci

AMS526: Numerical Analysis I (Numerical Linear Algebra)

COMPUTATIONAL PROPERIES OF DSP ALGORITHMS

Academic Course Description

Linear Equation Systems Iterative Methods

Academic Course Description. VL2003 Digital Processing Structures for VLSI First Semester, (Odd semester)

Lecture 18 Solving Shortest Path Problem: Dijkstra s Algorithm. October 23, 2009

Lecture 10 October 7

A Many-Core Machine Model for Designing Algorithms with Minimum Parallelism Overheads

Subsequence Definition. CS 461, Lecture 8. Today s Outline. Example. Assume given sequence X = x 1, x 2,..., x m. Jared Saia University of New Mexico

Chapter Introduction

Twiddle Factor Transformation for Pipelined FFT Processing

Introduction to Modern GPU Hardware

Maximally and Arbitrarily Fast Implementation of Linear and Feedback Linear Computations

Write an algorithm to find the maximum value that can be obtained by an appropriate placement of parentheses in the expression

CSE 417 Network Flows (pt 3) Modeling with Min Cuts

Communication Complexity and Parallel Computing

More Dynamic Programming Floyd-Warshall Algorithm (All Pairs Shortest Path Problem)

EE 382C Final Project Presentation. Ted Jiang Curt Harting 5/24/11

CSE 4/531 Solution 3

SubTile 2013, Marseille. An Algorithm to Create Hyperbolic Escher Tilings

Memory, Area and Power Optimization of Digital Circuits

TRUNCATION SCHEMES FOR RECURSIVE MULTIPLIERS

CSEE 3827: Fundamentals of Computer Systems, Spring Caches

CSE373: Data Structures & Algorithms Lecture 22: Parallel Reductions, Maps, and Algorithm Analysis. Kevin Quinn Fall 2015

Non-exhaustive, Overlapping k-means

Title. Ferienakademie im Sarntal Course 2 Distance Problems: Theory and Praxis. Nesrine Damak. Fakultät für Informatik TU München. 20.

STATIC SCHEDULING FOR CYCLO STATIC DATA FLOW GRAPHS

Rate-Optimal Unfolding of Balanced Synchronous Data-Flow Graphs

1.1 - Functions, Domain, and Range

Dynamic Programming. An Enumeration Approach. Matrix Chain-Products. Matrix Chain-Products (not in book)

PRIMAL-DUAL INTERIOR POINT METHOD FOR LINEAR PROGRAMMING. 1. Introduction

CMPS 102 Solutions to Homework 7

Principal Component Analysis for Distributed Data

Introduction to Multithreaded Algorithms

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

SUGGESTION : read all the questions and their values before you start.

ROTATION SCHEDULING ON SYNCHRONOUS DATA FLOW GRAPHS. A Thesis Presented to The Graduate Faculty of The University of Akron

CS473-Algorithms I. Lecture 10. Dynamic Programming. Cevdet Aykanat - Bilkent University Computer Engineering Department

function [s p] = sumprod (f, g)

Synthesis of DSP Systems using Data Flow Graphs for Silicon Area Reduction

Lecture 9 Graph Traversal

CSCI-1200 Data Structures Fall 2017 Lecture 13 Problem Solving Techniques

Writing Parallel Programs; Cost Model.

Symbolic Buffer Sizing for Throughput-Optimal Scheduling of Dataflow Graphs

Answer All Questions. All Questions Carry Equal Marks. Time: 20 Min. Marks: 10.

Online Mining of Frequent Query Trees over XML Data Streams

More Graph Algorithms: Topological Sort and Shortest Distance

Lecture 19. Software Pipelining. I. Example of DoAll Loops. I. Introduction. II. Problem Formulation. III. Algorithm.

CSCI5070 Advanced Topics in Social Computing

1 Dynamic Programming

CS 231: Algorithmic Problem Solving

1. (a) O(log n) algorithm for finding the logical AND of n bits with n processors

Mathematical and Algorithmic Foundations Linear Programming and Matchings

CS 491 CAP Intermediate Dynamic Programming

Head, Dept of Electronics & Communication National Institute of Technology Karnataka, Surathkal, India

CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation

Lecture 57 Dynamic Programming. (Refer Slide Time: 00:31)

Introduction to Linear Programming

Syntax Analysis, III Comp 412

RECENTLY, researches on gigabit wireless personal area

Generalized trace ratio optimization and applications

SGN (4 cr) Chapter 11

Lecture 1 Aug. 26, 2015

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

Surface Simplification Using Quadric Error Metrics

Trees, Trees and More Trees

Problem Set 6. Part A:

Lecture 22: Dynamic Programming

COMPUTER SCIENCE 4500 OPERATING SYSTEMS

Slide Set 18. for ENCM 339 Fall 2017 Section 01. Steve Norman, PhD, PEng

Structure from motion

COSC2430: Programming and Data Structures Sparse Matrix Multiplication: Search and Sorting Algorithms

Algebraic method for Shortest Paths problems

Chapter 6: Folding. Keshab K. Parhi

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 03/02/17

Dynamically Motivated Models for Multiplex Networks 1

Unit-5 Dynamic Programming 2016

Algorithms Dr. Haim Levkowitz

Solving Systems of Equations Using Matrices With the TI-83 or TI-84

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1

COSC2430: Programming and Data Structures Sparse Matrix Addition 2 2: Non-recursive and recursive; arrays and linked lists

15.4 Longest common subsequence

Transcription:

Iteration Bound ( 范倫達 ) Ph. D. Department of Computer Science National Chiao Tung University Taiwan R.O.C. Fall 2 ldvan@cs.nctu.edu.tw http://www.cs.nctu.tw/~ldvan/

Outline Introduction Data Flow Graph (DFG) Representations Loop Bound and Iteration Bound Compute the Iteration Bound Longest Path Matrix Algorithm (LPM) Minimum Cycle Mean Method (MCM) Conclusion VLSI-DSP-2-2

Introduction Many DSP algorithms such as recursive and adaptive digital filters contain feedback loops which impose an inherent fundamental lower bound on the achievable iteration or sample period. Iteration bound = maximum loop bound Clock period = critical path period = cycle time = /clock rate Sample rate = throughput rate Impossible to achieve an iteration bound less than the theoretical iteration bound with infinite processors VLSI-DSP-2-3

Outline Introduction Data Flow Graph (DFG) Representations Loop Bound and Iteration Bound Compute the Iteration Bound Longest Path Matrix Algorithm (LPM) Minimum Cycle Mean Method (MCM) Conclusion VLSI-DSP-2-

for n DSP Program: Example to y( n) ay( n ) x( n) Intra- Iteration Period : A Inter - Iteration Period : B k A k B k k Data Flow Graph VLSI-DSP-2-

Critical Path: The path with the longest computation time among all paths that contain zero delays Loop: Directed path that begins and ends at the same node Loop Bound=t l /w l where t l is the loop computation time and w l is the number of delays in the loop Critical Loop: the loops in which has maximum loop bound. Iteration Bound: maximum loop bound i.e. a fundamental limit for recursive algorithms Loop Bounds in DFG Loop bounds : /2 u.t. (max) /3 u.t. / u.t. VLSI-DSP-2-6

Definition: T Iteration bound t max{ l ll w l } T (a) Iteration bound= 6/2 = 3 u.t. (b) Iteration bound= Max { 6/2 / } = u.t. VLSI-DSP-2-7

Outline Introduction Data Flow Graph (DFG) Representations Loop Bound and Iteration Bound Compute the Iteration Bound Longest Path Matrix Algorithm (LPM) Minimum Cycle Mean Method (MCM) Conclusion VLSI-DSP-2-8

Longest Path Matrix (LPM) Algorithm A series of matrix is constructed and the iteration bound is found by examining the diagonal elements of the matrices. d : # of delays Compute L () ~L (m) m= 2 3 d ( m) l :The longest computation time of all paths from delay i j element d i to delay element d j that pass through exactly m- delays where the delay d i and delay d j are not included for m- delays. If no path exists then the value of l ij (m) equals -. VLSI-DSP-2-9

VLSI-DSP-2- A DFG with Three Loops Using LPM (/3) () L

VLSI-DSP-2- A DFG with Three Loops Using LPM (2/3) ) max( ) ( () ) ( m j k k i K k m j i l l l (2) L (2) L

VLSI-DSP-2-2 A DFG with Three Loops Using LPM (3/3) } { max ) ( } {2... m l T m i i d m i 2 } 8 8 3 3 3 2 2 { max } {2... d m i T 9 9 8 (3) L 9 9 8 9 8 () L

A Filter Using LPM () L T 8 8 (2) L 2 6 8 2 6 max{ } 2 2 2 6 8 VLSI-DSP-2-3

Minimum Cycle Mean (MCM) Method. Construct the new graph G d and Gd Transform from original DFG G Decide the # of nodes from the # of delays in G. Decide the weight of each edge 2. Compute the minimum cycle mean Construct the series of d+ vectors f (m) m= 2 d An arbitrary reference node is chosen in Gd (called this node s). The initial vector f () is formed by setting f () (s)= and setting the remaining nodes of f () to infinity. find the min cycle mean VLSI-DSP-2-

A DFG with Three Loops Using MCM (/) VLSI Digital Signal Processing Systems Cycle mean= Average length of the edge in c (Cycle = Loop ) Longest path length path that passes through no delays longest : two loops that contain D a and D b max { 6 } = 6 cycle mean = 6/2=3 VLSI-DSP-2-

A DFG with Three Loops Using MCM (2/) VLSI Digital Signal Processing Systems delay => node longest path length (computation time) =>weight w(ij) If no zero-delay path exists from delay d i to delay d j then the edge i -> j does not exist in Gd. VLSI-DSP-2-6

VLSI-DSP-2-7 we will find d+ vectors f (m) m= d A DFG with Three Loops Using MCM (3/) () f () f (2) f (3) f 8 () f )) ( ) ( min( ) ( ) ( ) ( j w i i f j f m I i m

A DFG with Three Loops Using MCM (/) T min ( max ( ( d ) ( i) f i{ 2... d} m{2... d } d m f ( m) ( i) )) T min{ 2 2 } 2 VLSI-DSP-2-8

A Filter Using MCM T min{ 8 6} f () 8 f () f (2) VLSI-DSP-2-9 2 2

Conclusion When the DFG is recursive the iteration bound is the fundamental limit on the minimum sample period of a hardware implementation of the DSP program. Two algorithms to compute iteration bound LPM and MCM were explored. VLSI-DSP-2-2