ECE734 VLSI Arrays for Digital Signal Processing Algorithm Representations and Iteration Bound.

Slides:



Advertisements
Similar presentations
1 ECE734 VLSI Arrays for Digital Signal Processing Loop Transformation.
Advertisements

ADSP Lecture2 - Unfolding VLSI Signal Processing Lecture 2 Unfolding Transformation.
ECE 667 Synthesis and Verification of Digital Circuits
Chapter Matrices Matrix Arithmetic
ECE Longest Path dual 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality – Longest.
§3 Shortest Path Algorithms Given a digraph G = ( V, E ), and a cost function c( e ) for e  E( G ). The length of a path P from source to destination.
1 ECE734 VLSI Arrays for Digital Signal Processing Chapter 3 Parallel and Pipelined Processing.
Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.
8.3 Representing Relations Connection Matrices Let R be a relation from A = {a 1, a 2,..., a m } to B = {b 1, b 2,..., b n }. Definition: A n m  n connection.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Graph-02.
Chapter 4 Retiming.
1 Chapter 26 All-Pairs Shortest Paths Problem definition Shortest paths and matrix multiplication The Floyd-Warshall algorithm.
Discussion #33 Adjacency Matrices. Topics Adjacency matrix for a directed graph Reachability Algorithmic Complexity and Correctness –Big Oh –Proofs of.
Lecture 17 Path Algebra Matrix multiplication of adjacency matrices of directed graphs give important information about the graphs. Manipulating these.
© 2006 Pearson Addison-Wesley. All rights reserved14 A-1 Chapter 14 excerpts Graphs (breadth-first-search)
ELEC692 VLSI Signal Processing Architecture Lecture 4
Frame-Level Pipelined Motion Estimation Array Processor Surin Kittitornkun and Yu Hen Hu IEEE Trans. on, for Video Tech., Vol. 11, NO.2 FEB, 2001.
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
Dynamic Programming Reading Material: Chapter 7..
Pipelining and Retiming 1 Pipelining  Adding registers along a path  split combinational logic into multiple cycles  increase clock rate  increase.
The max flow problem
Dynamic Programming Dynamic Programming algorithms address problems whose solution is recursive in nature, but has the following property: The direct implementation.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
ECE LP Duality 1 ECE 665 Spring 2005 ECE 665 Spring 2005 Computer Algorithms with Applications to VLSI CAD Linear Programming Duality.
Algorithms All pairs shortest path
All-Pairs Shortest Paths
VLSI DSP 2008Y.T. Hwang3-1 Chapter 3 Algorithm Representation & Iteration Bound.
ELEC692 VLSI Signal Processing Architecture Lecture 6
ECE Synthesis & Verification 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Retiming.
Algorithmic Transformations
Dr. Elwin Chandra Monie Department of ECE, RMK Engineering College
11-1 Matrix-chain Multiplication Suppose we have a sequence or chain A 1, A 2, …, A n of n matrices to be multiplied –That is, we want to compute the product.
Chapter 5 Unfolding.
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
1 Dynamic programming algorithms for all-pairs shortest path and longest common subsequences We will study a new technique—dynamic programming algorithms.
EDA (CS286.5b) Day 18 Retiming. Today Retiming –cycle time (clock period) –C-slow –initial states –register minimization.
CS Discrete Mathematical Structures Mehdi Ghayoumi MSB rm 132 Ofc hr: Thur, 9:30-11:30a.
Applied Discrete Mathematics Week 10: Equivalence Relations
ELEC692 VLSI Signal Processing Architecture Lecture 1
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
S. M. Farhad PhD Student Supervisor: Dr. Bernhard Scholz
CSC401: Analysis of Algorithms CSC401 – Analysis of Algorithms Chapter Dynamic Programming Objectives: Present the Dynamic Programming paradigm.
1 The Floyd-Warshall Algorithm Andreas Klappenecker.
The all-pairs shortest path problem (APSP) input: a directed graph G = (V, E) with edge weights goal: find a minimum weight (shortest) path between every.
Recursive Average The recursive average is a very efficient way to obtain a time-weighted average by low-pass filtering the signal. y[n] = (1-a)y[n-1]
Dynamic Programming Greed is not always good.. Jaruloj Chongstitvatana Design and Analysis of Algorithm2 Outline Elements of dynamic programming.
Dr. Elwin Chandra Monie Department of ECE, RMK Engineering College
Optimal Algorithms for Task Scheduling Implemented by Ala Al-Nawaiseh Khaled Mahmud.
ELEC692 VLSI Signal Processing Architecture Lecture 2 Pipelining and Parallel Processing.
ELEC692 VLSI Signal Processing Architecture Lecture 3
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Chapter 13: Graphs Data Abstraction & Problem Solving with C++
Basic Graph Algorithms Programming Puzzles and Competitions CIS 4900 / 5920 Spring 2009.
Chapter 13 Backtracking Introduction The 3-coloring problem
1 Chapter 2 Notation and Definitions Data Structures Transformations.
Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘length’ c ij (cost, time, distance, …). Determine a path of shortest.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Chapter 05 Introduction to Graph And Search Algorithms.
Data Structures and Algorithm Analysis Graph Algorithms Lecturer: Jing Liu Homepage:
Retiming EECS 290A Sequential Logic Synthesis and Verification.
NAME THAT ALGORITHM #2 HERE ARE SOME PROBLEMS. SOLVE THEM. GL HF.
Parallel Algorithm Design using Spectral Graph Theory
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Sequence Pair Representation
Network Flow 2016/04/12.
101-1 Under-Graduate Project Techniques in VLSI design
Dynamic Programming General Idea
Parallel Graph Algorithms
Murugappan Senthilvelan May 4th 2004
Maximum Flow Problems in 2005.
Presentation transcript:

