CIS 610: Vector Models for Data-Parallel Computing

1 / 18

CIS 610: Vector Models for Data-Parallel Computing - PowerPoint PPT Presentation

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.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about 'CIS 610: Vector Models for Data-Parallel Computing' - hilda-glover

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

CIS 610: Vector Models for Data-Parallel Computing

Hank Childs, University of Oregon

Jan. 30th, 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

Material & figures in this lecture almost uniformly come from this dissertation

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
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
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
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.
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

Segmented Instructions

It is a little fuzzy to me how to do this in practice…

Quicksort pseudo-code

OK, let’s try to do quicksort.