packages feed

accelerate-io 0.12.0.0 → 0.12.1.0

raw patch · 3 files changed

+29/−27 lines, 3 filesdep ~acceleratedep ~repaPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: accelerate, repa

API changes (from Hackage documentation)

- Data.Array.Accelerate.IO: computeAccP :: (Fill r A sh e, Elt e, Monad m) => Array r sh e -> m (Array A sh e)
+ Data.Array.Accelerate.IO: computeAccP :: (Load r sh e, Elt e, Monad m) => Array r sh e -> m (Array A sh e)
- Data.Array.Accelerate.IO: computeAccS :: Fill r A sh e => Array r sh e -> Array A sh e
+ Data.Array.Accelerate.IO: computeAccS :: (Load r sh e, Elt e) => Array r sh e -> Array A sh e

Files

Data/Array/Accelerate/IO/BlockCopy.hs view
@@ -23,7 +23,7 @@ import Foreign import Foreign.C import GHC.Base-import Data.Array.Base (bOOL_SCALE, wORD_SCALE, fLOAT_SCALE, dOUBLE_SCALE)+import Data.Array.Base (wORD_SCALE, fLOAT_SCALE, dOUBLE_SCALE) import Data.ByteString  -- friends@@ -64,7 +64,7 @@ type instance BlockCopyFuns Word64 = BlockCopyFun Word64 type instance BlockCopyFuns Float  = BlockCopyFun Float type instance BlockCopyFuns Double = BlockCopyFun Double-type instance BlockCopyFuns Bool   = BlockCopyFun Word8 -- Packed a bit vector+type instance BlockCopyFuns Bool   = BlockCopyFun Word8 type instance BlockCopyFuns Char   = BlockCopyFun Char type instance BlockCopyFuns (a,b)  = (BlockCopyFuns a, BlockCopyFuns b) @@ -93,7 +93,7 @@ type instance BlockPtrs Word64 = Ptr Word64 type instance BlockPtrs Float  = Ptr Float type instance BlockPtrs Double = Ptr Double-type instance BlockPtrs Bool   = Ptr Word8 -- Packed as a bit vector+type instance BlockPtrs Bool   = Ptr Word8 type instance BlockPtrs Char   = Ptr Char type instance BlockPtrs (a,b)  = (BlockPtrs a, BlockPtrs b) @@ -164,8 +164,8 @@    aux ArrayEltRword64 ad = base (ptrsOfArrayData ad) (sizeA * 8)    aux ArrayEltRfloat  ad = base (ptrsOfArrayData ad) (box fLOAT_SCALE sizeA)    aux ArrayEltRdouble ad = base (ptrsOfArrayData ad) (box dOUBLE_SCALE sizeA)-   aux ArrayEltRbool   ad = base (ptrsOfArrayData ad) (box bOOL_SCALE sizeA)-   aux ArrayEltRchar   _ = error "not defined yet" -- base (castPtr $ ptrsOfArrayData ad) (sizeA * 4)+   aux ArrayEltRbool   ad = base (ptrsOfArrayData ad) sizeA+   aux ArrayEltRchar   ad = base (ptrsOfArrayData ad) (sizeA * 4)    aux (ArrayEltRpair a b) (AD_Pair ad1 ad2) = ((bpFromC, bsFromC), (bpToC, bsToC), toH)      where        ((bpFromC1, bsFromC1), (bpToC1, bsToC1), toH1) = aux a ad1
Data/Array/Accelerate/IO/Repa.hs view
@@ -64,14 +64,16 @@ -- further parallel computation on the GPU. -- data A-data instance R.Array A sh e-  = AAccelerate !sh !(A.ArrayData (A.EltRepr e))  -- Repr ------------------------------------------------------------------------  -- | Reading elements of the Accelerate array ---instance A.Elt e => R.Repr A e where+instance A.Elt e => R.Source A e where+  data Array A sh e+    = AAccelerate !sh !(A.ArrayData (A.EltRepr e))++   {-# INLINE extent #-}   extent (AAccelerate sh _)     = sh@@ -95,30 +97,30 @@  -- | Filling Accelerate arrays ---instance A.Elt e => R.Fillable A e where-  data MArr A e-    = forall s. MAArr (A.MutableArrayData s (A.EltRepr e))+instance A.Elt e => R.Target A e where+  data MVec A e+    = forall s. MAVec (A.MutableArrayData s (A.EltRepr e)) -  {-# INLINE newMArr #-}-  newMArr n-    = MAArr `liftM` unsafeSTToIO (A.newArrayData n)+  {-# INLINE newMVec #-}+  newMVec n+    = MAVec `liftM` unsafeSTToIO (A.newArrayData n) -  {-# INLINE unsafeWriteMArr #-}-  unsafeWriteMArr (MAArr mad) n e+  {-# INLINE unsafeWriteMVec #-}+  unsafeWriteMVec (MAVec mad) n e     = unsafeSTToIO     $ A.writeArrayData mad n (A.fromElt e) -  {-# INLINE unsafeFreezeMArr #-}-  unsafeFreezeMArr sh (MAArr mad)+  {-# INLINE unsafeFreezeMVec #-}+  unsafeFreezeMVec sh (MAVec mad)     = do adata  <- unsafeSTToIO $ A.unsafeFreezeArrayData mad          return $! AAccelerate sh adata -  {-# INLINE deepSeqMArr #-}-  deepSeqMArr (MAArr arr) x             -- maybe?+  {-# INLINE deepSeqMVec #-}+  deepSeqMVec (MAVec arr) x             -- maybe?     = arr `seq` x -  {-# INLINE touchMArr #-}-  touchMArr _                           -- maybe?+  {-# INLINE touchMVec #-}+  touchMVec _                           -- maybe?     = return ()  @@ -148,7 +150,7 @@ -- | Sequential computation of array elements -- computeAccS-    :: R.Fill r A sh e+    :: (R.Load r sh e, A.Elt e)     => R.Array r sh e -> R.Array A sh e {-# INLINE computeAccS #-} computeAccS = R.computeS@@ -156,7 +158,7 @@ -- | Parallel computation of array elements -- computeAccP-    :: (R.Fill r A sh e, A.Elt e, Monad m)+    :: (R.Load r sh e, A.Elt e, Monad m)     => R.Array r sh e     -> m (R.Array A sh e) {-# INLINE computeAccP #-}
accelerate-io.cabal view
@@ -1,5 +1,5 @@ Name:                   accelerate-io-Version:                0.12.0.0+Version:                0.12.1.0 Cabal-version:          >= 1.6 Tested-with:            GHC >= 7.0.3 Build-type:             Simple@@ -37,11 +37,11 @@  Library   Include-Dirs:         include-  Build-depends:        accelerate      >= 0.12,+  Build-depends:        accelerate      >= 0.12.1 && < 0.13,                         array           >= 0.3,                         base            == 4.*,                         bytestring      >= 0.9,-                        repa            >= 3.1.2,+                        repa            >= 3.2,                         vector          >= 0.9    Exposed-modules:      Data.Array.Accelerate.IO