我希望将我的for循环转换为STL std::for_each循环。
bool CMyclass::SomeMember()
{
int ii;
for(int i=0;i<iR20;i++)
{
ii=indexR[i];
ishell=static_cast<int>(R[ii]/xStep);
theta=atan2(data->pPOS[ii*3+1], data->pPOS[ii*3]);
al2[ishell] += massp*cos(fm*theta);
}
}
实际上,我打算使用g++4.4中的并行STL。
g++ -D_GLIBCXX_PARALLEL -fopenmp
如果代码是使用标准STL库编写的,则可以在不更改代码的情况下并行运行代码。
#pragma omp parallel for
呢? - stephanal2[ishell]
的**+=**需要一个reduction子句或原子屏障。不确定这将如何转换为STL并行。 - peterchen