Windows 8 の Visual Studio 2012 で C++ AMP を使用していexperimentDataますexperimentFactors。2D array_view の最初の次元と 1D array_view の 1 次元を反復処理したいと考えています。これは私が持っているものですが、これにはオーバーロードがないというエラーが常に発生します。numberOfTests最初の次元であるを反復処理したいと考えています。私は行が欲しいです:
auto test = experimentData[idx];
データの行全体を返します。の方法はこれを行う方法だと思いますが、section方法array_viewがわかりません。
array_view<int_2, 2> experimentData(numberOfTests, numberOfSolutions, initialConditionSet);
array_view<float_2, 1> experimentFactors(numberOfTests, factorData);
extent<1> e_size(numberOfTests);
parallel_for_each(e_size, [=] (index<1> idx) restrict(amp) {
auto test = experimentData.section(idx);
auto factors = experimentFactors[idx];
analysisAlgorithm(test, factors);
});
オブジェクトはのtest1xN セクションである必要がありますexperimentData array_view。オブジェクトは からのfactors1 つのアイテムである必要がありますexperimentFactors array_view。
明確化
array_viewexperimentDataには M 行と N 列があります
array_viewexperimentFactorsには M 行があります