Generic Functional Parallel Algorithms: Scan and FFT episode artwork

EPISODE · Dec 12, 2017 · 19 MIN

Generic Functional Parallel Algorithms: Scan and FFT

from International Conference on Functional Programming 2017

Conal Elliott, Target, USA United States, gives the third presentation in the second panel, Functional Programming Techniques, in the ICFP 2017 conference. Parallel programming, whether imperative or functional, has long focused on arrays as the central data type. Meanwhile, typed functional programming has explored a variety of data types, including lists and various forms of trees. Generic functional programming decomposes these data types into a small set of fundamental building blocks: sum, product, composition, and their associated identities. Definitions over these few fundamental type constructions then automatically assemble into algorithms for an infinite set of data types--some familiar and some new. This paper presents generic functional formulations for two important and well-known classes of parallel algorithms: parallel scan (generalized prefix sum) and Fast Fourier Transform (FFT). Notably, arrays play no role in these formulations. Consequent benefits include a simpler and more compositional style, much use of common algebraic patterns--such as Functor, Applicative, Foldable, and Traversable--and freedom from possibility of run-time indexing errors. The functional generic style also clearly reveals deep commonality among what otherwise appears to be quite different algorithms. Instantiating the generic formulations to "top-down" and "bottom-up" trees as well as "bushes", two well-known algorithms for each of parallel scan and FFT naturally emerge, as well as two possibly new algorithms.

Episode metadata supplied by the publisher feed · Published Dec 12, 2017

Embed this episode

NOW PLAYING

Generic Functional Parallel Algorithms: Scan and FFT

0:00 19:01

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

No similar episodes found.

No similar podcasts found.

Frequently Asked Questions

How long is this episode of International Conference on Functional Programming 2017?

This episode is 19 minutes long.

When was this International Conference on Functional Programming 2017 episode published?

This episode was published on December 12, 2017.

Can I download this International Conference on Functional Programming 2017 episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.
URL copied to clipboard!