一次填充2D加速阵列一行

时间:2018-09-27 10:48:48

标签: haskell accelerate-haskell

λ> import Data.Array.Accelerate
λ> import Data.Array.Accelerate.Interpreter (run)

假设您有一个2D加速阵列:

λ> :t arr
arr :: Acc (Array DIM2 Int)
λ> run $ unit $ shape arr
Scalar Z [Z :. 4 :. 3]

和长度为4(与arr的列数相同)的一维加速向量:

λ> :t vec
vec :: Acc (Array DIM1 Int)
λ> run $ unit $ shape vec
Scalar Z [Z :. 4]

以及从标量到长度为3的向量的函数:

expand :: Exp Int -> Acc (Array DIM1 Int)

如何通过在arr上映射expand来填充vec

map中的常规Prelude在加速阵列上不起作用。 map中的Data.Array.Accelerate仅在元素之间映射。

0 个答案:

没有答案