小编axe*_*xel的帖子

迭代器 openMP 的循环

我使用 OpenMP 并行化我的代码。我尝试使用两个迭代器并行化循环。我想知道我的实现是否是并行化此顺序代码的最佳方法:

#include <iostream>
#include <vector>
#include <omp.h>

using namespace std;

int main(int argc, char *argv[])
{
  vector<float> v = {1, 2, 3, 4};
  vector<float> d = {0, 0, 0, 0};   
  vector<float>::iterator iterV, iterD; 

  for(iterV = v.begin(), iterD = d.begin(); iterV < v.end(); ++iterV, ++iterD)
    {
      *iterD =  *iterV; 
    }


  for(iterD = d.begin(); iterD < d.end(); ++iterD)
    cout << *iterD << endl;  

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的这段代码的并行版本:

#include <iostream>
#include <vector>
#include <omp.h>

using namespace std;

int main(int argc, char …
Run Code Online (Sandbox Code Playgroud)

c++ iterator loops openmp

5
推荐指数
1
解决办法
7089
查看次数

标签 统计

c++ ×1

iterator ×1

loops ×1

openmp ×1