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を呼び出すたびに計算全体が実行されるように見えますが、これには非常に時間がかかります。
ご協力ありがとうございました。オルドジフ