【问题标题】:Parallel delaunay triangulation平行德劳内三角剖分
【发布时间】: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);
}
}
}

【问题讨论】:

标签: parallel-processing openmp triangulation delaunay divide-and-conquer


【解决方案1】:

我在 Windows 中使用 CreateThread 调用成功地进行了并行化,诀窍是将点分成 2^n 个缓冲区,在单独的线程中处理每个缓冲区,然后连续合并相邻的边,直到最后一次合并。

我有一个演示程序来创建随机数据并三角测量和显示结果(对于较小的案例)。看起来这个站点不允许我下载我拥有的程序和显示工具的 .zip。如果您可以推荐一个上传网站或提供电子邮件,我会发送给您。

【讨论】:

  • 给我发邮件到 getanshub4u[AT]gmail[dot]com
猜你喜欢
  • 2020-05-12
  • 1970-01-01
  • 2012-05-06
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 2013-11-18
  • 2014-03-24
相关资源
最近更新 更多