packages feed

Cabal revisions of accelerate-1.0.0.0

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-Name:                   accelerate-Version:                1.0.0.0-Cabal-version:          >= 1.8-Tested-with:            GHC >= 7.8-Build-type:             Simple--Synopsis:               An embedded language for accelerated array processing--Description:-  @Data.Array.Accelerate@ defines an embedded array language for computations-  for high-performance computing in Haskell. Computations on multi-dimensional,-  regular arrays are expressed in the form of parameterised collective-  operations, such as maps, reductions, and permutations. These computations may-  then be online compiled and executed on a range of architectures.-  .-  [/A simple example/]-  .-  As a simple example, consider the computation of a dot product of two vectors-  of floating point numbers:-  .-  > dotp :: Acc (Vector Float) -> Acc (Vector Float) -> Acc (Scalar Float)-  > dotp xs ys = fold (+) 0 (zipWith (*) xs ys)-  .-  Except for the type, this code is almost the same as the corresponding Haskell-  code on lists of floats. The types indicate that the computation may be-  online-compiled for performance - for example, using-  @Data.Array.Accelerate.LLVM.PTX@ it may be on-the-fly off-loaded to the GPU.-  .-  [/Additional components/]-  .-  The following supported add-ons are available as separate packages. Install-  them from Hackage with @cabal install \<package\>@-  .-    * @accelerate-llvm-native@: Backend supporting parallel execution on-      multicore CPUs.-  .-    * @accelerate-llvm-ptx@: Backend supporting parallel execution on-      CUDA-capable NVIDIA GPUs. Requires a GPU with compute capability 2.0 or-      greater. See the following table for supported GPUs:-      <http://en.wikipedia.org/wiki/CUDA#Supported_GPUs>-  .-    * @accelerate-cuda@: Backend targeting CUDA-enabled NVIDIA GPUs. Requires-      a GPU with compute compatibility 1.2 or greater. /NOTE: This backend is-      being deprecated in favour of @accelerate-llvm-ptx@./-  .-    * @accelerate-examples@: Computational kernels and applications showcasing-      the use of Accelerate as well as a regression test suite, supporting-      function and performance testing.-  .-    * @accelerate-io@: Fast conversions between Accelerate arrays and other-      array formats (including vector and repa).-  .-    * @accelerate-fft@: Discrete Fourier transforms, with FFI bindings to-      optimised implementations.-  .-    * @accelerate-bignum@: Fixed-width large integer arithmetic.-  .-    * @colour-accelerate@: Colour representations in Accelerate (RGB, sRGB, HSV,-      and HSL).-  .-    * @gloss-accelerate@: Generate gloss pictures from Accelerate.-  .-    * @gloss-raster-accelerate@: Parallel rendering of raster images and-      animations.-  .-    * @lens-accelerate@: Lens operators for Accelerate types.-  .-    * @linear-accelerate@: Linear vector spaces in Accelerate.-  .-    * @mwc-random-accelerate@: Generate Accelerate arrays filled with high-      quality pseudorandom numbers.-  .-  [/Examples and documentation/]-  .-  Haddock documentation is included in the package-  .-  The @accelerate-examples@ package demonstrates a range of computational-  kernels and several complete applications, including:-  .-    * An implementation of the Canny edge detection algorithm-  .-    * An interactive Mandelbrot set generator-  .-    * A particle-based simulation of stable fluid flows-  .-    * An /n/-body simulation of gravitational attraction between solid particles-  .-    * An implementation of the PageRank algorithm-  .-    * A simple interactive ray tracer-  .-    * A particle based simulation of stable fluid flows-  .-    * A cellular automata simulation-  .-    * A \"password recovery\" tool, for dictionary lookup of MD5 hashes-  .-  @lulesh-accelerate@ is an implementation of the Livermore Unstructured-  Lagrangian Explicit Shock Hydrodynamics (LULESH) mini-app. LULESH represents a-  typical hydrodynamics code such as ALE3D, but is highly simplified and-  hard-coded to solve the Sedov blast problem on an unstructured hexahedron-  mesh.-  .-  [/Mailing list and contacts/]-  .-    * Mailing list: <accelerate-haskell@googlegroups.com> (discussion of both-      use and development welcome).-  .-    * Sign up for the mailing list here:-      <http://groups.google.com/group/accelerate-haskell>-  .-    * Bug reports and issue tracking:-      <https://github.com/AccelerateHS/accelerate/issues>-  .--License:                BSD3-License-file:           LICENSE-Author:                 Manuel M T Chakravarty,-                        Robert Clifton-Everest,-                        Gabriele Keller,-                        Ben Lever,-                        Trevor L. McDonell,-                        Ryan Newtown,-                        Sean Seefried-Maintainer:             Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>-Homepage:               https://github.com/AccelerateHS/accelerate/-Bug-reports:            https://github.com/AccelerateHS/accelerate/issues--Category:               Compilers/Interpreters, Concurrency, Data, Parallelism-Stability:              Experimental--Extra-source-files:     changelog.md--Flag debug-  Default:              False-  Description:-    Enable debug tracing messages. The following options are read from the-    environment variable @ACCELERATE_FLAGS@, and via the command-line as:-    .-      > ./program +ACC ... -ACC-    .-    Note that a backend may not implement (or be applicable to) all options.-    .-    The following flags control phases of the compiler. The are enabled with-    @-f\<flag\>@ and can be reveresed with @-fno-\<flag\>@:-    .-      * @acc-sharing@: Enable sharing recovery of array expressions (True).-    .-      * @exp-sharing@: Enable sharing recovery of scalar expressions (True).-    .-      * @fusion@: Enable array fusion (True).-    .-      * @simplify@: Enable program simplification phase (True).-    .-      * @flush-cache@: Clear any persistent caches on program startup (False).-    .-      * @fast-math@: Allow algebraically equivalent transformations which may-        change floating point results (e.g., reassociate) (True).-    .-    The following options control debug message output, and are enabled with-    @-d\<flag\>@.-    .-      * @verbose@: Be extra chatty.-    .-      * @dump-phases@: Print timing information about each phase of the compiler.-        Enable GC stats (@+RTS -t@ or otherwise) for memory usage information.-    .-      * @dump-sharing@: Print information related to sharing recovery.-    .-      * @dump-simpl-stats@: Print statistics related to fusion & simplification.-    .-      * @dump-simpl-iterations@: Print a summary after each simplifier iteration.-    .-      * @dump-vectorisation@: Print information related to the vectoriser.-    .-      * @dump-dot@: Generate a representation of the program graph in Graphviz-        DOT format.-    .-      * @dump-simpl-dot@: Generate a more compact representation of the program-        graph in Graphviz DOT format. In particular, scalar expressions are-        elided.-    .-      * @dump-gc@: Print information related to the Accelerate garbage-        collector.-    .-      * @dump-gc-stats@: Print aggregate garbage collection information at the-        end of program execution.-    .-      * @dubug-cc@: Include debug symbols in the generated and compiled kernels.-    .-      * @dump-cc@: Print information related to kernel code-        generation/compilation. Print the generated code if @verbose@.-    .-      * @dump-ld@: Print information related to runtime linking.-    .-      * @dump-asm@: Print information related to kernel assembly. Print the-        assembled code if @verbose@.-    .-      * @dump-exec@: Print information related to program execution.-    .-      * @dump-sched@: Print information related to execution scheduling.-    .--Flag ekg-  Default:              False-  Description:-    Enable hooks for monitoring the running application using EKG. Implies-    @debug@ mode. In order to view the metrics, your application will need to-    initialise the EKG server like so:-    .-    > import Data.Array.Accelerate.Debug-    >-    > import System.Metrics-    > import System.Remote.Monitoring-    >-    > main :: IO ()-    > main = do-    >   store  <- initAccMetrics-    >   registerGcMetrics store      -- optional-    >-    >   server <- forkServerWith store "localhost" 8000-    >-    >   ...-    .-    Note that, as with any program utilising EKG, in order to collect Haskell GC-    statistics collection, you must either run the program with:-    .-    > +RTS -T -RTS-    .-    or compile it with:-    .-    > -with-rtsopts=-T-    .--Flag bounds-checks-  Description:          Enable bounds checking-  Default:              True--Flag unsafe-checks-  Description:          Enable bounds checking in unsafe operations-  Default:              False--Flag internal-checks-  Description:          Enable internal consistency checks-  Default:              False--Library-  Build-depends:-          base                          >= 4.7 && < 4.10-        , base-orphans                  >= 0.3-        , containers                    >= 0.3-        , deepseq                       >= 1.3-        , directory                     >= 1.0-        , exceptions                    >= 0.6-        , fclabels                      >= 2.0-        , filepath                      >= 1.0-        , ghc-prim-        , hashable                      >= 1.1-        , hashtables                    >= 1.0-        , mtl                           >= 2.0-        , pretty                        >= 1.0-        , template-haskell-        , time                          >= 1.4-        , transformers                  >= 0.3-        , unique-        , unordered-containers          >= 0.2--  Exposed-modules:-        -- The core language and reference implementation-        Data.Array.Accelerate-        Data.Array.Accelerate.Interpreter--        -- Prelude-like-        Data.Array.Accelerate.Data.Bits-        Data.Array.Accelerate.Data.Complex-        Data.Array.Accelerate.Data.Fold-        Data.Array.Accelerate.Data.Monoid--        -- For backend development-        Data.Array.Accelerate.AST-        Data.Array.Accelerate.Analysis.Match-        Data.Array.Accelerate.Analysis.Shape-        Data.Array.Accelerate.Analysis.Stencil-        Data.Array.Accelerate.Analysis.Type-        Data.Array.Accelerate.Array.Data-        Data.Array.Accelerate.Array.Remote-        Data.Array.Accelerate.Array.Remote.Class-        Data.Array.Accelerate.Array.Remote.LRU-        Data.Array.Accelerate.Array.Remote.Table-        Data.Array.Accelerate.Array.Representation-        Data.Array.Accelerate.Array.Sugar-        Data.Array.Accelerate.Array.Unique-        Data.Array.Accelerate.Async-        Data.Array.Accelerate.Debug-        Data.Array.Accelerate.Error-        Data.Array.Accelerate.FullList-        Data.Array.Accelerate.Lifetime-        Data.Array.Accelerate.Pretty-        Data.Array.Accelerate.Product-        Data.Array.Accelerate.Smart-        Data.Array.Accelerate.Trafo-        Data.Array.Accelerate.Type--  Other-modules:-        Data.Atomic-        Data.Array.Accelerate.Array.Lifted-        Data.Array.Accelerate.Array.Remote.Nursery-        Data.Array.Accelerate.Classes-        Data.Array.Accelerate.Classes.Bounded-        Data.Array.Accelerate.Classes.Enum-        Data.Array.Accelerate.Classes.Eq-        Data.Array.Accelerate.Classes.Floating-        Data.Array.Accelerate.Classes.Fractional-        Data.Array.Accelerate.Classes.FromIntegral-        Data.Array.Accelerate.Classes.Integral-        Data.Array.Accelerate.Classes.Num-        Data.Array.Accelerate.Classes.Ord-        Data.Array.Accelerate.Classes.Real-        Data.Array.Accelerate.Classes.RealFloat-        Data.Array.Accelerate.Classes.RealFrac-        Data.Array.Accelerate.Classes.ToFloating-        Data.Array.Accelerate.Debug.Flags-        Data.Array.Accelerate.Debug.Monitoring-        Data.Array.Accelerate.Debug.Stats-        Data.Array.Accelerate.Debug.Timed-        Data.Array.Accelerate.Debug.Trace-        Data.Array.Accelerate.Language-        Data.Array.Accelerate.Lift-        Data.Array.Accelerate.Prelude-        Data.Array.Accelerate.Pretty.Graphviz-        Data.Array.Accelerate.Pretty.Graphviz.Monad-        Data.Array.Accelerate.Pretty.Graphviz.Type-        Data.Array.Accelerate.Pretty.Print-        Data.Array.Accelerate.Trafo.Algebra-        Data.Array.Accelerate.Trafo.Base-        Data.Array.Accelerate.Trafo.Fusion-        Data.Array.Accelerate.Trafo.Rewrite-        Data.Array.Accelerate.Trafo.Sharing-        Data.Array.Accelerate.Trafo.Shrink-        Data.Array.Accelerate.Trafo.Simplify-        Data.Array.Accelerate.Trafo.Substitution-        -- Data.Array.Accelerate.Trafo.Vectorise--  c-sources:            cbits/atomic.c--  if flag(debug) || flag(ekg)-    cpp-options:        -DACCELERATE_DEBUG--  if flag(ekg)-    cpp-options:        -DACCELERATE_MONITORING-    build-depends:-          async                         >= 2.0-        , ekg                           >= 0.1-        , ekg-core                      >= 0.1-        , text                          >= 1.0-        , time                          >= 1.4--  if flag(bounds-checks)-    cpp-options:        -DACCELERATE_BOUNDS_CHECKS--  if flag(unsafe-checks)-    cpp-options:        -DACCELERATE_UNSAFE_CHECKS--  if flag(internal-checks)-    cpp-options:        -DACCELERATE_INTERNAL_CHECKS--  if os(windows)-    cpp-options:        -DWIN32-    build-depends:      Win32-  else-    cpp-options:        -DUNIX-    build-depends:      unix--  ghc-options:          -O2 -Wall -funbox-strict-fields -fno-warn-name-shadowing-  ghc-prof-options:     -caf-all -auto-all--  if impl(ghc >= 7.0)-    ghc-options:        -fspec-constr-count=25--  if impl(ghc == 7.*)-    ghc-options:        -fcontext-stack=35--  if impl(ghc >= 8.0)-    ghc-options:        -freduction-depth=35--  -- Don't add the extensions list here. Instead, place individual LANGUAGE-  -- pragmas in the files that require a specific extension. This means the-  -- project loads in GHCi, and avoids extension clashes.-  ---  -- Extensions:--source-repository head-  Type:                 git-  Location:             git://github.com/AccelerateHS/accelerate.git--source-repository this-  Type:                 git-  Tag:                  1.0.0.0-  Location:             git://github.com/AccelerateHS/accelerate.git---- vim: nospell+Name:                   accelerate
+Version:                1.0.0.0
+x-revision: 1
+Cabal-version:          >= 1.8
+Tested-with:            GHC >= 7.8
+Build-type:             Simple
+
+Synopsis:               An embedded language for accelerated array processing
+
+Description:
+  @Data.Array.Accelerate@ defines an embedded array language for computations
+  for high-performance computing in Haskell. Computations on multi-dimensional,
+  regular arrays are expressed in the form of parameterised collective
+  operations, such as maps, reductions, and permutations. These computations may
+  then be online compiled and executed on a range of architectures.
+  .
+  [/A simple example/]
+  .
+  As a simple example, consider the computation of a dot product of two vectors
+  of floating point numbers:
+  .
+  > dotp :: Acc (Vector Float) -> Acc (Vector Float) -> Acc (Scalar Float)
+  > dotp xs ys = fold (+) 0 (zipWith (*) xs ys)
+  .
+  Except for the type, this code is almost the same as the corresponding Haskell
+  code on lists of floats. The types indicate that the computation may be
+  online-compiled for performance - for example, using
+  @Data.Array.Accelerate.LLVM.PTX@ it may be on-the-fly off-loaded to the GPU.
+  .
+  [/Additional components/]
+  .
+  The following supported add-ons are available as separate packages. Install
+  them from Hackage with @cabal install \<package\>@
+  .
+    * @accelerate-llvm-native@: Backend supporting parallel execution on
+      multicore CPUs.
+  .
+    * @accelerate-llvm-ptx@: Backend supporting parallel execution on
+      CUDA-capable NVIDIA GPUs. Requires a GPU with compute capability 2.0 or
+      greater. See the following table for supported GPUs:
+      <http://en.wikipedia.org/wiki/CUDA#Supported_GPUs>
+  .
+    * @accelerate-cuda@: Backend targeting CUDA-enabled NVIDIA GPUs. Requires
+      a GPU with compute compatibility 1.2 or greater. /NOTE: This backend is
+      being deprecated in favour of @accelerate-llvm-ptx@./
+  .
+    * @accelerate-examples@: Computational kernels and applications showcasing
+      the use of Accelerate as well as a regression test suite, supporting
+      function and performance testing.
+  .
+    * @accelerate-io@: Fast conversions between Accelerate arrays and other
+      array formats (including vector and repa).
+  .
+    * @accelerate-fft@: Discrete Fourier transforms, with FFI bindings to
+      optimised implementations.
+  .
+    * @accelerate-bignum@: Fixed-width large integer arithmetic.
+  .
+    * @colour-accelerate@: Colour representations in Accelerate (RGB, sRGB, HSV,
+      and HSL).
+  .
+    * @gloss-accelerate@: Generate gloss pictures from Accelerate.
+  .
+    * @gloss-raster-accelerate@: Parallel rendering of raster images and
+      animations.
+  .
+    * @lens-accelerate@: Lens operators for Accelerate types.
+  .
+    * @linear-accelerate@: Linear vector spaces in Accelerate.
+  .
+    * @mwc-random-accelerate@: Generate Accelerate arrays filled with high
+      quality pseudorandom numbers.
+  .
+  [/Examples and documentation/]
+  .
+  Haddock documentation is included in the package
+  .
+  The @accelerate-examples@ package demonstrates a range of computational
+  kernels and several complete applications, including:
+  .
+    * An implementation of the Canny edge detection algorithm
+  .
+    * An interactive Mandelbrot set generator
+  .
+    * A particle-based simulation of stable fluid flows
+  .
+    * An /n/-body simulation of gravitational attraction between solid particles
+  .
+    * An implementation of the PageRank algorithm
+  .
+    * A simple interactive ray tracer
+  .
+    * A particle based simulation of stable fluid flows
+  .
+    * A cellular automata simulation
+  .
+    * A \"password recovery\" tool, for dictionary lookup of MD5 hashes
+  .
+  @lulesh-accelerate@ is an implementation of the Livermore Unstructured
+  Lagrangian Explicit Shock Hydrodynamics (LULESH) mini-app. LULESH represents a
+  typical hydrodynamics code such as ALE3D, but is highly simplified and
+  hard-coded to solve the Sedov blast problem on an unstructured hexahedron
+  mesh.
+  .
+  [/Mailing list and contacts/]
+  .
+    * Mailing list: <accelerate-haskell@googlegroups.com> (discussion of both
+      use and development welcome).
+  .
+    * Sign up for the mailing list here:
+      <http://groups.google.com/group/accelerate-haskell>
+  .
+    * Bug reports and issue tracking:
+      <https://github.com/AccelerateHS/accelerate/issues>
+  .
+
+License:                BSD3
+License-file:           LICENSE
+Author:                 Manuel M T Chakravarty,
+                        Robert Clifton-Everest,
+                        Gabriele Keller,
+                        Ben Lever,
+                        Trevor L. McDonell,
+                        Ryan Newtown,
+                        Sean Seefried
+Maintainer:             Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
+Homepage:               https://github.com/AccelerateHS/accelerate/
+Bug-reports:            https://github.com/AccelerateHS/accelerate/issues
+
+Category:               Compilers/Interpreters, Concurrency, Data, Parallelism
+Stability:              Experimental
+
+Extra-source-files:     changelog.md
+
+Flag debug
+  Default:              False
+  Description:
+    Enable debug tracing messages. The following options are read from the
+    environment variable @ACCELERATE_FLAGS@, and via the command-line as:
+    .
+      > ./program +ACC ... -ACC
+    .
+    Note that a backend may not implement (or be applicable to) all options.
+    .
+    The following flags control phases of the compiler. The are enabled with
+    @-f\<flag\>@ and can be reveresed with @-fno-\<flag\>@:
+    .
+      * @acc-sharing@: Enable sharing recovery of array expressions (True).
+    .
+      * @exp-sharing@: Enable sharing recovery of scalar expressions (True).
+    .
+      * @fusion@: Enable array fusion (True).
+    .
+      * @simplify@: Enable program simplification phase (True).
+    .
+      * @flush-cache@: Clear any persistent caches on program startup (False).
+    .
+      * @fast-math@: Allow algebraically equivalent transformations which may
+        change floating point results (e.g., reassociate) (True).
+    .
+    The following options control debug message output, and are enabled with
+    @-d\<flag\>@.
+    .
+      * @verbose@: Be extra chatty.
+    .
+      * @dump-phases@: Print timing information about each phase of the compiler.
+        Enable GC stats (@+RTS -t@ or otherwise) for memory usage information.
+    .
+      * @dump-sharing@: Print information related to sharing recovery.
+    .
+      * @dump-simpl-stats@: Print statistics related to fusion & simplification.
+    .
+      * @dump-simpl-iterations@: Print a summary after each simplifier iteration.
+    .
+      * @dump-vectorisation@: Print information related to the vectoriser.
+    .
+      * @dump-dot@: Generate a representation of the program graph in Graphviz
+        DOT format.
+    .
+      * @dump-simpl-dot@: Generate a more compact representation of the program
+        graph in Graphviz DOT format. In particular, scalar expressions are
+        elided.
+    .
+      * @dump-gc@: Print information related to the Accelerate garbage
+        collector.
+    .
+      * @dump-gc-stats@: Print aggregate garbage collection information at the
+        end of program execution.
+    .
+      * @dubug-cc@: Include debug symbols in the generated and compiled kernels.
+    .
+      * @dump-cc@: Print information related to kernel code
+        generation/compilation. Print the generated code if @verbose@.
+    .
+      * @dump-ld@: Print information related to runtime linking.
+    .
+      * @dump-asm@: Print information related to kernel assembly. Print the
+        assembled code if @verbose@.
+    .
+      * @dump-exec@: Print information related to program execution.
+    .
+      * @dump-sched@: Print information related to execution scheduling.
+    .
+
+Flag ekg
+  Default:              False
+  Description:
+    Enable hooks for monitoring the running application using EKG. Implies
+    @debug@ mode. In order to view the metrics, your application will need to
+    initialise the EKG server like so:
+    .
+    > import Data.Array.Accelerate.Debug
+    >
+    > import System.Metrics
+    > import System.Remote.Monitoring
+    >
+    > main :: IO ()
+    > main = do
+    >   store  <- initAccMetrics
+    >   registerGcMetrics store      -- optional
+    >
+    >   server <- forkServerWith store "localhost" 8000
+    >
+    >   ...
+    .
+    Note that, as with any program utilising EKG, in order to collect Haskell GC
+    statistics collection, you must either run the program with:
+    .
+    > +RTS -T -RTS
+    .
+    or compile it with:
+    .
+    > -with-rtsopts=-T
+    .
+
+Flag bounds-checks
+  Description:          Enable bounds checking
+  Default:              True
+
+Flag unsafe-checks
+  Description:          Enable bounds checking in unsafe operations
+  Default:              False
+
+Flag internal-checks
+  Description:          Enable internal consistency checks
+  Default:              False
+
+Library
+  Build-depends:
+          base                          >= 4.7 && < 4.11
+        , base-orphans                  >= 0.3
+        , containers                    >= 0.3
+        , deepseq                       >= 1.3
+        , directory                     >= 1.0
+        , exceptions                    >= 0.6
+        , fclabels                      >= 2.0
+        , filepath                      >= 1.0
+        , ghc-prim
+        , hashable                      >= 1.1
+        , hashtables                    >= 1.0
+        , mtl                           >= 2.0
+        , pretty                        >= 1.0
+        , template-haskell
+        , time                          >= 1.4
+        , transformers                  >= 0.3
+        , unique
+        , unordered-containers          >= 0.2
+
+  Exposed-modules:
+        -- The core language and reference implementation
+        Data.Array.Accelerate
+        Data.Array.Accelerate.Interpreter
+
+        -- Prelude-like
+        Data.Array.Accelerate.Data.Bits
+        Data.Array.Accelerate.Data.Complex
+        Data.Array.Accelerate.Data.Fold
+        Data.Array.Accelerate.Data.Monoid
+
+        -- For backend development
+        Data.Array.Accelerate.AST
+        Data.Array.Accelerate.Analysis.Match
+        Data.Array.Accelerate.Analysis.Shape
+        Data.Array.Accelerate.Analysis.Stencil
+        Data.Array.Accelerate.Analysis.Type
+        Data.Array.Accelerate.Array.Data
+        Data.Array.Accelerate.Array.Remote
+        Data.Array.Accelerate.Array.Remote.Class
+        Data.Array.Accelerate.Array.Remote.LRU
+        Data.Array.Accelerate.Array.Remote.Table
+        Data.Array.Accelerate.Array.Representation
+        Data.Array.Accelerate.Array.Sugar
+        Data.Array.Accelerate.Array.Unique
+        Data.Array.Accelerate.Async
+        Data.Array.Accelerate.Debug
+        Data.Array.Accelerate.Error
+        Data.Array.Accelerate.FullList
+        Data.Array.Accelerate.Lifetime
+        Data.Array.Accelerate.Pretty
+        Data.Array.Accelerate.Product
+        Data.Array.Accelerate.Smart
+        Data.Array.Accelerate.Trafo
+        Data.Array.Accelerate.Type
+
+  Other-modules:
+        Data.Atomic
+        Data.Array.Accelerate.Array.Lifted
+        Data.Array.Accelerate.Array.Remote.Nursery
+        Data.Array.Accelerate.Classes
+        Data.Array.Accelerate.Classes.Bounded
+        Data.Array.Accelerate.Classes.Enum
+        Data.Array.Accelerate.Classes.Eq
+        Data.Array.Accelerate.Classes.Floating
+        Data.Array.Accelerate.Classes.Fractional
+        Data.Array.Accelerate.Classes.FromIntegral
+        Data.Array.Accelerate.Classes.Integral
+        Data.Array.Accelerate.Classes.Num
+        Data.Array.Accelerate.Classes.Ord
+        Data.Array.Accelerate.Classes.Real
+        Data.Array.Accelerate.Classes.RealFloat
+        Data.Array.Accelerate.Classes.RealFrac
+        Data.Array.Accelerate.Classes.ToFloating
+        Data.Array.Accelerate.Debug.Flags
+        Data.Array.Accelerate.Debug.Monitoring
+        Data.Array.Accelerate.Debug.Stats
+        Data.Array.Accelerate.Debug.Timed
+        Data.Array.Accelerate.Debug.Trace
+        Data.Array.Accelerate.Language
+        Data.Array.Accelerate.Lift
+        Data.Array.Accelerate.Prelude
+        Data.Array.Accelerate.Pretty.Graphviz
+        Data.Array.Accelerate.Pretty.Graphviz.Monad
+        Data.Array.Accelerate.Pretty.Graphviz.Type
+        Data.Array.Accelerate.Pretty.Print
+        Data.Array.Accelerate.Trafo.Algebra
+        Data.Array.Accelerate.Trafo.Base
+        Data.Array.Accelerate.Trafo.Fusion
+        Data.Array.Accelerate.Trafo.Rewrite
+        Data.Array.Accelerate.Trafo.Sharing
+        Data.Array.Accelerate.Trafo.Shrink
+        Data.Array.Accelerate.Trafo.Simplify
+        Data.Array.Accelerate.Trafo.Substitution
+        -- Data.Array.Accelerate.Trafo.Vectorise
+
+  c-sources:            cbits/atomic.c
+
+  if flag(debug) || flag(ekg)
+    cpp-options:        -DACCELERATE_DEBUG
+
+  if flag(ekg)
+    cpp-options:        -DACCELERATE_MONITORING
+    build-depends:
+          async                         >= 2.0
+        , ekg                           >= 0.1
+        , ekg-core                      >= 0.1
+        , text                          >= 1.0
+        , time                          >= 1.4
+
+  if flag(bounds-checks)
+    cpp-options:        -DACCELERATE_BOUNDS_CHECKS
+
+  if flag(unsafe-checks)
+    cpp-options:        -DACCELERATE_UNSAFE_CHECKS
+
+  if flag(internal-checks)
+    cpp-options:        -DACCELERATE_INTERNAL_CHECKS
+
+  if os(windows)
+    cpp-options:        -DWIN32
+    build-depends:      Win32
+  else
+    cpp-options:        -DUNIX
+    build-depends:      unix
+
+  ghc-options:          -O2 -Wall -funbox-strict-fields -fno-warn-name-shadowing
+  ghc-prof-options:     -caf-all -auto-all
+
+  if impl(ghc >= 7.0)
+    ghc-options:        -fspec-constr-count=25
+
+  if impl(ghc == 7.*)
+    ghc-options:        -fcontext-stack=35
+
+  if impl(ghc >= 8.0)
+    ghc-options:        -freduction-depth=35
+
+  -- Don't add the extensions list here. Instead, place individual LANGUAGE
+  -- pragmas in the files that require a specific extension. This means the
+  -- project loads in GHCi, and avoids extension clashes.
+  --
+  -- Extensions:
+
+source-repository head
+  Type:                 git
+  Location:             git://github.com/AccelerateHS/accelerate.git
+
+source-repository this
+  Type:                 git
+  Tag:                  1.0.0.0
+  Location:             git://github.com/AccelerateHS/accelerate.git
+
+-- vim: nospell