Name: knead Version: 0.5 License: BSD3 License-File: LICENSE Author: Henning Thielemann Maintainer: Henning Thielemann Homepage: http://hub.darcs.net/thielema/knead/ Category: Data Structures Synopsis: Repa-like array processing using LLVM JIT Description: This library processes arrays like @Repa@ and @Accelerate@, but it uses the just-in-time compiler of @LLVM@ for generating the machine code. That is, you get very efficient vectorised code that can be run without a GPU. You do not need to care about inlining and strictness annotations, because the LLVM code is by default inlined and strict. The package is intended as the basis for an LLVM backend for the @Accelerate@ framework. . Highlights: . * Very flexible index handling, even more flexible than the one of 'Data.Array'. It is much more expressive and type-safe than that of @repa@ and @array@. . * Extensible element types, e.g. complex numbers. (Maybe this is also possible with accelerate, e.g. with RGB type.) . * Every compilable program also runs. In contrast to that, @accelerate@ may accept a program that cannot be run by a particular backend, like @accelerate-cuda@. . Known deficiencies: . * The functions do not check array bounds. (Of course, we can think about temporary bound checking for debugging purposes.) . * The package does not try to distribute work across multiple processors. It is certainly simpler, more efficient and more reliable if you do that at a higher level. . The name of the package is inspired by the visualization of typical operations like reshaping, collapsing a dimension and extruding another one. Tested-With: GHC==7.4.2, GHC==7.8.4 Tested-With: GHC==8.4.3, GHC==8.6.1 Cabal-Version: >=1.8 Build-Type: Simple Extra-Source-Files: Makefile Source-Repository this Tag: 0.5 Type: darcs Location: http://hub.darcs.net/thielema/knead/ Source-Repository head Type: darcs Location: http://hub.darcs.net/thielema/knead/ Library Build-Depends: llvm-dsl >=0.0 && <0.1, llvm-extra >=0.10 && <0.11, llvm-tf >=9.2 && <9.3, tfp >=1.0 && <1.1, comfort-array >=0.3 && <0.5, fixed-length >=0.2.1 && <0.3, storable-record >=0.0.5 && <0.1, storable-enum >=0.0 && <0.1, bool8 >=0.0 && <0.1, transformers >=0.3 && <0.6, tagged >=0.7 && <0.9, utility-ht >=0.0.15 && <0.1, prelude-compat >=0.0 && <0.0.1, base >=4 && <5 GHC-Options: -Wall Hs-Source-Dirs: src Exposed-Modules: Data.Array.Knead.Shape Data.Array.Knead.Shape.Cubic Data.Array.Knead.Shape.Cubic.Int Data.Array.Knead.Expression Data.Array.Knead.Expression.Vector Data.Array.Knead.Parameter Data.Array.Knead.Simple.Symbolic Data.Array.Knead.Simple.ShapeDependent Data.Array.Knead.Simple.Physical Data.Array.Knead.Simple.Slice Data.Array.Knead.Simple.Fold Data.Array.Knead.Parameterized.Symbolic Data.Array.Knead.Parameterized.Physical Data.Array.Knead.Parameterized.Slice Data.Array.Knead.Parameterized.Render Other-Modules: Data.Array.Knead.Simple.Private Data.Array.Knead.Simple.PhysicalPrivate Data.Array.Knead.Parameterized.Private Data.Array.Knead.Parameterized.PhysicalHull Data.Array.Knead.Code Data.Array.Knead.Shape.Orphan Test-Suite knead-test Type: exitcode-stdio-1.0 Build-Depends: QuickCheck >=2 && <3, knead, comfort-array, llvm-extra, llvm-tf, tfp, utility-ht, base GHC-Options: -Wall Hs-Source-Dirs: test Main-Is: Main.hs Other-Modules: Test.Array