cis 610: vector models for data-parallel computing
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
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?
2120