我有這個找到最小和最大長度的循環,你可以看到我在查看OpenMP時有兩個值在這裏減少,我只能注意到它只提供了一個值的減少技巧。openmp reduce技術
for (size_t i = 0; i < m_patterns.size(); ++i)
{// start for loop
if (m_patterns[i].size() < m_lmin)
m_lmin = m_patterns[i].size();
else if (m_patterns[i].size() > m_lmax)
m_lmax = m_patterns[i].size();
}// end for loop
我可以做以下
#pragma omp parallel for reduction (min:m_lmin,max:m_lmax)
,或者我應該重寫for循環兩個for循環一個最小和一個最大
另一個問題..我可以使用tbb容器,如OpenMP中的concurrent_vector
爲了您的另外一個問題,看看這裏:http://stackoverflow.com/questions/7683204/tbb-concurrent-vector-with-openmp – 2012-04-13 15:51:36