sách gpt4 ai đã đi

openmp - OpenMP 中的循环顺序 折叠性能建议

In lại 作者:行者123 更新时间:2023-12-02 01:24:26 27 4
mua khóa gpt4 Nike

我找到了 Intel's performance suggestion on Xeon Phi关于 OpenMP 中的 Collapse 子句。

#pragma omp parallel for collapse(2) 
for (i = 0; i < imax; i++) {
for (j = 0; j < jmax; j++) a[ j + jmax*i] = 1.;
}

Modified example for better performance:

#pragma omp parallel for collapse(2) 
for (i = 0; i < imax; i++) {
for (j = 0; j < jmax; j++) a[ k++] = 1.;
}

我使用 GFortran 4.8 在常规 CPU 上使用类似代码在 Fortran 中测试了这两种情况,它们都得到了正确的结果。 对于 GFortran5.2.0 和 Intel 14.0,使用类似 Fortran 代码和更高版本代码的测试未通过

但据我了解,OpenMP 的循环体应该避免“循环序列相关”变量,对于这种情况是 k,所以为什么在后面的情况下它可以得到正确的结果甚至更好的性能?

1 Câu trả lời

这是使用 sụp đổ 子句时两种方法的等效代码。你可以看到第二个更好。

for(int k=0; k
int i = k / jmax;
int j = k % jmax;
a[j + jmax*i]=1.;
}

for(int k=0; k
a[k]=1.;
}

关于openmp - OpenMP 中的循环顺序 折叠性能建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37958151/

27 4 0
Bài viết được đề xuất: Gnuplot BibTeX 引文
Bài viết được đề xuất: java - 如何从 ResponseEntity 中提取对象列表?
Bài viết được đề xuất: java - 如何解决时间戳java + firestore问题?
Bài viết được đề xuất: api - 如何添加更多数据以存储在 jenkins rest api 中
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com