CUDA上网格的高效拓扑数据结构?

时间:2013-06-01 11:45:06

标签: data-structures cuda mesh topology

在大学项目中,我的小组的任务是在CUDA上实施Mesh Based Surface Tracking。 为此,我们需要一个三角网格的拓扑数据结构 在CPU实现中,我会使用类似于半边缘或winged-edge数据结构的东西,但是在CUDA上,这导致随机跳过全局内存,这非常慢。 网格拓扑将经常变化,因此数据结构也需要能够动态变化。

是否有满足这些要求的CUDA数据结构?

1 个答案:

答案 0 :(得分:1)

不是专门针对CUDA,而是this blog post谈论如何实施托管的“#”矢量'半边数据结构。 这基本上只是用向量实现的半边数据结构,但是向量缓冲区中未使用的元素被标记为“死”,并且这些死对象以自由列表的形式链接在一起。在需要时很容易找到并重用死表项。 空闲列表使您可以避免元素节点的一般内存分配,以及它全部被托管的事实。在向量中确保东西保存在内存附近。