futhark: An optimising compiler for a functional, array-oriented language.
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
Futhark is a small programming language designed to be compiled to efficient parallel code. It is a statically typed, data-parallel, and purely functional array language in the ML family, and comes with a heavily optimising ahead-of-time compiler that presently generates GPU code via CUDA and OpenCL, although the language itself is hardware-agnostic.
For more information, see the website at https://futhark-lang.org
For introductionary information about hacking on the Futhark compiler, see the hacking guide. Regarding the internal design of the compiler, the following modules make good starting points:
Futhark.IR.Syntax explains the basic design of the intermediate representation (IR).
Futhark.Construct explains how to write code that manipulates and creates AST fragments.
Properties
Modules
[Index] [Quick Jump]
- Futhark
- Futhark.Actions
- Analysis
- Futhark.Bench
- Futhark.Binder
- CLI
- Futhark.CLI.Autotune
- Futhark.CLI.Bench
- Futhark.CLI.C
- Futhark.CLI.CUDA
- Futhark.CLI.Check
- Futhark.CLI.Datacmp
- Futhark.CLI.Dataset
- Futhark.CLI.Dev
- Futhark.CLI.Doc
- Futhark.CLI.Literate
- Futhark.CLI.Misc
- Futhark.CLI.Multicore
- Futhark.CLI.OpenCL
- Futhark.CLI.Pkg
- Futhark.CLI.PyOpenCL
- Futhark.CLI.Python
- Futhark.CLI.Query
- Futhark.CLI.REPL
- Futhark.CLI.Run
- Futhark.CLI.Test
- CodeGen
- Backends
- Futhark.CodeGen.Backends.CCUDA
- Futhark.CodeGen.Backends.COpenCL
- Futhark.CodeGen.Backends.GenericC
- Futhark.CodeGen.Backends.GenericPython
- Futhark.CodeGen.Backends.MulticoreC
- Futhark.CodeGen.Backends.PyOpenCL
- Futhark.CodeGen.Backends.SequentialC
- Futhark.CodeGen.Backends.SequentialPython
- Futhark.CodeGen.Backends.SimpleRep
- Futhark.CodeGen.ImpCode
- Futhark.CodeGen.ImpGen
- Futhark.CodeGen.ImpGen.CUDA
- Futhark.CodeGen.ImpGen.Kernels
- Futhark.CodeGen.ImpGen.Multicore
- Futhark.CodeGen.ImpGen.OpenCL
- Futhark.CodeGen.ImpGen.Sequential
- Futhark.CodeGen.ImpGen.Transpose
- OpenCL
- Futhark.CodeGen.SetDefaultSpace
- Backends
- Futhark.Compiler
- Futhark.Construct
- Doc
- Futhark.Error
- Futhark.FreshNames
- Futhark.IR
- Futhark.IR.Aliases
- Futhark.IR.Decorations
- Futhark.IR.Kernels
- Futhark.IR.KernelsMem
- Futhark.IR.MC
- Futhark.IR.MCMem
- Futhark.IR.Mem
- Futhark.IR.Parse
- Futhark.IR.Pretty
- Futhark.IR.Primitive
- Futhark.IR.Prop
- Futhark.IR.RetType
- Futhark.IR.SOACS
- Futhark.IR.SegOp
- Futhark.IR.Seq
- Futhark.IR.SeqMem
- Futhark.IR.Syntax
- Futhark.IR.Traversals
- Futhark.Internalise
- Futhark.Internalise.AccurateSizes
- Futhark.Internalise.Bindings
- Futhark.Internalise.Defunctionalise
- Futhark.Internalise.Defunctorise
- Futhark.Internalise.FreeVars
- Futhark.Internalise.Lambdas
- Futhark.Internalise.LiftLambdas
- Futhark.Internalise.Monad
- Futhark.Internalise.Monomorphise
- Futhark.Internalise.TypesValues
- Futhark.MonadFreshNames
- Optimise
- Futhark.Optimise.BlkRegTiling
- Futhark.Optimise.CSE
- Futhark.Optimise.DoubleBuffer
- Futhark.Optimise.Fusion
- Futhark.Optimise.InPlaceLowering
- Futhark.Optimise.InliningDeadFun
- Futhark.Optimise.Simplify
- Futhark.Optimise.Sink
- Futhark.Optimise.TileLoops
- Futhark.Optimise.Unstream
- Futhark.Pass
- Futhark.Pass.ExpandAllocations
- Futhark.Pass.ExplicitAllocations
- Futhark.Pass.ExtractKernels
- Futhark.Pass.ExtractKernels.BlockedKernel
- Futhark.Pass.ExtractKernels.DistributeNests
- Futhark.Pass.ExtractKernels.Distribution
- Futhark.Pass.ExtractKernels.ISRWIM
- Futhark.Pass.ExtractKernels.Interchange
- Futhark.Pass.ExtractKernels.Intragroup
- Futhark.Pass.ExtractKernels.StreamKernel
- Futhark.Pass.ExtractKernels.ToKernels
- Futhark.Pass.ExtractMulticore
- Futhark.Pass.FirstOrderTransform
- Futhark.Pass.KernelBabysitting
- Futhark.Pass.Simplify
- Futhark.Passes
- Futhark.Pipeline
- Pkg
- Futhark.Script
- Futhark.Server
- Futhark.Test
- Futhark.Tools
- Transform
- Futhark.TypeCheck
- Futhark.Util
- Futhark.Version
- Language
- Language.Futhark
Downloads
- futhark-0.19.5.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees