Reader small image

You're reading from  Hands-On GPU Programming with Python and CUDA

Product typeBook
Published inNov 2018
Reading LevelBeginner
PublisherPackt
ISBN-139781788993913
Edition1st Edition
Languages
Tools
Right arrow
Author (1)
Dr. Brian Tuomanen
Dr. Brian Tuomanen
author image
Dr. Brian Tuomanen

Dr. Brian Tuomanen has been working with CUDA and General-Purpose GPU Programming since 2014. He received his Bachelor of Science in Electrical Engineering from the University of Washington in Seattle, and briefly worked as a Software Engineer before switching to Mathematics for Graduate School. He completed his Ph.D. in Mathematics at the University of Missouri in Columbia, where he first encountered GPU programming as a means for studying scientific problems. Dr. Tuomanen has spoken at the US Army Research Lab about General Purpose GPU programming, and has recently lead GPU integration and development at a Maryland based start-up company. He currently lives and works in the Seattle area.
Read more about Dr. Brian Tuomanen

Right arrow

The parallel prefix algorithm

We'll now be using our new knowledge of CUDA kernels to implement the parallel prefix algorithm, also known as the scan design pattern. We have already seen simple examples of this in the form of PyCUDA's InclusiveScanKernel and ReductionKernel functions in the previous chapter. We'll now look into this idea in a little more detail.

The central motivation of this design pattern is that we have a binary operator , that is to say a function that acts on two input values and gives one output value (such as+, , (maximum), (minimum)), and collection of elements, , and from these we wish to compute efficiently. Furthermore, we make the assumption that our binary operator is associativethis means that, for any three elements, x, y, and z, we always have: .

We wish to retain the partial results, that is the n - 1 sub-computations...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Hands-On GPU Programming with Python and CUDA
Published in: Nov 2018Publisher: PacktISBN-13: 9781788993913

Author (1)

author image
Dr. Brian Tuomanen

Dr. Brian Tuomanen has been working with CUDA and General-Purpose GPU Programming since 2014. He received his Bachelor of Science in Electrical Engineering from the University of Washington in Seattle, and briefly worked as a Software Engineer before switching to Mathematics for Graduate School. He completed his Ph.D. in Mathematics at the University of Missouri in Columbia, where he first encountered GPU programming as a means for studying scientific problems. Dr. Tuomanen has spoken at the US Army Research Lab about General Purpose GPU programming, and has recently lead GPU integration and development at a Maryland based start-up company. He currently lives and works in the Seattle area.
Read more about Dr. Brian Tuomanen