Embed presentation













































This document discusses nested data parallelism in Haskell. It begins with an overview of task parallelism versus data parallelism. It then discusses flat data parallelism, where sequential operations are applied to bulk data, and nested data parallelism, where parallel operations can be recursively applied to bulk data. This opens up a wider range of applications compared to flat data parallelism. The document outlines some of the challenges of implementing nested data parallelism and discusses how it has been done through techniques like flattening the nested structure and aggressive fusion of operations. It describes work done in Haskell to implement a compiler for nested data parallelism using these techniques.











































