Switch branches/tags
Nothing to show
Commits on May 6, 2011
  1. Array computations in scalar expressions are by default lifted out of…

    mchakravarty committed May 6, 2011
    … their expression context into the enclosing array computation.
    The global variable 'floatOutAccFromExp' can be used to disable this feature.
  2. Warning police

    mchakravarty committed May 6, 2011
Commits on May 4, 2011
  1. Merge pull request #19 from sseefried/remove-convertSliceIndex-2.

    mchakravarty committed May 4, 2011
    Removed need for convertSliceIndex
  2. Removed need for convertSliceIndex

    sseefried committed May 4, 2011
    Also removed the class ShapeElt and used
    a more direct encoding of EltRepr (Any sh).
Commits on May 2, 2011
  1. Fix sliceIndex implementation for Slice (Any sh)

    sseefried committed May 2, 2011
    The implementation of convertSliceIndex uses unsafeCoerce.
    While testing the use of the repN function (defined in
    SliceExamples.hs) I found a case where the type equality didn't
       Repr.SliceShape (EltRepr (Any sh))
    :: Repr.SliceShape ()
    :: ()
       EltRepr (SliceShape (Any sh))
    :: EltRepr sh
    These are clearly not the same in general.
    I created a new class ShapeElt which represents the types
    of values that can be shapes (not slice specifiers). I added
    two new type families. The first,'SliceAnyRepr' maps from types, 'sh',
    satisfying 'ShapeElt' to the representation of the slice
    'Any sh'.
    e.g. Any (Z:.Int) is effectively the same as Z:.All which
    is represented by ((),()) (in module D.A.A.Array.Representation)
    Therefore 'SliceAnyRepr (Z:.Int) :: ((),())'
    The other type family is ShapeEltRepr which was added
    for future purposes because I've got an idea about how to
    remove the need for 'convertSliceIndex' and place
    more restrictions on what can be shapes and slices in
    constructors such as Replicate.
    With this fix function 'repN' now produces correct results.
Commits on May 1, 2011
  1. Merge branch 'slices-fix' of

    mchakravarty committed May 1, 2011
    …into sseefried-slices-fix
Commits on Apr 30, 2011
  1. Generalised Lift and Unlift instances

    sseefried committed Apr 30, 2011
    There was a Lift instance for 'ix :. Exp Int' and 'ix :. Exp All'
    which had the same implementation. Same for Unlift.
    Generalised into one instance for each.
Commits on Apr 29, 2011
  1. Merge branch 'sharing'

    mchakravarty committed Apr 29, 2011
  2. Wibble

    mchakravarty committed Apr 29, 2011
  3. Add notes for developers

    mchakravarty committed Apr 29, 2011
  4. Add support for slice indexes.

    sseefried committed Apr 29, 2011
    One new constructor was added in module AST
    and module Smart: IndexAny.
  5. Convert four of Trevor L. McDonell's patches from darcs to git

    mchakravarty committed Apr 29, 2011
    Mon Apr 11 16:01:59 EST 2011  Trevor L. McDonell <>
      * fix code generation for IndexHead of a 1d shape
    Wed Apr  6 17:07:54 EST 2011  Trevor L. McDonell <>
      * another corner case for reference counting
    Wed Apr  6 15:42:51 EST 2011  Trevor L. McDonell <>
      * remember to check the kernel table (cache)
    Tue Apr  5 21:32:03 EST 2011  Trevor L. McDonell <>
      * change the way reference counting indirections are calculated
Commits on Apr 28, 2011
  1. Clean up sharing recover for array computations

    mchakravarty committed Apr 28, 2011
    * All but the first traversal (using 'StableName's to identify AST
      nodes) is now pure
    * Sharing injection and pruning that used to be separate are now
      combined after some discussion with @sseefried
Commits on Apr 22, 2011
  1. .ghci into .gitignore

    mchakravarty committed Apr 22, 2011
Commits on Apr 15, 2011
Commits on Apr 14, 2011
  1. Allow for a new backend in a separate package.

    blever committed Apr 14, 2011
    Expose additional modules (e.g. AST and Sugar) to make it possible to
    develop a new backend in a separate package (i.e. outside of the
    'accelerate' package).
  2. Wibble.

    blever committed Apr 14, 2011
Commits on Apr 8, 2011
  1. Add a README for GitHub

    mchakravarty committed Apr 8, 2011
Commits on Apr 4, 2011
  1. use correct types for the IO tests

    tmcdonell committed Apr 4, 2011
    Ignore-this: c1af469910cc8f5c7163ba039a73a51f
  2. cuda compilation, execution, using annotated AST

    tmcdonell committed Apr 4, 2011
    Ignore-this: 2e27c1844f1cf9557f627e7787437f8f
Commits on Mar 26, 2011
  1. type and dimension analysis parameterised by the recursive closure

    tmcdonell committed Mar 26, 2011
    Ignore-this: eec66897e7c2a053132f5765d2d8b1f5
Commits on Mar 20, 2011
  1. convert to monolithic test suite, support multiple backends

    tmcdonell committed Mar 20, 2011
    Ignore-this: f999168cf2777299bddc140f86b60a9b
  2. export 'Arrays' from the front end

    tmcdonell committed Mar 20, 2011
    Ignore-this: 81d4971e22b5522484c58154bd8fe04d
Commits on Mar 16, 2011
  1. Implement language support for pairs of arrays.

    blever committed Mar 16, 2011
    Ignore-this: d5e109e1a469ad62b8b2f8de071ccc2f
    Add to the language front-end the ability to manipulate Acc array pairs.
    For example, values of the type: Acc (Array sh e, Array sh' e'). Provide
    language convenience functions for constructing (pairA) and destructing
    (fstA, sndA) such types.
    Leverage the existing FstArray and SndArray HOAS data constructors, and
    add a new constructor, PairArrays, to facilitate creating new pairs.
    Mirror this constructor in the deBruijn representation as well and
    provide Interpreter and CUDA backend implementations of PairArrays.
  2. Implement an array-level conditional operator.

    blever committed Mar 16, 2011
    Ignore-this: 80832ea64af31074dd70d122de2f75c0
    Implement 'cond', an if-then-else construct over array-level
    computations. The construct will appear as a node in the Acc AST.
    Provide Interpreter and CUDA backend implementations.
Commits on Mar 15, 2011
  1. Improve the complexity of sharing recovery

    mchakravarty committed Mar 15, 2011
    Ignore-this: 4acb2862d0e9f8e96132b7aff562d7e
    - This patch improves the time complexity of sharing recovery.
      It used to be proportional to the size of the *unfolded* tree,
      but now is proportional to the size of the source tree (i.e.,
      of the tree with sharing).
    - The second phase of sharing recovery has so far only be
      provisionally adapted to the new approach, which still leads
      to some inefficiencies.  This will be improved in a subsequent
Commits on Mar 14, 2011
  1. wibble

    tmcdonell committed Mar 14, 2011
    Ignore-this: 2406d5b05ef656f519b4b082aa2fc516
Commits on Mar 9, 2011
  1. have example programs exit with failure when printing use help

    tmcdonell committed Mar 9, 2011
    Ignore-this: 1ae6b3ea8813c08b3d946674b2b06379
  2. add the new accelerate-examples to the test benchmarks

    tmcdonell committed Mar 9, 2011
    Ignore-this: 2cb663ffd2bec72dbd98e7bcf44aac5d
Commits on Mar 8, 2011
  1. be more specific for things that can become stable Acc names

    tmcdonell committed Mar 8, 2011
    Ignore-this: c5bedf320c1577d42525fd3bb9048e54