[commit: vector] simd: Allow streams to produce entire vectors as well as individual elements (fd18157)

Geoffrey Mainland gmainlan at ghc.haskell.org
Fri Jul 19 14:23:31 CEST 2013


Repository : http://darcs.haskell.org/ghc.git/

On branch  : simd

http://hackage.haskell.org/trac/ghc/changeset/fd1815757858ceac2b9323b3c42a8007a0602197

>---------------------------------------------------------------

commit fd1815757858ceac2b9323b3c42a8007a0602197
Author: Roman Leshchinskiy <rl at cse.unsw.edu.au>
Date:   Sat Jan 7 11:06:00 2012 +0000

    Allow streams to produce entire vectors as well as individual elements
    
    This is a signficant extension to the stream fusion mechanism. A Stream is now
    parametrised with a vector type and offers two iteration modes: individual
    elements and individual elements + vectors. This supports significantly more
    efficient implementations of block operations. For instance, (++) will now use
    memcpy where possible rather than iterating through the elements in a loop.
    
    Comments are sorely lacking at the moment.

 Data/Vector/Fusion/Stream.hs         |  216 +++++++-------
 Data/Vector/Fusion/Stream/Monadic.hs |  524 ++++++++++++++++++++--------------
 Data/Vector/Generic.hs               |   46 +--
 Data/Vector/Generic/Base.hs          |    4 +-
 Data/Vector/Generic/Mutable.hs       |  192 ++++++++++---
 Data/Vector/Generic/Mutable/Base.hs  |  135 +++++++++
 Data/Vector/Generic/New.hs           |   26 +-
 vector.cabal                         |    1 +
 8 files changed, 749 insertions(+), 395 deletions(-)


Diff suppressed because of size. To see it, use:

    git show fd1815757858ceac2b9323b3c42a8007a0602197




More information about the ghc-commits mailing list