ECE734 VLSI Arrays for Digital Signal Processing Algorithm Representations and Iteration Bound

ECE734 VLSI Arrays for Digital Signal Processing (C) Yu Hen Hu2 Dependence Graph (DG) The basic representation of an algorithm. Shows only dependency among operations. No notion of delay is represented. No loop, cycle allowed. Can be used to represent asynchronous operations. Most useful in exploiting inherent parallelism in the algorithm No implementation or hardware constraint are imposed on DG.

ECE734 VLSI Arrays for Digital Signal Processing (C) Yu Hen Hu3 Data Flow Graph Node: –Computation –Associated with a computing time. Direct edge: –data path and delay Delay: iteration count Example y(n) = a*y(n-1) + b*u(n) The delay of 1 u.t. indicates that to compute y(n+1) in the next iteration depends on result y(n) of the present iteration. Delay labeled with D or positive integer on edges

ECE734 VLSI Arrays for Digital Signal Processing (C) Yu Hen Hu4 DFG Intra-iteration dependency –A direct edge without any delay Inter-iteration dependency –Direct edge with 1 or more delays Node computing delay labeled with parenthesis. Critical path: longest path between … Example: critical path delay = = 8 t.u. Recursive DFG: contains loops. Must have at least one delay element along any loop. Otherwise, the algorithm is NON-computable! D D M0 M1M2 A0 A1 x(n) y(n) (4) (2)

ECE734 VLSI Arrays for Digital Signal Processing (C) Yu Hen Hu5 Loop bound and Iteration bound T {A-B-A} = (2+4)/2 = 3 t.u. T  = max{(2+4)/2, (2+4+5)/1} = max{3, 11} = 11 ABC D 2D (2) (4) (5) AB 2D (2) (4)

ECE734 VLSI Arrays for Digital Signal Processing (C) Yu Hen Hu6 Longest Path Matrix Algorithm Paths are from one delay element to another. Matrix L(m) dimension d by d, d: # of delay elements Element ij (m) = longest computing time from output of d i to input of d j with exactly m  1 delays in between. If no such path exists, ij (m)=  1. Let K = {k; k  [1, d], ik (1) >  1 and kj (m) >  1}, then Once L(m) is computed, the iteration bound can be found as: This algorithm can be easily programmed once L(1) is given.

ECE734 VLSI Arrays for Digital Signal Processing (C) Yu Hen Hu7 LPM Example (Fig. 2.2) lpm.m D D D D (1) (2) d1d1 d2d2 d3d3 d4d4

ECE734 VLSI Arrays for Digital Signal Processing (C) Yu Hen Hu8 Minimum Cycle Mean Algorithm 1.Create a new Graph G d from the given DFG G. Each node of G d is a delay element in G. Edge from node i to node j in G d is the longest path from delay i to delay j in G. So G d can be constructed from non- negative entries of L(1). 2.Compute cycle mean of each cycle in G d. A cycle mean is the average lengths of all eges in a cycle 3.Maximum cycle mean of G d is the maximum cycle (loop) bound of all loops in G and hence is the iteration bound. Algorithm: 1.Compute G c ’ whose edge is negative of that of G. 2.Choose an arbitrary node s, such that f s (0)=0, f k (0) = . 3.Iterations: 4. iteration bound = mcm.m

ECE734 VLSI Arrays for Digital Signal Processing (C) Yu Hen Hu9 Example (Figure 2.4) 1 (1) 2 (2) 3 (1) 4 5 (2) 6 (1) D d2d2 D d1d1 7

ECE734 VLSI Arrays for Digital Signal Processing (C) Yu Hen Hu10 LPM and MCM for Fig. 2.4 LPM Method MCM Method i-m matrix T  = Gd’Gd’ 44 44 88 88 m=0m=1 i=1  12/2  i=2 