1 / 11

ZPL

Parallel Processing. 0-361-1-3621. Sem. A 2014. ZPL. Z-level programming language. Amit Garay Asaf Cohen. Introduction Performance Implementation Conclusions. Introduction. Born in 1995 at the University of Washington An Array-Programming language

shea
Télécharger la présentation

ZPL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Parallel Processing 0-361-1-3621 Sem. A2014 ZPL Z-level programming language Amit Garay Asaf Cohen

  2. Introduction Performance Implementation Conclusions Introduction • Born in 1995 at the University of Washington • An Array-Programming language • Simple and Easy to use

  3. IntroductionPerformanceImplementation Conclusions Performance • Evaluated with a set of programs designed • for parallel supercomputers • FT benchmark: • solve a 3D partial differential equation • CG benchmark: • find the largest eigenvalue of a symmetric • positive definite sparse matrix

  4. IntroductionPerformanceImplementation Conclusions Performance ZPL vs. F+MPI Lines of code

  5. IntroductionPerformanceImplementation Conclusions

  6. Introduction Performance ImplementationConclusions Implementation • ZPL was designed for high level programming. • ZPL implementation requires approximately one third of lines to write equivalent code in Fortran and MPI. • Open source – no hidden code.

  7. Introduction Performance ImplementationConclusions Implementation • Some basic coding:

  8. Introduction Performance ImplementationConclusions Implementation /**** * Jacobi Iterations * ****/ program jacobi; ---------- Declarations ---------- configvar n : integer = 5; -- problem size epsilon : float = 0.0001; -- epsilon value end condition region R = [1..n, 1..n ]; -- problem region BigR = [0..n+1, 0..n+1]; -- with borders direction north = [-1, 0]; -- cardinal directions east = [ 0, 1]; south = [ 1, 0]; west = [ 0, -1]; ---------- Entry Procedure ---------- procedure jacobi(); var A, Temp : [BigR] float; delta : float; [R] begin ---------- Initialization ---------- A := 0.0; [north of R] A := 0.0; [east of R] A := 0.0; [west of R] A := 0.0; [south of R] A := 1.0; ---------- Main Computation ---------- repeat Temp := (A@north + A@east + A@south + A@west) / 4.0; delta := max<< abs(A-Temp); A := Temp; until delta < epsilon; ---------- Print Results ---------- writeln(A); end; • Example code: • Jacobi iterations

  9. Introduction Performance Implementation Conclusions Conclusions • ZPL is a user-friendly parallel coding language. • ZPL implementation uses Less coding lines than C or Fortran and MPI. • ZPL is faster than Fortran and MPI. • A respectful knowledge base on-line. • The year is 2004.

  10. Introduction Performance Implementation Conclusions References • University of Washington – Computer science Dep.http://www.cs.washington.edu/research/zpl/home/index.html • S. Deitz,B.L Chamberlain,S.E Choi,L. Snyder, “The Design and Implementation of aParallel • Array Operator for the Arbitrary Remapping of Data”PPoPP '03 Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming Pages 155 - 166 • University of Illinois – Computer science Dep.http://www.cs.illinois.edu/~snir/PPP/models/zpl.pdf

  11. Thank you for listening, Any Questions ?

More Related