小编bla*_*ze9的帖子

在给定依赖图的情况下生成OpenMP代码

当您考虑到特定的依赖关系图时,我有一个关于如何生成OpenMP伪代码的问题.所以假设我们有这个特定的图:

依赖图

解决方案可能是这样的:

    #pragma omp parallel
    {
        #pragma omp single
        {
            A();
            #pragma omp task B();
            #pragma omp task C();
            D();
            #pragma omp taskwait
            #pragma omp task E();
            F();
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在的问题是,尽管上面的代码确实成功实现了重要的并行性,但是任务E必须等待任务D完成,任务F必须等待任务B完成,这根据图形不是必需的.

所以我的问题是,有人可以为我提供OpenMP伪代码,其中E不会等待D而F不会等待B给定的依赖图吗?

openmp dependency-graph

6
推荐指数
1
解决办法
154
查看次数

标签 统计

dependency-graph ×1

openmp ×1