[問題] thread平行化處理 可加速?
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
OpenMP
小弟想利用openMP的section同時做2件相同的事
但是要使用不同的參數計算
以下為簡單的測試程式碼
start=clock();//計時
#pragma omp parallel sections
{
#pragma omp section
{
for(int i=0 ; i<100000 ; i++){
for(int j=0 ; j<10000 ; j++){
sum1=j+sum1;
}
}
}
#pragma omp section
{
for(int m=0 ; m<100000 ; m++){
for(int n=0 ; n<10000 ; n++){
sum2=n+sum2;
}
}
}
}
finish=clock();//結束時間
duration=(double)(finish-start)/CLOCKS_PER_SEC;//總時間
測試過後,運算時間為6秒,(偶爾2秒)
不使用openMP時,卻只要4秒,
桌電的CPU是i7-2600 4核,有支援Hyper-threading
請問一下,平行化處理不保證縮短計算時間嗎?
還是測試程式有錯?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.149.49
推
04/26 16:56, , 1F
04/26 16:56, 1F
→
04/26 16:57, , 2F
04/26 16:57, 2F
→
04/26 17:14, , 3F
04/26 17:14, 3F
→
04/26 17:14, , 4F
04/26 17:14, 4F
→
04/26 17:22, , 5F
04/26 17:22, 5F
推
04/26 18:02, , 6F
04/26 18:02, 6F
推
04/26 18:02, , 7F
04/26 18:02, 7F
→
04/26 18:02, , 8F
04/26 18:02, 8F
→
04/26 18:03, , 9F
04/26 18:03, 9F
→
04/26 18:05, , 10F
04/26 18:05, 10F