【发布时间】:2015-10-22 13:22:43
【问题描述】:
我在 3D 空间 (x,y,z) 中有大量点,表示为 3 个浮点结构的数组。我还可以使用具有 CUDA 功能的强大显卡。我想要以下内容:
将数组中的点分成簇,使簇中的每个点到簇中至少一个其他点的最大欧几里德距离为 X。
这样做的“蛮力”方法当然是计算每个点与每个其他点之间的距离,查看是否有任何距离低于阈值 X,如果是,则将这些点标记为属于同一个集群。这是一个 O(n²) 算法。
这当然可以在 CUDA 中使用 n² 个线程并行完成,但有更好的方法吗?
【问题讨论】:
标签: algorithm parallel-processing