【发布时间】:2017-12-03 20:14:17
【问题描述】:
我用一些旧的 OpenMP 练习来练习一点,但我很难找到特别是 on 的解决方案。
目标是编写与依赖图对应的最简单的 OpenMP 代码。
图表在此处可见:http://imgur.com/a/8qkYb
第一个很简单。
对应如下代码:
#pragma omp parallel
{
#pragma omp simple
{
#pragma omp task
{
A1();
A2();
}
#pragma omp task
{
B1();
B2();
}
#pragma omp task
{
C1();
C2();
}
}
}
第二个还是很容易的。
#pragma omp parallel
{
#pragma omp simple
{
#pragma omp task
{
A1();
}
#pragma omp task
{
B1();
}
#pragma omp task
{
C1();
}
#pragma omp barrier
A2();
B2();
C2();
}
}
现在是最后一个…… 这让我很烦恼,因为所有函数调用的依赖项数量都不相等。我认为应该明确说明您应该等待哪个任务,但我在 OpenMP 文档中找不到我要查找的内容。
如果有人对这个问题有解释,我将非常感激,因为我已经考虑了一个多月了。
【问题讨论】:
标签: parallel-processing openmp dependency-graph