我想在openmp中更新一个共享向量,但是问题是它非常慢。我想知道一种从主机内存复制到设备内存的有效方法。像这样:
vector<int> v1(750000);
#pragma omp parallel shared (v1){
#pragma omp for schedule (auto)
for (int i = 0; i<v.size();i++)
v[i]=i;
//int x = vi[i] is faster;
}
次: 与访问v [i] = i平行的执行时间:6.84299秒
与仅读取v [i]平行的执行时间:0.0119577秒
IO执行时间(磁盘存储上的其他操作):0.352074秒
修改共享内存中的阵列比进行磁盘访问要慢...