Results 1 
4 of
4
Powerlist: a structure for parallel recursion
 ACM Transactions on Programming Languages and Systems
, 1994
"... Many data parallel algorithms – Fast Fourier Transform, Batcher’s sorting schemes and prefixsum – exhibit recursive structure. We propose a data structure, powerlist, that permits succinct descriptions of such algorithms, highlighting the roles of both parallelism and recursion. Simple algebraic pro ..."
Abstract

Cited by 59 (2 self)
 Add to MetaCart
Many data parallel algorithms – Fast Fourier Transform, Batcher’s sorting schemes and prefixsum – exhibit recursive structure. We propose a data structure, powerlist, that permits succinct descriptions of such algorithms, highlighting the roles of both parallelism and recursion. Simple algebraic properties of this data structure can be exploited to derive properties of these algorithms and establish equivalence of different algorithms that solve the same problem.
Practical Parallel DivideandConquer Algorithms
, 1997
"... Nested data parallelism has been shown to be an important feature of parallel languages, allowing the concise expression of algorithms that operate on irregular data structures such as graphs and sparse matrices. However, previous nested dataparallel languages have relied on a vector PRAM impleme ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
Nested data parallelism has been shown to be an important feature of parallel languages, allowing the concise expression of algorithms that operate on irregular data structures such as graphs and sparse matrices. However, previous nested dataparallel languages have relied on a vector PRAM implementation layer that cannot be efficiently mapped to MPPs with high interprocessor latency. This thesis shows that by restricting the problem set to that of dataparallel divideandconquer algorithms I can maintain the expressibility of full nested dataparallel languages while achieving good efficiency on current distributedmemory machines. Specifically, I define
Preface
, 2006
"... “He who loves practice without theory is like the sailor who boards ship without a rudder and compass and never knows where he may be cast.” Leonardo da Vinci (1452–1519) Computer programming has been, largely, an intuitive activity. Programmers are taught to understand programming in operational te ..."
Abstract
 Add to MetaCart
“He who loves practice without theory is like the sailor who boards ship without a rudder and compass and never knows where he may be cast.” Leonardo da Vinci (1452–1519) Computer programming has been, largely, an intuitive activity. Programmers are taught to understand programming in operational terms, i.e., how a computer executes a program. As the field has matured, we see many effective theories for designing and reasoning about computer programs in specific domains. Such theories reduce the mental effort, and the amount of experimentation needed to design a product. They are as indispensable for their domains as calculus is for solving scientific and engineering problems. I am attracted to effective theories primarily because they save labor (for the human and the computer), and secondarily because they give us better assurance about the properties of programs. The original inspiration to design a computer science course which illustrates the applications of effective theories in practice came from Elaine Rich and J
Theory in Programming Practice
, 2006
"... “He who loves practice without theory is like the sailor who boards ship without a rudder and compass and never knows where he may be cast.” Leonardo da Vinci (1452–1519) Computer programming has been, largely, an intuitive activity. Programmers are taught to understand programming in operational te ..."
Abstract
 Add to MetaCart
“He who loves practice without theory is like the sailor who boards ship without a rudder and compass and never knows where he may be cast.” Leonardo da Vinci (1452–1519) Computer programming has been, largely, an intuitive activity. Programmers are taught to understand programming in operational terms, i.e., how a computer executes a program. As the field has matured, we see many effective theories for designing and reasoning about computer programs in specific domains. Such theories reduce the mental effort, and the amount of experimentation needed to design a product. They are as indispensable for their domains as calculus is for solving scientific and engineering problems. I am attracted to effective theories primarily because they save labor (for the human and the computer), and secondarily because they give us better assurance about the properties of programs. The original inspiration to design a computer science course which illustrates the applications of effective theories in practice came from Elaine Rich and J