1 / 18

CIS 610: Vector Models for Data-Parallel Computing

CIS 610: Vector Models for Data-Parallel Computing. Hank Childs, University of Oregon. Jan. 30 th , 2014. Class Organization. Who will lecture next week? Alternate ideas for organizing lectures?. Material for Today’s Lecture. A.K.A, “Data Parallel Bible” according to Chris Sewell.

Télécharger la présentation

CIS 610: Vector Models for Data-Parallel Computing

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. CIS 610: Vector Models for Data-Parallel Computing Hank Childs, University of Oregon Jan. 30th, 2014

  2. Class Organization • Who will lecture next week? • Alternate ideas for organizing lectures?

  3. Material for Today’s Lecture A.K.A, “Data Parallel Bible” according to Chris Sewell Material & figures in this lecture almost uniformly come from this dissertation

  4. History Lesson via Google Scholar

  5. Machine Models • Machine models you likely know about • Random access machine (RAM) model • Turing machine model • This thesis defines a new model: parallel vector model • Defined in terms of machine architecture

  6. Parallel Vector Models

  7. Machine specifics • V-RAM = S-RAM + vector memory & vector processor • Each instruction of the vector processor operates on • Fixed number of vectors from the vector memory • Possibly scalars from scalar memory • Example vector instruction: sum the elements of two vectors

  8. Premise • Claim: parallel vector models are the right abstraction to connect theory, languages, and architecture • Specifically: • Can be mapped onto a broad variety of architectures • Can serve as algorithmic models to analyze complexity • Can serve as instruction sets for virtual machine for higher-level programming languages

  9. Complexity • Two main notions of complexity • Step complexity • # of steps executed by a program • Element complexity • Sum over all steps of the lengths of all vectors manipulated in each step • Important: all data-parallel primitives considered have to finish in O(log N) time for N elements.

  10. Complexity Example • Step #1: • Sum two vectors of size 10 • Step #2: • Square vector of length 100 What is Step Complexity? What is Element Complexity? 2 120

  11. Some New Vector Instructions…

  12. Scan Instruction

  13. Segmented Instructions It is a little fuzzy to me how to do this in practice…

  14. Quicksort

  15. Quicksort pseudo-code OK, let’s try to do quicksort.

  16. Rest of Book

  17. Rest of Book

More Related