24小时热门版块排行榜    

查看: 1320  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

swordshadow

金虫 (初入文坛)

[求助] 求助:openmp 单节点多核并行效率问题

有个fdtd的程序需要并行,但效率始终不高,程序结构很简单,类似
#pragma omp for collapse(2)       
for (int i = 0; i <= imax; i++ )        {       
      for (int j = 0; j <=jmax; j++ ) {
           for (int k = 0; k <= kmax; k++ )         {
       vx[j][k] += fdc_all[j][0][k]*( tauxx[j][k]-tauxx[i-1][j][k] )  
                 + fdc_all[j][1][k]*( tauxy[j+1][k]-tauxy[j][k])        
                 + fdc_all[j][2][k]*( tauxz[j][k+1]-tauxz[j][k] );
      ..........多个类似vx的结构
      }
   }
  }
程序计算花费时间很少,而内存读取操作花了绝大部分时间,这种情况如何优化程序才能提高并行效率?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

john737

新虫 (初入文坛)

【答案】应助回帖

不懂openmp,会不会是并行切换得太频繁,导致cache经常轮空,反而拖慢了?
5楼2012-12-22 23:06:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 swordshadow 的主题更新
信息提示
请填处理意见