我在Windows 8上使用C++ AMP與Visual Studio 2012.我有一個案例,我有2D array_view,experimentData
和1D array_view,experimentFactors
。我想遍歷2D array_view的第一維和1D array_view的1維。這就是我所擁有的,但我經常得到錯誤,表示這裏沒有重載。我想要迭代第一維的numberOfTests
。我想要行:C++ AMP遍歷不同尺寸的array_views
auto test = experimentData[idx];
返回整行數據。我認爲array_view
上的section
方法是做到這一點的方法,但我無法弄清楚。
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);
});
的test
對象應該是experimentData
array_view
一個1×N個部分。 factors
對象應該是來自experimentFactors
array_view
的單個項目。
澄清
的experimentData
的array_view具有M行和N列
的experimentFactors
的array_view具有M行
每個的大小是多少?它是MxN和M,還是MxN和M * N? – Borgleader
experimentData是MxN,experimentFactors是M –
爲什麼從矩陣中提取整行?爲什麼不反過來呢? – Borgleader