NEXT_FEELING 2021-04-21 15:17 采纳率: 0%
浏览 50
已结题

openMP 实现floyd

    for(int k = 0;k < n;++k)
     {
         for(int i = 0;i < n;++i)
         {
             for(int j = 0;j < n;++j)
             {
                 if(dis[i][j] > dis[i][k] + dis[k][j])
                 {
                     dis[i][j] = dis[i][k] + dis[k][j];
                     path[i][j] = path[k][j];
                 }
             }
         }
     }

这个怎么并行,因为有数据依赖,parallel for并不能提高效率

  • 写回答

4条回答 默认 最新

  • 关注

    并行是什么意思?for循环是不能并行的。要并行只能用线程。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月26日