Chapter 8: ZPL and Other Global View Languages

Slides:



Advertisements
Similar presentations
Intermediate Code Generation
Advertisements

One Dimensional Arrays
Adapted from Scott, Chapter 6:: Control Flow Programming Language Pragmatics Michael L. Scott.
DISTRIBUTED AND HIGH-PERFORMANCE COMPUTING CHAPTER 7: SHARED MEMORY PARALLEL PROGRAMMING.
Java Programming, 3e Concepts and Techniques Chapter 5 Arrays, Loops, and Layout Managers Using External Classes.
Case, Arrays, and Structures. Summary Slide  Case Structure –Select Case - Numeric Value Example 1 –Select Case - String Value Example  Arrays –Declaring.
Introduction to Fortran Fortran Evolution Drawbacks of FORTRAN 77 Fortran 90 New features Advantages of Additions.
C# Programming: From Problem Analysis to Program Design1 Advanced Object-Oriented Programming Features C# Programming: From Problem Analysis to Program.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Principles of Parallel Programming First Edition by Calvin Lin Lawrence Snyder.
Guide To UNIX Using Linux Third Edition
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Principles of Parallel Programming First Edition by Calvin Lin Lawrence Snyder.
1 Chapter 9 Spaces with LINDA. 2 Linda Linda is an experimental programming concept unlike ADA or Occam which are fully developed production-quality languages.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Principles of Parallel Programming First Edition by Calvin Lin Lawrence Snyder.
1 Chapter 5: Names, Bindings and Scopes Lionel Williams Jr. and Victoria Yan CSci 210, Advanced Software Paradigms September 26, 2010.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Principles of Parallel Programming First Edition by Calvin Lin Lawrence Snyder.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Structural Program Development: If, If-Else Outline.
CSE 102 Introduction to Computer Engineering What is an Algorithm?
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Principles of Parallel Programming First Edition by Calvin Lin Lawrence Snyder.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Principles of Parallel Programming First Edition by Calvin Lin Lawrence Snyder.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 8 Arrays.
Arrays Chapter 7. MIS Object Oriented Systems Arrays UTD, SOM 2 Objectives Nature and purpose of an array Using arrays in Java programs Methods.
Programming Logic and Design Fifth Edition, Comprehensive Chapter 6 Arrays.
Data Structures: A Pseudocode Approach with C 1 Chapter 5 Objectives Upon completion you will be able to: Explain the design, use, and operation of a linear.
LECTURE 10 Semantic Analysis. REVIEW So far, we’ve covered the following: Compilation methods: compilation vs. interpretation. The overall compilation.
© Oxford University Press All rights reserved. Data Structures Using C, 2e Reema Thareja.
Arrays Chapter 7.
Introduction to Algorithms
Data Structures Using C, 2e
Queues.
Piecewise linear gap alignment.
Computer Programming BCT 1113
Object-oriented software testing
Fundamentals of Java: AP Computer Science Essentials, 4th Edition
Parallel Programming By J. H. Wang May 2, 2017.
Chapter 7 Part 1 Edited by JJ Shepherd
Organization of Programming Languages
Optimization Code Optimization ©SoftMoore Consulting.
Data Structures Using C++ 2E
Chapter 8 Arrays Objectives
User-Defined Functions
Arrays, For loop While loop Do while loop
User Defined Functions
Lec 3: Object-Oriented Data Modeling
Chapter 8 Arrays Objectives
CIS16 Application Development and Programming using Visual Basic.net
Parallel Programming in C with MPI and OpenMP
Numerical Algorithms Quiz questions
Parallel Computation Patterns (Reduction)
Chapter 6: Programming Languages
Introduction to Algorithms
Programming Control Structures with JavaScript Part 2
Programming Languages
Chapter 8 Advanced SQL.
Chapter 8 Arrays Objectives
Lecture 2 The Art of Concurrency
Programming Logic and Design Fifth Edition, Comprehensive
Vocabulary Algorithm - A precise sequence of instructions for processes that can be executed by a computer Low level programming language: A programming.
Data Parallel Pattern 6c.1
LOOPING STRUCTURE Chapter - 7 Padasalai
How do you do the following?
ENERGY 211 / CME 211 Lecture 11 October 15, 2008.
MPI (continue) An example for designing explicit message passing programs Emphasize on the difference between shared memory code and distributed memory.
Data Parallel Computations and Pattern
Data Parallel Computations and Pattern
Structural Program Development: If, If-Else
Presentation transcript:

Chapter 8: ZPL and Other Global View Languages Principles of Parallel Programming First Edition by Calvin Lin Lawrence Snyder

Global view parallel languages Programmers see the whole computation Do not focus on processes Language support for implicit parallelism

ZPL http://research.cs.washington.edu/zpl/home/ Focus on arrays Implicit parallelism Compiler generates processes/threads Inserts communication calls Handles synchronization [1..n] count: =+<<(array==3); ZPL for count 3s

Array language A := A + 1; adds 1 to all elements of A Performs in parallel [1..n] A := A + 1; only updates 1 .. N Named regions region R = [1..m, 1..n]

Code Spec 8.1 Primitive data types available in ZPL.

Code Spec 8.2 Syntax of control statements in ZPL.

Code Spec 8.3 ZPL’s primitive operators and operator-assignments.

Figure 8.1 ZPL program that implements Conway’s Game of Life.

Code Spec 8.4 Specifying the entry procedure for ZPL.

Figure 8.2 The SUMMA matrix multiplication algorithm in ZPL.

Code Spec 8.5 Requirements of ZPL’s partial reduce and flood operators.

Code Spec 8.6 Requirements of ZPL’s remap operator.

Figure 8.3 ZPL program for ranking coffee drinker data.

Figure 8. 4 Bounding region Figure 8.4 Bounding region. Regions used in the program are superimposed so that their indices align; the black square has the same index in all regions. Once aligned, the bounding region is the smallest region containing the indices of the superimposed regions.

Figure 8. 5 Block allocation of the bounding region Figure 8.5 Block allocation of the bounding region. The bounding region (a) is partitioned using a balanced allocation (b), which assigns a set of indices (c). The contributing regions’ indices are inherited from those indices (d).

Code Spec 8.7 ZPL performance model.

NESL Based on ML High level global view language Data parallel Allows programmers to asses the behavior of their programs

Basic data type Sequence [6, 14, 0, -5] essentially a list Basic operation Apply-to-each {a+1 : a in [6, 14, 0, -5]}; applies the increment to each element

Figure 8.6 A NESL matrix multiplication function.