packages feed

accelerate-fft 0.15.0.0 → 0.15.1.0

raw patch · 5 files changed

+37/−28 lines, 5 filesdep ~accelerate-cudadep ~basedep ~cufft

Dependency ranges changed: accelerate-cuda, base, cufft

Files

Data/Array/Accelerate/Math/DFT.hs view
@@ -2,7 +2,8 @@ {-# LANGUAGE TypeOperators       #-} -- | -- Module      : Data.Array.Accelerate.Math.DFT--- Copyright   : [2012] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell+-- Copyright   : [2012..2014] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell+--               [2013..2014] Robert Clifton-Everest -- License     : BSD3 -- -- Maintainer  : Manuel M T Chakravarty <chak@cse.unsw.edu.au>
Data/Array/Accelerate/Math/DFT/Centre.hs view
@@ -1,7 +1,9 @@-{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE TypeOperators    #-} -- | -- Module      : Data.Array.Accelerate.Math.DFT.Centre--- Copyright   : [2012..2013] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell, Robert Clifton-Everest+-- Copyright   : [2012..2014] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell+--               [2013..2014] Robert Clifton-Everest -- License     : BSD3 -- -- Maintainer  : Manuel M T Chakravarty <chak@cse.unsw.edu.au>@@ -67,7 +69,7 @@   where     p ix       = let Z:.x = unlift ix :: Z :. Exp Int-        in index1 (x <* mw ? (x + mw, x - mw))+        in index1 (x A.<* mw ? (x + mw, x - mw))     Z:.w    = unlift (A.shape arr)     mw      = w `div` 2 @@ -80,8 +82,8 @@   where     p ix       = let Z:.y:.x = unlift ix :: Z :. Exp Int :. Exp Int-        in index2 (y <* mh ? (y + mh, y - mh))-                  (x <* mw ? (x + mw, x - mw))+        in index2 (y A.<* mh ? (y + mh, y - mh))+                  (x A.<* mw ? (x + mw, x - mw))     Z:.h:.w = unlift (A.shape arr)     (mh,mw) = (h `div` 2, w `div` 2) @@ -94,10 +96,10 @@   where     p ix       = let Z:.z:.y:.x = unlift ix :: Z :. Exp Int :. Exp Int :. Exp Int-        in index3 (z <* md ? (z + md, z - md))-                  (y <* mh ? (y + mh, y - mh))-                  (x <* mw ? (x + mw, x - mw))-    Z:.h:.w:.d = unlift (A.shape arr)-    (mh,mw,md) = (h `div` 2, w `div` 2, d `div` 2)+        in index3 (z A.<* md ? (z + md, z - md))+                  (y A.<* mh ? (y + mh, y - mh))+                  (x A.<* mw ? (x + mw, x - mw))+    Z:.h:.w:.d   = unlift (A.shape arr)+    (mh,mw,md)   = (h `div` 2, w `div` 2, d `div` 2)     index3 i j k = lift (Z:.i:.j:.k) 
Data/Array/Accelerate/Math/DFT/Roots.hs view
@@ -1,7 +1,8 @@ {-# LANGUAGE TypeOperators #-} -- | -- Module      : Data.Array.Accelerate.Math.DFT.Roots--- Copyright   : [2012] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell+-- Copyright   : [2012..2014] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell+--               [2013..2014] Robert Clifton-Everest -- License     : BSD3 -- -- Maintainer  : Manuel M T Chakravarty <chak@cse.unsw.edu.au>
Data/Array/Accelerate/Math/FFT.hs view
@@ -8,7 +8,8 @@ {-# LANGUAGE ViewPatterns             #-} -- | -- Module      : Data.Array.Accelerate.Math.FFT--- Copyright   : [2012..2013] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell, Robert Clifton-Everest+-- Copyright   : [2012..2013] Manuel M T Chakravarty, Gabriele Keller, Trevor L. McDonell+--               [2013..2014] Robert Clifton-Everest -- License     : BSD3 -- -- Maintainer  : Manuel M T Chakravarty <chak@cse.unsw.edu.au>@@ -31,7 +32,6 @@  ) where -import Prelude                                  as P import Data.Array.Accelerate                    as A import Data.Array.Accelerate.Array.Sugar        ( showShape ) import Data.Array.Accelerate.Data.Complex@@ -45,10 +45,12 @@ import System.Mem.Weak import System.IO.Unsafe import Foreign.CUDA.FFT-import qualified Foreign.CUDA.Driver            as CUDA hiding (free)+import qualified Foreign.CUDA.Types             as CUDA+import qualified Foreign.CUDA.Driver            as CUDA #endif  import Data.Bits+import Prelude                                  as P  data Mode = Forward | Reverse | Inverse   deriving (Eq, Show)@@ -301,14 +303,16 @@         pure        = interleave . p . deinterleave sh         sign        = signOfMode mode :: Int -        foreignFFT :: Array DIM1 e -> CIO (Array DIM1 e)-        foreignFFT arr' = do+        foreignFFT :: CUDA.Stream -> Array DIM1 e -> CIO (Array DIM1 e)+        foreignFFT stream arr' = do           output <- allocateArray (S.shape arr')           iptr   <- floatingDevicePtr arr'           optr   <- floatingDevicePtr output            --Execute-          liftIO $ execute iptr optr+          liftIO $ do+            setStream hndl stream+            execute iptr optr            return output @@ -345,7 +349,7 @@     in     generate (lift (sh :. n+m))              (\ix -> let sz :. i = unlift ix :: Exp sh :. Exp Int-                     in  i <* n ? (xs ! lift (sz:.i), ys ! lift (sz:.i-n) ))+                     in  i A.<* n ? (xs ! lift (sz:.i), ys ! lift (sz:.i-n) ))   #ifdef ACCELERATE_CUDA_BACKEND
accelerate-fft.cabal view
@@ -1,7 +1,7 @@ Name:                   accelerate-fft-Version:                0.15.0.0+Version:                0.15.1.0 Cabal-version:          >= 1.6-Tested-with:            GHC >= 7.6+Tested-with:            GHC >= 7.8 Build-type:             Simple  Synopsis:               FFT using the Accelerate library@@ -26,13 +26,12 @@ Stability:              Experimental  Flag cuda-  Description:          Enable support for using CUFFT via the CUDA backend's-                        FFI+  Description:          Enable support for using CUFFT via the CUDA backend's FFI   Default:              True  Library   Build-depends:        accelerate              == 0.15.*,-                        base                    >= 4.6 && < 4.8+                        base                    >= 4.7 && < 4.9    Exposed-modules:      Data.Array.Accelerate.Math.FFT                         Data.Array.Accelerate.Math.DFT@@ -45,7 +44,7 @@     CPP-options:        -DACCELERATE_CUDA_BACKEND     Build-depends:      accelerate-cuda         == 0.15.*,                         cuda                    >= 0.5,-                        cufft                   >= 0.1+                        cufft                   >= 0.1.2    -- Don't add the extensions list here. Instead, place individual LANGUAGE   -- pragmas in the files that require a specific extension. This means the@@ -53,7 +52,9 @@   --   -- Extensions: -Source-repository head-  Type:                 git-  Location:             git://github.com/AccelerateHS/accelerate-fft.git+Source-repository this+  type:                 git+  location:             git://github.com/AccelerateHS/accelerate-fft.git+  branch:               release/0.15+  tag:                  0.15.1.0