我是 Microsoft.Accelerator 的新手。看看下面的代码(它是 F#,但它类似于 C#):
type FPA = Microsoft.ParallelArrays.FloatParallelArray
let fi = List.init 9 (fun i -> new FPA(i, [|10;10|]))
let process (fi: FPA list) : FPA list = fi // complicated function
let newfi = process fi
let target = new DX9Target()
for newf in newfi do printfn "%A" (target.toArray2D(newf))
基本上,我创建了一个 FPA 列表并以生成的 newfi 列表中的每个元素都依赖于 fi 列表中的所有元素的方式对其进行处理。最后我想得到结果 fi 列表。我的问题是:我应该为结果 FPA 列表中的每个元素 (FPA) 调用 toArray2D 吗?在我看来,每次调用 toArray2D 时都会运行整个计算,这非常耗时。
谢谢您的帮助。奥尔德里奇