0
λ> 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

常规mapfromPrelude不适用于加速阵列。mapfrom仅映射从Data.Array.Accelerate元素到元素。

4

0 回答 0