_! 2022-05-31 22:06 采纳率: 20%
浏览 85
已结题

为什么下面用来openmp之后,时间并没有减少?

#include<bits/stdc++.h>
using namespace std;
#define large 1000
double a[large][large]={0.0};
double b[large][large]={0.0};
double c[large][large]={0.0};
int main(void){
#pragma omp parallel for num_threads(64)
for(int i=0;i<large;i++){
for(int j=0;j<large;j++){
a[i][j]=(double)rand()/(double)RAND_MAX;
b[i][j]=(double)rand()/(double)RAND_MAX;
}
}
clock_t start=clock();
#pragma omp parallel for num_threads(64)
for(int i=0;i<large;i++){
for(int j=0;j<large;j++){
for(int k=0;k<large;k++){
c[i][j]+=a[i][k]*b[k][j];
}
}
}
clock_t finish=clock();
cout<<(double)((finish-start)/1e6)<<endl;
return 0;
}

  • 写回答

3条回答 默认 最新

  • De-Chang Wang 2022-05-31 22:58
    关注
    获得0.75元问题酬金

    只对单层循环进行优化,嵌套的多层循环优化效果不佳,可转换为单层循环先

    评论

报告相同问题?

问题事件

  • 系统已结题 6月8日
  • 赞助了问题酬金5元 5月31日
  • 创建了问题 5月31日

悬赏问题

  • ¥15 C++识别堆叠物体异常
  • ¥15 音量自动减小啦!日历自动翻页
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
  • ¥15 GPT写作提示指令词
  • ¥20 如何在cst中建立这种螺旋扇叶结构
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥20 关于DAC输出1.000V对分辨率和精度的要求
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
  • ¥15 哪位能做百度地图导航触点播报?