Static Dataflow Graphs
|
|
- Dulcie Snow
- 5 years ago
- Views:
Transcription
1 Static Dataflow Graphs Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of echnology L20-1 Motivation: Dataflow Graphs A common Base Language - to serve as target representation for high-level languages; - to serve as machine language for a highly parallel machine. Jack Dennis Computation Structures Group, MI during L20-2 1
2 Dennis' Program Graphs Operators connected by arcs fork f function or predicate rue gate (alse gate) merge L20-3 Dataflow Eecution of an operation is enabled by availability of the required operand values. he completion of one operation makes the resulting values available to the elements of the program whose eecution depends on them. Dennis Eecution of an operation must not cause side-effect to preserve determinacy. he effect of an operation must be local. L20-4 2
3 iring Rules: unctional Operators y f f f(,y) L20-5 iring Rules: -Gate L20-6 3
4 he Switch Operator X X L20-7 iring Rules: Merge y y L20-8 4
5 iring Rules: Merge cont y not ready to fire L20-9 Some Conventions X1 X2 B X1 X2 B L
6 Some Conventions Cont. X1 X1 X2 X2 B X1 X1 X2 X2 B L20-11 Rules o orm Dataflow Graphs: Jutaposition Given G1 G2 G1 G2 G L
7 Rules o orm Dataflow Graphs: Iteration Given G1 G1 G L20-13 Eample: he Stream Duplicator 1-to-2 SD SD NO L
8 he Gate Operator X C X Lets X pass through only after C arrives. What happens if we don't use the gate in the Stream Duplicator? L20-15 he Stream Halver hrows away every other token. 2-to-1 SH SH L
9 Determinate Graphs Graphs whose behavior is time independent, i.e., the values of output tokens are uniquely determined by the values of input tokens. A dataflow graph formed by repeated jutaposition and iteration of deterministic dataflow operators results in a deterministic graph. Proof? L20-17 Dataflow Operators: Streams unctions add(:s,y:ys) = +(,y) : add(s,ys) -gate (:bs,:s) = : -gate(bs,s) -gate (:bs,:s) = -gate(bs,s) merge(:bs,:s,ys) = : merge(bs,s,ys) merge(:bs,s,y:ys) = y: merge(bs,s,ys) L
10 Dataflow Graphs: A Set of Recursive Equations I A B NO O O = -gate (A,I) ; A = gate (I,B) ; B = : Not (A) ; G. Kahn L20-19 Domain of Sequences Sequence: [ 1,..., n ] he least element: [ ] (aka ) he partial order ( ): prefi order on sequences [ ] [ 1 ] [ 1, 2 ]... [ 1, 2, 3... n ] [ 1, 2, 3 ] may be approimated by [ ] or [ 1 ] or[ 1, 2 ]. However, [ 1, 2 ] is a better approimation than [ 1 ] or [ ] for [ 1, 2, 3 ]. L
11 Kleene's Iterative Solution I [i1, i2, i3] [i1, i2, i3] [i1, i2, i3] A [ ] [ ] [ ] B [ ] [ ] [, ] O [ ] [ ] [ i1 ] O = -gate (A,I) ; A = gate (I,B) ; B = : Not (A) ; Is the answer unique? Yes, if all operators are monotonic and continuous! L20-21 Monotonicity y a monotonic operator on sequences can only produce more output when given more input, i.e., it can never retract a value that has been produced. Is -gate(b,x) monotonic? f() f(y) B B -gate(b,x) -gate(b,x) he proof is straightforward by the induction on the length of the sequences L
12 Continuity f (U i X i ) = U i f(x i ) A continuous operator on sequences does not suddenly produce an output after consuming an infinite amount of input. Is -gate(b,x) continuous? B 0 B 1... B n... -gate((u i B i ),X) = U i -gate(b i,x) he proof is straightforward by the induction on the length of the sequences L20-23 Kleene s ied Point heorem If D is partially ordered with one least element ( ) and is ω-complete, and f : D --> D is a monotonic and continuous function then U i f i ( ) is the least fied point solution of f. ω-complete means that every chain (U i X i ) in the domain has a least upper bound f( ) f(f( ))... he limit of this chain is denoted by U i f i ( ) L
Well-behaved Dataflow Graphs
Well-behaved Dataflow Graphs Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of echnology L21-1 Outline Kahnian networks and dataflow Streams with holes & agged interpretation
More informationHigh-level idea. Abstractions for algorithms and parallel machines. Computation DAG s. Abstractions introduced in lecture
Abstractions for algorithms and parallel machines Keshav Pingali University of eas, Austin High-level idea Difficult to work directly with tetual programs Where is the parallelism in the program? Solution:
More informationArvind Computer Science and Artificial Intelligence Laboratory M.I.T. Oregon Programming Language Summer School (OPLSS) Eugene, OR July 14, 2018
Lecture 1 Dataflow Model of Parallelism Arvind Computer Science and Artificial Intelligence Laboratory M.I.. Oregon Programming Language Summer School (OPLSS) Eugene, OR July 14, 2018 1 Dataflow Jack Dennis
More informationHW/SW Codesign. Exercise 2: Kahn Process Networks and Synchronous Data Flows
HW/SW Codesign Exercise 2: Kahn Process Networks and Synchronous Data Flows 4. October 2017 Stefan Draskovic stefan.draskovic@tik.ee.ethz.ch slides by: Mirela Botezatu 1 Kahn Process Network (KPN) Specification
More informationTopic 4b Program Execution Models Dataflow Model of Computation: A Fine-Grain Kind of PXM. CPEG421/621: Compiler Design
opic 4b Program Execution Models Dataflow Model of Computation: A ine-grain Kind of PXM CPEG42/62: Compiler Design Most slides taken from Prof. Gao s and J.Manzano s previous courses, with additional material
More informationTopic B (Cont d) Dataflow Model of Computation
opic B (Cont d) Dataflow Model of Computation Guang R. Gao ACM ellow and IEEE ellow Endowed Distinguished Professor Electrical & Computer Engineering University of Delaware ggao@capsl.udel.edu 09/07/20
More informationDataflow analysis (ctd.)
Dataflow analysis (ctd.) Available expressions Determine which expressions have already been evaluated at each point. A expression x+y is available at point p if every path from the entry to p evaluates
More informationOverview of Dataflow Languages. Waheed Ahmad
Overview of Dataflow Languages Waheed Ahmad w.ahmad@utwente.nl The purpose of models is not to fit the data but to sharpen the questions. Samuel Karlins 11 th R.A Fisher Memorial Lecture Royal Society
More informationConcurrent Models of Computation
Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 219D: Concurrent Models of Computation Fall 2011 Copyright 2011, Edward A. Lee, All rights reserved
More informationFundamental Algorithms for System Modeling, Analysis, and Optimization
Fundamental Algorithms for System Modeling, Analysis, and Optimization Stavros Tripakis, Edward A. Lee UC Berkeley EECS 144/244 Fall 2014 Copyright 2014, E. A. Lee, J. Roydhowdhury, S. A. Seshia, S. Tripakis
More informationLecture 4: Synchronous Data Flow Graphs - HJ94 goal: Skiing down a mountain
Lecture 4: Synchronous ata Flow Graphs - I. Verbauwhede, 05-06 K.U.Leuven HJ94 goal: Skiing down a mountain SPW, Matlab, C pipelining, unrolling Specification Algorithm Transformations loop merging, compaction
More informationEECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization
EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Dataflow Lecture: SDF, Kahn Process Networks Stavros Tripakis University of California, Berkeley Stavros Tripakis: EECS
More informationEmbedded Systems 7 BF - ES - 1 -
Embedded Systems 7-1 - Production system A modelbased realtime faultdiagnosis system for technical processes Ch. Steger, R. Weiss - 2 - Sprout Counter Flow Pipeline-Processor Based on a stream of data
More informationBounded Scheduling of Process Networks. Thomas M. Parks. B.S.E (Princeton University) in the
Bounded Scheduling of Process Networks by Thomas M. Parks B.S.E (Princeton University) 987 A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in
More informationEE213A - EE298-2 Lecture 8
EE3A - EE98- Lecture 8 Synchronous ata Flow Ingrid Verbauwhede epartment of Electrical Engineering University of California Los Angeles ingrid@ee.ucla.edu EE3A, Spring 000, Ingrid Verbauwhede, UCLA - Lecture
More informationOutline. Definition. 2 Height-Balance. 3 Searches. 4 Rotations. 5 Insertion. 6 Deletions. 7 Reference. 1 Every node is either red or black.
Outline 1 Definition Computer Science 331 Red-Black rees Mike Jacobson Department of Computer Science University of Calgary Lectures #20-22 2 Height-Balance 3 Searches 4 Rotations 5 s: Main Case 6 Partial
More informationA Schedulability-Preserving Transformation Scheme from Boolean- Controlled Dataflow Networks to Petri Nets
Schedulability-Preserving ransformation Scheme from oolean- ontrolled Dataflow Networks to Petri Nets ong Liu Edward. Lee University of alifornia at erkeley erkeley,, 94720, US {congliu,eal}@eecs. berkeley.edu
More informationWriting Parallel Programs; Cost Model.
CSE341T 08/30/2017 Lecture 2 Writing Parallel Programs; Cost Model. Due to physical and economical constraints, a typical machine we can buy now has 4 to 8 computing cores, and soon this number will be
More informationPipelining combinational circuits
Pipelining combinational circuits Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology February 20, 2013 http://csg.csail.mit.edu/6.375 L05-1 Combinational IFFT
More informationDynamic Dataflow. Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology
Dynamic Dataflow Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology L- Dataflow Machines Static - mostly for signal processing NEC - NEDIP and IPP Hughes, Hitachi,
More informationLVars: Lattice-based Data Structures for Deterministic Parallelism. FHPC 13, Boston, MA, USA September 23, 2013
LVars: Lattice-based Data Structures for Deterministic Parallelism Lindsey Kuper and Ryan Newton Indiana University FHPC 13, Boston, MA, USA September 23, 2013 What does this program evaluate to? p = do
More informationCS422 - Programming Language Design
1 CS422 - Programming Language Design Denotational Semantics Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign 2 Denotational semantics, alsoknownasfix-point semantics,
More informationThe Formal Semantics of Programming Languages An Introduction. Glynn Winskel. The MIT Press Cambridge, Massachusetts London, England
The Formal Semantics of Programming Languages An Introduction Glynn Winskel The MIT Press Cambridge, Massachusetts London, England Series foreword Preface xiii xv 1 Basic set theory 1 1.1 Logical notation
More informationImplementation of Process Networks in Java
Implementation of Process Networks in Java Richard S, Stevens 1, Marlene Wan, Peggy Laramie, Thomas M. Parks, Edward A. Lee DRAFT: 10 July 1997 Abstract A process network, as described by G. Kahn, is a
More informationFoundations of Dataflow Analysis
Foundations of Dataflow Analysis 15-745 Optimizing Compilers Spring 2006 Peter Lee Ingredients of a dataflow analysis direction: forward or backward flow/transfer function combining ( meet ) operator dataflow
More informationComputational Models for Concurrent Streaming Applications
2 Computational Models for Concurrent Streaming Applications The challenges of today Twan Basten Based on joint work with Marc Geilen, Sander Stuijk, and many others Department of Electrical Engineering
More informationDataflow Languages. Languages for Embedded Systems. Prof. Stephen A. Edwards. March Columbia University
Dataflow Languages Languages for Embedded Systems Prof. Stephen A. Edwards Columbia University March 2009 Philosophy of Dataflow Languages Drastically different way of looking at computation Von Neumann
More informationUntyped Lambda Calculus
Concepts in Programming Languages Recitation 5: Untyped Lambda Calculus Oded Padon & Mooly Sagiv (original slides by Kathleen Fisher, John Mitchell, Shachar Itzhaky, S. Tanimoto ) Reference: Types and
More informationComputer Architecture: Dataflow/Systolic Arrays
Data Flow Computer Architecture: Dataflow/Systolic Arrays he models we have examined all assumed Instructions are fetched and retired in sequential, control flow order his is part of the Von-Neumann model
More informationProgramming Languages Third Edition
Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand
More informationAppendix Set Notation and Concepts
Appendix Set Notation and Concepts In mathematics you don t understand things. You just get used to them. John von Neumann (1903 1957) This appendix is primarily a brief run-through of basic concepts from
More informationAsynchronous Elastic Dataflows by Leveraging Clocked EDA
Optimised Synthesis of Asynchronous Elastic Dataflows by Leveraging Clocked EDA Mahdi Jelodari Mamaghani, Jim Garside, Will Toms, & Doug Edwards Verona, Italy 29 th August 2014 Motivation: Automatic GALSification
More informationCPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation
CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation Stéphane Zuckerman Computer Architecture & Parallel Systems Laboratory Electrical & Computer Engineering Dept. University
More informationPROGRAM ANALYSIS & SYNTHESIS
Lecture 02 Structural Operational Semantics (SOS) PROGRAM ANALYSIS & SYNTHESIS EranYahav 1 Previously static analysis over-approximation of program behavior abstract interpretation abstraction, transformers,
More informationLabVIEW: Visual Programming Using a Dataflow Model Extended With Graphical Control Structures. Outline
LabVIEW: Visual Programming Using a Dataflow Model Extended With Graphical Control Structures. Brian K. Vogel Andrew Mihal {vogel, mihal}@eecs.berkeley.edu Outline Background on LabVIEW The "G" language
More informationOn Biased Reservoir Sampling in the Presence of Stream Evolution
Charu C. Aggarwal T J Watson Research Center IBM Corporation Hawthorne, NY USA On Biased Reservoir Sampling in the Presence of Stream Evolution VLDB Conference, Seoul, South Korea, 2006 Synopsis Construction
More informationLambda Calculus.
Lambda Calculus Oded Padon & Mooly Sagiv (original slides by Kathleen Fisher, John Mitchell, Shachar Itzhaky, S. Tanimoto, Stephen A. Edwards) Benjamin Pierce Types and Programming Languages http://www.cs.cornell.edu/courses/cs3110/2008fa/recitations/rec26.html
More informationECE 5775 High-Level Digital Design Automation Fall More CFG Static Single Assignment
ECE 5775 High-Level Digital Design Automation Fall 2018 More CFG Static Single Assignment Announcements HW 1 due next Monday (9/17) Lab 2 will be released tonight (due 9/24) Instructor OH cancelled this
More informationEE249 Discussion Petri Nets: Properties, Analysis and Applications - T. Murata. Chang-Ching Wu 10/9/2007
EE249 Discussion Petri Nets: Properties, Analysis and Applications - T. Murata Chang-Ching Wu 10/9/2007 What are Petri Nets A graphical & modeling tool. Describe systems that are concurrent, asynchronous,
More informationModelling and simulation of guaranteed throughput channels of a hard real-time multiprocessor system
Modelling and simulation of guaranteed throughput channels of a hard real-time multiprocessor system A.J.M. Moonen Information and Communication Systems Department of Electrical Engineering Eindhoven University
More informationThursday, December 23, The attack model: Static Program Analysis
The attack model: Static Program Analysis How making SPA? DFA - Data Flow Analysis CFA - Control Flow Analysis Proving invariance: theorem proving Checking models: model checking Giaco & Ranzato DFA:
More informationRecursive definition of sets and structural induction
CS2209A 2017 Applied Logic for Computer Science Lecture 21, 22 Recursive definition of sets and structural induction Instructor: Marc Moreno Maza 1 Tower of Hanoi game Rules of the game: Start with all
More informationDataflow Architectures. Karin Strauss
Dataflow Architectures Karin Strauss Introduction Dataflow machines: programmable computers with hardware optimized for fine grain data-driven parallel computation fine grain: at the instruction granularity
More information9/3/12. Outline. Part 5. Computational Complexity (1) Software cost factors. Software cost factors (cont d) Algorithm and Computational Complexity
Outline Part 5. Computational Compleity (1) Measuring efficiencies of algorithms Growth of functions Asymptotic bounds for the growth functions CS 200 Algorithms and Data Structures 1 2 Algorithm and Computational
More informationSEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION
CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Alessandro Artale UniBZ - http://www.inf.unibz.it/ artale/ SECTION 5.5 Application: Correctness of Algorithms Copyright Cengage Learning. All
More informationTopic I (d): Static Single Assignment Form (SSA)
Topic I (d): Static Single Assignment Form (SSA) 621-10F/Topic-1d-SSA 1 Reading List Slides: Topic Ix Other readings as assigned in class 621-10F/Topic-1d-SSA 2 ABET Outcome Ability to apply knowledge
More informationThe Limit Concept. Introduction to Limits. Definition of Limit. Example 1. Example 2. Example 3 4/7/2015
4/7/015 The Limit Concept Introduction to Limits Precalculus 1.1 The notion of a it is a fundamental concept of calculus. We will learn how to evaluate its and how they are used in the two basic problems
More informationCPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation
CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation Dynamic Dataflow Stéphane Zuckerman Computer Architecture & Parallel Systems Laboratory Electrical & Computer Engineering
More informationArchitecture and Programming Model for High Performance Interactive Computation
Architecture and Programming Model for High Performance Interactive Computation Based on Title of TM127, CAPSL TM-127 By Jack B. Dennis, Arvind, Guang R. Gao, Xiaoming Li and Lian-Ping Wang April 3rd,
More informationBest-First Search Minimizing Space or Time. IDA* Save space, take more time
Best-First Search Minimizing Space or Time IDA* Save space, take more time IDA*-1 A* space complexity» What does the space complexity of A* depend upon? IDA*-2 A* space complexity 2» What does the space
More informationFormal Verification of Automatic Circuit Transformations for Fault-Tolerance
09/30/15, Austin, TX, USA @ FMCAD'15 Formal Verification of Automatic Circuit Transformations for Fault-Tolerance Dmitry Burlyaev Pascal Fradet 1/28 Outline For a given (fault-tolerance) transformation
More informationIntroduction to Denotational Semantics. Class Likes/Dislikes Survey. Dueling Semantics. Denotational Semantics Learning Goals. You re On Jeopardy!
Introduction to Denotational Semantics Class Likes/Dislikes Survey would change [the bijection question] to be one that still tested students' recollection of set theory but that didn't take as much time
More informationUntyped Lambda Calculus
Advanced Topics in Programming Languages Untyped Lambda Calculus Oded Padon & Mooly Sagiv (original slides by Kathleen Fisher, John Mitchell, Shachar Itzhaky, S. Tanimoto ) Reference: Types and Programming
More informationEmbedded Systems 8. Identifying, modeling and documenting how data moves around an information system. Dataflow modeling examines
Embedded Systems 8 - - Dataflow modeling Identifying, modeling and documenting how data moves around an information system. Dataflow modeling examines processes (activities that transform data from one
More informationLambda Calculus. Concepts in Programming Languages Recitation 6:
Concepts in Programming Languages Recitation 6: Lambda Calculus Oded Padon & Mooly Sagiv (original slides by Kathleen Fisher, John Mitchell, Shachar Itzhaky, S. Tanimoto ) Reference: Types and Programming
More information4.2 Control Flow + - * * x Fig. 4.2 DAG of the Computation in Figure 4.1
86 CHAPTER 4 PARALLEL COMPUTATION MODELS a b + - * * * x Fig. 4.2 DAG of the Computation in Figure 4.1 From the DAG, we can see that concurrency (the potential for parallelism) exists. We can perform the
More informationPipelining combinational circuits
Constructive Computer Architecture: Pipelining combinational circuits Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology September 18, 2013 http://csg.csail.mit.edu/6.s195
More informationCS 61A Interpreters, Tail Calls, Macros, Streams, Iterators. Spring 2019 Guerrilla Section 5: April 20, Interpreters.
CS 61A Spring 2019 Guerrilla Section 5: April 20, 2019 1 Interpreters 1.1 Determine the number of calls to scheme eval and the number of calls to scheme apply for the following expressions. > (+ 1 2) 3
More informationEmbedded Systems 7. Petri net plan coordination for robocup teams G. Kontes and M.G. Lagoudakis BF - ES BF - ES - 2 -
Embedded Systems 7-1 - Petri net plan coordination for robocup teams G. Kontes and M.G. Lagoudakis - 2-1 Passing Maneuver Teamwork Design Based on Petri Net Plan P. F. Palamara, V. A. Ziparo, L. Iocchi,
More informationHaskell to Hardware and Other Dreams
Haskell to Hardware and Other Dreams Stephen A. Edwards Columbia University June 12, 2018 Popular Science, November 1969 Where Is My Jetpack? Popular Science, November 1969 Where The Heck Is My 10 GHz
More informationPortland State University ECE 588/688. Dataflow Architectures
Portland State University ECE 588/688 Dataflow Architectures Copyright by Alaa Alameldeen and Haitham Akkary 2018 Hazards in von Neumann Architectures Pipeline hazards limit performance Structural hazards
More informationCompilers. Optimization. Yannis Smaragdakis, U. Athens
Compilers Optimization Yannis Smaragdakis, U. Athens (original slides by Sam Guyer@Tufts) What we already saw Lowering From language-level l l constructs t to machine-level l constructs t At this point
More informationParallel Breadth First Search
CSE341T/CSE549T 11/03/2014 Lecture 18 Parallel Breadth First Search Today, we will look at a basic graph algorithm, breadth first search (BFS). BFS can be applied to solve a variety of problems including:
More informationAn introduction to Scheme
An introduction to Scheme Introduction A powerful programming language is more than just a means for instructing a computer to perform tasks. The language also serves as a framework within which we organize
More informationFast Sorting and Selection. A Lower Bound for Worst Case
Lists and Iterators 0//06 Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 0 Fast Sorting and Selection USGS NEIC. Public domain government
More informationHistory Importance Comparison to Tomasulo Demo Dataflow Overview: Static Dynamic Hybrids Problems: CAM I-Structures Potential Applications Conclusion
By Matthew Johnson History Importance Comparison to Tomasulo Demo Dataflow Overview: Static Dynamic Hybrids Problems: CAM I-Structures Potential Applications Conclusion 1964-1 st Scoreboard Computer: CDC
More informationConstructive Computer Architecture. Combinational ALU. Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology
Constructive Computer Architecture Combinational ALU Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology September 11, 2017 ht://csg.csail.mit.edu/6.175 L03-1 Outline
More informationA constructive denotational semantics for Kahn networks in Coq
A constructive denotational semantics for Kahn networks in oq hristine Paulin-Mohring INRIA Futurs, ProVal, Parc Orsay Université, F-91893 LRI, Univ Paris-Sud, NRS, Orsay, F-91405 July 18, 2007 Abstract
More informationCSE 3101 Design and Analysis of Algorithms Solutions for Practice Test for Unit 2 Recursion
SE 30 esign and Analysis of Algorithms Solutions for Practice Test for Unit Recursion Jeff Edmonds. We discuss two different purposes and definitions of size. The running time of an algorithm is defined
More informationIncremental Algorithms for Facility Location and k-median
Incremental Algorithms for Facility Location and k-median Dimitris Fotakis Department of Mathematical, Physical and Computational Sciences, Aristotle University of Thessaloniki, 54006 Thessaloniki, Greece.
More informationCompiler Passes. Optimization. The Role of the Optimizer. Optimizations. The Optimizer (or Middle End) Traditional Three-pass Compiler
Compiler Passes Analysis of input program (front-end) character stream Lexical Analysis Synthesis of output program (back-end) Intermediate Code Generation Optimization Before and after generating machine
More information1 (15 points) LexicoSort
CS161 Homework 2 Due: 22 April 2016, 12 noon Submit on Gradescope Handed out: 15 April 2016 Instructions: Please answer the following questions to the best of your ability. If you are asked to show your
More informationFinite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016
Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016 Lecture 15 Ana Bove May 23rd 2016 More on Turing machines; Summary of the course. Overview of today s lecture: Recap: PDA, TM Push-down
More informationSegmentation. Namrata Vaswani,
Segmentation Namrata Vaswani, namrata@iastate.edu Read Sections 5.1,5.2,5.3 of [1] Edge detection and filtering : Canny edge detection algorithm to get a contour of the object boundary Hough transform:
More informationLecture Notes on Loop Optimizations
Lecture Notes on Loop Optimizations 15-411: Compiler Design Frank Pfenning Lecture 17 October 22, 2013 1 Introduction Optimizing loops is particularly important in compilation, since loops (and in particular
More informationUnit 2: High-Level Synthesis
Course contents Unit 2: High-Level Synthesis Hardware modeling Data flow Scheduling/allocation/assignment Reading Chapter 11 Unit 2 1 High-Level Synthesis (HLS) Hardware-description language (HDL) synthesis
More informationBy: Chaitanya Settaluri Devendra Kalia
By: Chaitanya Settaluri Devendra Kalia What is an embedded system? An embedded system Uses a controller to perform some function Is not perceived as a computer Software is used for features and flexibility
More informationDataflow Processing. A.R. Hurson Computer Science Department Missouri Science & Technology
A.R. Hurson Computer Science Department Missouri Science & Technology hurson@mst.edu 1 Control Flow Computation Operands are accessed by their addresses. Shared memory cells are the means by which data
More informationCompiler Construction 2016/2017 Loop Optimizations
Compiler Construction 2016/2017 Loop Optimizations Peter Thiemann January 16, 2017 Outline 1 Loops 2 Dominators 3 Loop-Invariant Computations 4 Induction Variables 5 Array-Bounds Checks 6 Loop Unrolling
More informationDifferential Cryptanalysis
Differential Cryptanalysis See: Biham and Shamir, Differential Cryptanalysis of the Data Encryption Standard, Springer Verlag, 1993. c Eli Biham - March, 28 th, 2012 1 Differential Cryptanalysis The Data
More informationLambda Calculus and Type Inference
Lambda Calculus and Type Inference Björn Lisper Dept. of Computer Science and Engineering Mälardalen University bjorn.lisper@mdh.se http://www.idt.mdh.se/ blr/ October 13, 2004 Lambda Calculus and Type
More informationHW 1 CMSC 452. Morally DUE Feb 7 NOTE- THIS HW IS THREE PAGES LONG!!! SOLUTIONS THROUGOUT THIS HW YOU CAN ASSUME:
HW 1 CMSC 452. Morally DUE Feb 7 NOTE- THIS HW IS THREE PAGES LONG!!! SOLUTIONS THROUGOUT THIS HW YOU CAN ASSUME: The union of a finite number of countable sets is countable. The union of a countable number
More informationSorting Networks. March 2, How much time does it take to compute the value of this circuit?
Sorting Networks March 2, 2005 1 Model of Computation Can we do better by using different computes? Example: Macaroni sort. Can we do better by using the same computers? How much time does it take to compute
More informationArchives. j- -rjack B. Dennis Thesis Supervisor OCT 41983
A Formal Model of Non-determinate Dataflow Computation by Jarvis Dean Brock A. B., Duke University 1974 S. M., E. E., Massachusetts nstitute of Technology 1979 Submitted to the Department of Electrical
More informationWhite-Box Testing Techniques III
White-Box Testing Techniques III Software Testing and Verification Lecture 9 Prepared by Stephen M. Thebaut, Ph.D. University of Florida White-Box Testing Topics Logic coverage (lecture I) Dataflow coverage
More informationLanguages and Compiler Design II IR Code Optimization
Languages and Compiler Design II IR Code Optimization Material provided by Prof. Jingke Li Stolen with pride and modified by Herb Mayer PSU Spring 2010 rev.: 4/16/2010 PSU CS322 HM 1 Agenda IR Optimization
More informationEmbedded Systems 7. Models of computation for embedded systems
Embedded Systems 7 - - Models of computation for embedded systems Communication/ local computations Communicating finite state machines Data flow model Computational graphs Von Neumann model Discrete event
More informationDeferred Data-Flow Analysis : Algorithms, Proofs and Applications
Deferred Data-Flow Analysis : Algorithms, Proofs and Applications Shamik D. Sharma y Anurag Acharya z Joel Saltz? y Department of Computer Science University of Maryland, College Park z Department of Computer
More informationECE608 - Chapter 15 answers
¼ À ÈÌ Ê ½ ÈÊÇ Ä ÅË ½µ ½ º¾¹¾ ¾µ ½ º¾¹ µ ½ º¾¹ µ ½ º ¹½ µ ½ º ¹¾ µ ½ º ¹ µ ½ º ¹¾ µ ½ º ¹ µ ½ º ¹ ½¼µ ½ º ¹ ½½µ ½ ¹ ½ ECE608 - Chapter 15 answers (1) CLR 15.2-2 MATRIX CHAIN MULTIPLY(A, s, i, j) 1. if
More informationMore Untyped Lambda Calculus & Simply Typed Lambda Calculus
Concepts in Programming Languages Recitation 6: More Untyped Lambda Calculus & Simply Typed Lambda Calculus Oded Padon & Mooly Sagiv (original slides by Kathleen Fisher, John Mitchell, Shachar Itzhaky,
More informationJVM ByteCode Interpreter
JVM ByteCode Interpreter written in Haskell (In under 1000 Lines of Code) By Louis Jenkins Presentation Schedule ( 15 Minutes) Discuss and Run the Virtual Machine first
More informationSymbolic Buffer Sizing for Throughput-Optimal Scheduling of Dataflow Graphs
Symbolic Buffer Sizing for Throughput-Optimal Scheduling of Dataflow Graphs Anan Bouakaz Pascal Fradet Alain Girault Real-Time and Embedded Technology and Applications Symposium, Vienna April 14th, 2016
More information' $ Sparse Compilation & % 1
Sparse Compilation 1 Motivation for Sparse Codes Consider ux, heat, or stresses interactions are between neighbors. Linear equations are sparse. Therefore, matrices are sparse. 2 Three Sparse Matrix Representations
More informationPower Set of a set and Relations
Power Set of a set and Relations 1 Power Set (1) Definition: The power set of a set S, denoted P(S), is the set of all subsets of S. Examples Let A={a,b,c}, P(A)={,{a},{b},{c},{a,b},{b,c},{a,c},{a,b,c}}
More informationBest-First Search! Minimizing Space or Time!! IDA*! Save space, take more time!!
Best-First Search! Minimizing Space or Time!! IDA*! Save space, take more time!! IDA*-1 A* space complexity!» What does the space complexity of A* depend upon?! IDA*-2 A* space complexity 2!» What does
More informationPrograms with infinite loops: from primitive recursive predicates to the arithmetic hierarchy
Programs with infinite loops: from primitive recursive predicates to the arithmetic hierarchy ((quite) preliminary) Armando B. Matos September 11, 2014 Abstract Infinite time Turing machines have been
More informationMain application of SDF: DSP hardware modeling
EE 144/244: Fundamental lgorithms for System Modeling, nalysis, and Optimization Fall 2014 Dataflow Timed SDF, Throughput nalysis Stavros Tripakis University of California, erkeley Stavros Tripakis (UC
More informationSEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION
CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Copyright Cengage Learning. All rights reserved. SECTION 5.5 Application: Correctness of Algorithms Copyright Cengage Learning. All rights reserved.
More informationFormal Languages and Compilers Lecture IV: Regular Languages and Finite. Finite Automata
Formal Languages and Compilers Lecture IV: Regular Languages and Finite Automata Free University of Bozen-Bolzano Faculty of Computer Science POS Building, Room: 2.03 artale@inf.unibz.it http://www.inf.unibz.it/
More informationMidterm 1. CS Intermediate Data Structures and Algorithms. October 23, 2013
Midterm 1 CS 141 - Intermediate Data Structures and Algorithms October 23, 2013 By taking this exam, I affirm that all work is entirely my own. I understand what constitutes cheating, and that if I cheat
More information