futhark-0.25.27: An optimising compiler for a functional, array-oriented language.

Safe Haskell | Safe-Inferred
Language | GHC2021

Futhark.Actions

Description

All (almost) compiler pipelines end with an `Action`, which does something with the result of the pipeline.

Synopsis

- printAction :: ASTRep rep => Action rep
- printAliasesAction :: AliasableRep rep => Action rep
- printLastUseGPU :: Action GPUMem
- printFusionGraph :: Action SOACS
- printInterferenceGPU :: Action GPUMem
- printMemAliasGPU :: Action GPUMem
- printMemoryAccessAnalysis :: Analyse rep => Action rep
- callGraphAction :: Action SOACS
- impCodeGenAction :: Action SeqMem
- kernelImpCodeGenAction :: Action GPUMem
- multicoreImpCodeGenAction :: Action MCMem
- metricsAction :: OpMetrics (Op rep) => Action rep
- compileCAction :: FutharkConfig -> CompilerMode -> FilePath -> Action SeqMem
- compileCtoWASMAction :: FutharkConfig -> CompilerMode -> FilePath -> Action SeqMem
- compileOpenCLAction :: FutharkConfig -> CompilerMode -> FilePath -> Action GPUMem
- compileCUDAAction :: FutharkConfig -> CompilerMode -> FilePath -> Action GPUMem
- compileHIPAction :: FutharkConfig -> CompilerMode -> FilePath -> Action GPUMem
- compileMulticoreAction :: FutharkConfig -> CompilerMode -> FilePath -> Action MCMem
- compileMulticoreToISPCAction :: FutharkConfig -> CompilerMode -> FilePath -> Action MCMem
- compileMulticoreToWASMAction :: FutharkConfig -> CompilerMode -> FilePath -> Action MCMem
- compilePythonAction :: FutharkConfig -> CompilerMode -> FilePath -> Action SeqMem
- compilePyOpenCLAction :: FutharkConfig -> CompilerMode -> FilePath -> Action GPUMem

# Documentation

printAction :: ASTRep rep => Action rep Source #

Print the result to stdout.

printAliasesAction :: AliasableRep rep => Action rep Source #

Print the result to stdout, alias annotations.

printLastUseGPU :: Action GPUMem Source #

Print last use information to stdout.

printFusionGraph :: Action SOACS Source #

Print fusion graph to stdout.

printInterferenceGPU :: Action GPUMem Source #

Print interference information to stdout.

printMemAliasGPU :: Action GPUMem Source #

Print memory alias information to stdout

printMemoryAccessAnalysis :: Analyse rep => Action rep Source #

Print result of array access analysis on the IR

callGraphAction :: Action SOACS Source #

Print call graph to stdout.

impCodeGenAction :: Action SeqMem Source #

Convert the program to sequential ImpCode and print it to stdout.

kernelImpCodeGenAction :: Action GPUMem Source #

Convert the program to GPU ImpCode and print it to stdout.

multicoreImpCodeGenAction :: Action MCMem Source #

Convert the program to CPU multicore ImpCode and print it to stdout.

metricsAction :: OpMetrics (Op rep) => Action rep Source #

Print metrics about AST node counts to stdout.

compileCAction :: FutharkConfig -> CompilerMode -> FilePath -> Action SeqMem Source #

The `futhark c` action.

compileCtoWASMAction :: FutharkConfig -> CompilerMode -> FilePath -> Action SeqMem Source #

The `futhark wasm` action.

compileOpenCLAction :: FutharkConfig -> CompilerMode -> FilePath -> Action GPUMem Source #

The `futhark opencl` action.

compileCUDAAction :: FutharkConfig -> CompilerMode -> FilePath -> Action GPUMem Source #

The `futhark cuda` action.

compileHIPAction :: FutharkConfig -> CompilerMode -> FilePath -> Action GPUMem Source #

The `futhark hip` action.

compileMulticoreAction :: FutharkConfig -> CompilerMode -> FilePath -> Action MCMem Source #

The `futhark multicore` action.

compileMulticoreToISPCAction :: FutharkConfig -> CompilerMode -> FilePath -> Action MCMem Source #

The `futhark ispc` action.

compileMulticoreToWASMAction :: FutharkConfig -> CompilerMode -> FilePath -> Action MCMem Source #

The `futhark wasm-multicore` action.

compilePythonAction :: FutharkConfig -> CompilerMode -> FilePath -> Action SeqMem Source #

The `futhark python` action.

compilePyOpenCLAction :: FutharkConfig -> CompilerMode -> FilePath -> Action GPUMem Source #

The `futhark pyopencl` action.