Flattening transformation

The flattening transformation is an algorithm that transforms nested data parallelism into flat data parallelism. It was pioneered by Guy Blelloch as part of the NESL programming language.[1] The flattening transformation is also sometimes called vectorization, but is completely unrelated to automatic vectorization. The original flattening algorithm was concerned solely with first-order multidimensional arrays containing primitive types, but was extended to handle higher-order and recursive data types in the work on Data Parallel Haskell.[2]

  1. ^ Blelloch, Guy (1995). "NESL: A Nested Data-Parallel Language". {{cite journal}}: Cite journal requires |journal= (help)
  2. ^ Data parallel Haskell: a status report