我希望使用OpenMP并行遍历std :: multimap中的所有元素。
我尝试使用g ++ - 7(7.2.0)和icpc(18.0.0 20170811)编译以下代码,但都失败了。
这可能吗?如果是这样,我如何使用OpenMP在C ++ std :: multimap中并行化for循环?
#include <map>
#include <omp.h>
int main() {
std::multimap<int,int> myMultimap;
for (int i = 0; i < 10; ++i){
myMultimap.insert(std::make_pair(i,i+1)); // create dummy contents
}
std::multimap<int, int>::const_iterator itr;
#pragma omp parallel for private (itr)
for (itr = myMultimap.cbegin(); itr != myMultimap.cend(); ++itr) {
// do something here
}
return 0;
}