futhark-0.21.9: An optimising compiler for a functional, array-oriented language.
Safe HaskellNone
LanguageHaskell2010

Futhark.Passes

Description

Optimisation pipelines.

Synopsis

Documentation

standardPipeline :: Pipeline SOACS SOACS Source #

A pipeline used by all current compilers. Performs inlining, fusion, and various forms of cleanup. This pipeline will be followed by another one that deals with parallelism and memory.

sequentialPipeline :: Pipeline SOACS Seq Source #

The pipeline used by the sequential backends. Turns all parallelism into sequential loops. Includes standardPipeline.

kernelsPipeline :: Pipeline SOACS GPU Source #

The pipeline used by the CUDA and OpenCL backends, but before adding memory information. Includes standardPipeline.

sequentialCpuPipeline :: Pipeline SOACS SeqMem Source #

Run sequentialPipeline, then add memory information (and optimise it slightly).

gpuPipeline :: Pipeline SOACS GPUMem Source #

Run kernelsPipeline, then add memory information (and optimise it a lot).

mcPipeline :: Pipeline SOACS MC Source #

Run standardPipeline and then convert to multicore representation (and do a bunch of optimisation).

multicorePipeline :: Pipeline SOACS MCMem Source #

Run mcPipeline and then add memory information.