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

[ language, library, program ] [ Propose Tags ]

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

Versions [faq] 0.7.3, 0.7.4, 0.8.1, 0.9.1, 0.10.1, 0.10.2, 0.11.1, 0.11.2, 0.12.1, 0.12.2
Dependencies aeson (>=1.0.0.0), ansi-terminal (>=0.6.3.1), array (>=0.4), base (>=4.13 && <5), binary (>=0.8.3), blaze-html (>=0.9.0.1), bytestring (>=0.10.8), containers (>=0.6.2.1), data-binary-ieee754 (>=0.1), directory (>=1.3.0.0), directory-tree (>=0.12.1), dlist (>=0.6.0.1), file-embed (>=0.0.9), filepath (>=1.4.1.1), free (>=4.12.4), futhark, gitrev (>=1.2.0), haskeline, http-client (>=0.5.7.0), http-client-tls (>=0.3.5.1), http-conduit (>=2.2.4), language-c-quote (>=0.12), mainland-pretty (>=0.6.1), markdown (>=0.1.16), megaparsec (>=7.0.1), mtl (>=2.2.1), neat-interpolation (>=0.3), parallel (>=3.2.1.0), parser-combinators (>=1.0.0), process (>=1.4.3.0), process-extras (>=0.7.2), random, regex-tdfa (>=1.2), srcloc (>=0.4), template-haskell (>=2.11.1), temporary, terminal-size (>=0.3), text (>=1.2.2.2), time (>=1.6.0.1), transformers (>=0.3), unordered-containers (>=0.2.7), utf8-string (>=1), vector (>=0.12), vector-binary-instances (>=0.2.2.0), versions (>=3.3.1), zip-archive (>=0.3.1.1), zlib (>=0.6.1.2) [details]
License ISC
Author
Maintainer Troels Henriksen athas@sigkill.dk
Category Language
Home page https://futhark-lang.org
Bug tracker https://github.com/diku-dk/futhark/issues
Source repo head: git clone https://github.com/diku-dk/futhark
Uploaded by TroelsHenriksen at Fri Oct 18 21:44:13 UTC 2019
Distributions NixOS:0.12.1
Executables futhark
Downloads 1375 total (299 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2019-10-18 [all 3 reports]

Modules

  • Futhark
    • Futhark.Actions
    • Analysis
      • Futhark.Analysis.AlgSimplify
      • Futhark.Analysis.Alias
      • Futhark.Analysis.CallGraph
      • Futhark.Analysis.DataDependencies
      • HORepresentation
        • Futhark.Analysis.HORepresentation.MapNest
        • Futhark.Analysis.HORepresentation.SOAC
      • Futhark.Analysis.Metrics
      • Futhark.Analysis.PrimExp
        • Futhark.Analysis.PrimExp.Convert
        • Futhark.Analysis.PrimExp.Simplify
      • Futhark.Analysis.Range
      • Futhark.Analysis.Rephrase
      • Futhark.Analysis.ScalExp
      • Futhark.Analysis.SymbolTable
      • Futhark.Analysis.Usage
      • Futhark.Analysis.UsageTable
    • Futhark.Bench
    • Futhark.Binder
      • Futhark.Binder.Class
    • CLI
      • Futhark.CLI.Autotune
      • Futhark.CLI.Bench
      • Futhark.CLI.C
      • Futhark.CLI.CSOpenCL
      • Futhark.CLI.CSharp
      • Futhark.CLI.CUDA
      • Futhark.CLI.Datacmp
      • Futhark.CLI.Dataset
      • Futhark.CLI.Dev
      • Futhark.CLI.Doc
      • Futhark.CLI.Misc
      • Futhark.CLI.OpenCL
      • Futhark.CLI.Pkg
      • Futhark.CLI.PyOpenCL
      • Futhark.CLI.Python
      • Futhark.CLI.REPL
      • Futhark.CLI.Run
      • Futhark.CLI.Test
    • CodeGen
      • Backends
        • Futhark.CodeGen.Backends.CCUDA
          • Futhark.CodeGen.Backends.CCUDA.Boilerplate
        • Futhark.CodeGen.Backends.COpenCL
          • Futhark.CodeGen.Backends.COpenCL.Boilerplate
        • Futhark.CodeGen.Backends.CSOpenCL
          • Futhark.CodeGen.Backends.CSOpenCL.Boilerplate
        • Futhark.CodeGen.Backends.GenericC
          • Futhark.CodeGen.Backends.GenericC.Options
        • Futhark.CodeGen.Backends.GenericCSharp
          • Futhark.CodeGen.Backends.GenericCSharp.AST
          • Futhark.CodeGen.Backends.GenericCSharp.Definitions
          • Futhark.CodeGen.Backends.GenericCSharp.Options
        • Futhark.CodeGen.Backends.GenericPython
          • Futhark.CodeGen.Backends.GenericPython.AST
          • Futhark.CodeGen.Backends.GenericPython.Definitions
          • Futhark.CodeGen.Backends.GenericPython.Options
        • Futhark.CodeGen.Backends.PyOpenCL
          • Futhark.CodeGen.Backends.PyOpenCL.Boilerplate
        • Futhark.CodeGen.Backends.SequentialC
        • Futhark.CodeGen.Backends.SequentialCSharp
        • Futhark.CodeGen.Backends.SequentialPython
        • Futhark.CodeGen.Backends.SimpleRepresentation
      • Futhark.CodeGen.ImpCode
        • Futhark.CodeGen.ImpCode.Kernels
        • Futhark.CodeGen.ImpCode.OpenCL
        • Futhark.CodeGen.ImpCode.Sequential
      • Futhark.CodeGen.ImpGen
        • Futhark.CodeGen.ImpGen.CUDA
        • Futhark.CodeGen.ImpGen.Kernels
          • Futhark.CodeGen.ImpGen.Kernels.Base
          • Futhark.CodeGen.ImpGen.Kernels.SegHist
          • Futhark.CodeGen.ImpGen.Kernels.SegMap
          • Futhark.CodeGen.ImpGen.Kernels.SegRed
          • Futhark.CodeGen.ImpGen.Kernels.SegScan
          • Futhark.CodeGen.ImpGen.Kernels.ToOpenCL
          • Futhark.CodeGen.ImpGen.Kernels.Transpose
        • Futhark.CodeGen.ImpGen.OpenCL
        • Futhark.CodeGen.ImpGen.Sequential
      • OpenCL
        • Futhark.CodeGen.OpenCL.Heuristics
      • Futhark.CodeGen.SetDefaultSpace
    • Futhark.Compiler
      • Futhark.Compiler.CLI
      • Futhark.Compiler.Program
    • Futhark.Construct
    • Doc
      • Futhark.Doc.Generator
      • Futhark.Doc.Html
    • Futhark.Error
    • Futhark.FreshNames
    • Futhark.Internalise
      • Futhark.Internalise.AccurateSizes
      • Futhark.Internalise.Bindings
      • Futhark.Internalise.Defunctionalise
      • Futhark.Internalise.Defunctorise
      • Futhark.Internalise.Lambdas
      • Futhark.Internalise.Monad
      • Futhark.Internalise.Monomorphise
      • Futhark.Internalise.TypesValues
    • Futhark.MonadFreshNames
    • Optimise
      • Futhark.Optimise.CSE
      • Futhark.Optimise.DoubleBuffer
      • Futhark.Optimise.Fusion
        • Futhark.Optimise.Fusion.Composing
        • Futhark.Optimise.Fusion.LoopKernel
        • Futhark.Optimise.Fusion.TryFusion
      • Futhark.Optimise.InPlaceLowering
        • Futhark.Optimise.InPlaceLowering.LowerIntoStm
        • Futhark.Optimise.InPlaceLowering.SubstituteIndices
      • Futhark.Optimise.InliningDeadFun
      • Futhark.Optimise.Simplify
        • Futhark.Optimise.Simplify.ClosedForm
        • Futhark.Optimise.Simplify.Engine
        • Futhark.Optimise.Simplify.Lore
        • Futhark.Optimise.Simplify.Rule
        • Futhark.Optimise.Simplify.Rules
      • 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.FirstOrderTransform
      • Futhark.Pass.KernelBabysitting
      • Futhark.Pass.ResolveAssertions
      • Futhark.Pass.Simplify
    • Futhark.Passes
    • Futhark.Pipeline
    • Pkg
      • Futhark.Pkg.Info
      • Futhark.Pkg.Solve
      • Futhark.Pkg.Types
    • Representation
      • Futhark.Representation.AST
        • Futhark.Representation.AST.Annotations
        • Futhark.Representation.AST.Attributes
          • Futhark.Representation.AST.Attributes.Aliases
          • Futhark.Representation.AST.Attributes.Constants
          • Futhark.Representation.AST.Attributes.Names
          • Futhark.Representation.AST.Attributes.Patterns
          • Futhark.Representation.AST.Attributes.Ranges
          • Futhark.Representation.AST.Attributes.Rearrange
          • Futhark.Representation.AST.Attributes.Reshape
          • Futhark.Representation.AST.Attributes.Scope
          • Futhark.Representation.AST.Attributes.TypeOf
          • Futhark.Representation.AST.Attributes.Types
        • Futhark.Representation.AST.Pretty
        • Futhark.Representation.AST.RetType
        • Futhark.Representation.AST.Syntax
          • Futhark.Representation.AST.Syntax.Core
        • Futhark.Representation.AST.Traversals
      • Futhark.Representation.Aliases
      • Futhark.Representation.ExplicitMemory
        • Futhark.Representation.ExplicitMemory.IndexFunction
        • Futhark.Representation.ExplicitMemory.Simplify
      • Futhark.Representation.Kernels
        • Futhark.Representation.Kernels.Kernel
        • Futhark.Representation.Kernels.Simplify
        • Futhark.Representation.Kernels.Sizes
      • Futhark.Representation.Primitive
      • Futhark.Representation.Ranges
      • Futhark.Representation.SOACS
        • Futhark.Representation.SOACS.SOAC
        • Futhark.Representation.SOACS.Simplify
    • Futhark.Test
      • Futhark.Test.Values
    • Futhark.Tools
    • Transform
      • Futhark.Transform.CopyPropagate
      • Futhark.Transform.FirstOrderTransform
      • Futhark.Transform.Rename
      • Futhark.Transform.Substitute
    • Futhark.TypeCheck
    • Futhark.Util
      • Futhark.Util.IntegralExp
      • Futhark.Util.Log
      • Futhark.Util.Options
      • Futhark.Util.Pretty
      • Futhark.Util.Table
    • Futhark.Version
  • Language
    • Language.Futhark
      • Language.Futhark.Attributes
      • Language.Futhark.Core
      • Language.Futhark.Futlib
      • Language.Futhark.Interpreter
      • Language.Futhark.Parser
      • Language.Futhark.Pretty
      • Language.Futhark.Semantic
      • Language.Futhark.Syntax
      • Language.Futhark.Traversals
      • Language.Futhark.TypeChecker
        • Language.Futhark.TypeChecker.Modules
        • Language.Futhark.TypeChecker.Monad
        • Language.Futhark.TypeChecker.Terms
        • Language.Futhark.TypeChecker.Types
        • Language.Futhark.TypeChecker.Unify
      • Language.Futhark.Warnings

Downloads

Maintainer's Corner

For package maintainers and hackage trustees