并行程序算法,用MPI,OpenMP和CUDA查找矩阵中“隐藏”对象的数量

时间:2012-10-07 07:56:15

标签: parallel-processing cuda mpi openmp

对于我的学习,我需要编写一个有效的并行程序来查找在矩阵内给定时刻最大数量的其他对象不可见的对象。

主要特征:

  • 拥有3台电脑的MPI
  • OpenMP在每台PC上使用4个核心
  • 可选择CUDA

数据:

  • 将对象放置在大小为AxB的矩阵中。
  • 我有一个包含对象坐标及其时间戳的大文件。
  • 物体是飞行物,但速度是恒定的。

问题:

如果我从一个对象(C1)的单元格的中心绘制一条线到另一个对象(C3)的单元格的中心,并且该线与另一个对象(C2)的单元格相交,则表示:

  • C1看不到C3
  • C3看不到C1

problem

我的问题:

是否存在针对类似问题的已知算法(可能是图形中的某些问题),我可以查看解决方案吗?

感谢您的帮助。

更新:最终解决方案 https://github.com/anod/CriticalLevelCalculation

1 个答案:

答案 0 :(得分:0)

我认为解决方案是简单的数学。

  1. 取2分p1和p2。
  2. 找出他们的线性方程式。
  3. 与所有点进行比较,如果它们中的任何一个属于该等式并且在p1和2之间。
  4. 如果有一些要点,那么p1和p2还有一个投票是不可见
  5. 希望这可以帮到你。