最近剛了解一下openmp,寫了個對陣列元素求和的程式,但是運行后發現比串行求和還要慢,網上查了不少,五花八門的不知道根本原因,我的cpu是四核的
void parallel_sum()
{
std::vector<int> nums(1000);
for (int i = 1; i <= 1000; ++i)
nums[i - 1] = i;
int sum = 0;
#pragma omp parallel for reduction(+:sum)
for (int i = 0; i < 1000; ++i)
sum = sum + nums[i];
}
求教!
uj5u.com熱心網友回復:
不要共享記憶體地址。uj5u.com熱心網友回復:
是說sum嗎,為什么轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/98846.html
標籤:工具平臺和程序庫
上一篇:virtual judge上一道快速排序,我用c的程式,VS上正常運行,到virtual judge上就顯示Segmentation Fault,想問問怎么回事
