【发布时间】:2012-04-27 06:48:24
【问题描述】:
我正在尝试使用 openmp 并行化 Guibas Stolfi delaunay triangulation。
这里有两件事要并行化- mergesort(),我做到了 我被卡住的 divide() 。 我已经尝试了所有可能的方法,但都是徒劳的。
divide() 中遵循的方法(除n 征服)与mergesort() 相同,但应用相同的并行化技术(omp 部分)仅适用于mergesort。
我尝试了parallelization technique shown here,但即使这样也不起作用。 我在某处读到了嵌套并行性,但我不确定如何实现它。 谁能解释分治算法是如何并行化的?
代码:在主函数和应用部分构造中调用了两次归并排序。对除法执行相同操作不起作用
#pragma omp parallel
{
#pragma omp sections nowait
{
#pragma omp section
{
merge_sort(p_sorted, p_temp, 0, n/2);
}
#pragma omp section
{
merge_sort(p_sorted, p_temp, (n/2)+1, n-1);
}
}
}
【问题讨论】:
-
查找完整代码:-pastebin.com/4nxbAts7
标签: parallel-processing openmp triangulation delaunay divide-and-conquer