λ> 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
fromPrelude
不适用于加速阵列。map
from仅映射从Data.Array.Accelerate
元素到元素。