有关矢量化树操作的一般提示/指示是什么?内存布局明智,算法明智等
某些特定领域的内容:
答案 0 :(得分:7)
请注意,这很难实现。去年,英特尔,甲骨文和加州大学圣地亚哥分校的团队提出了一个惊人的解决方案"FAST: Fast Architecture Sensitive Tree Search on Modern CPUs and GPUs"。他们赢了"Best Paper Award 2010" by ACM SIGMOD。
答案 1 :(得分:2)
由于树木的随机特性,矢量化步行对你来说是一个很大的优势并不是很明显。
我会将树放置为(parentid,节点数据)“节点”项目的平面数组,按parentid排序,因此您至少可以一起访问节点的子节点。当然,如果你的树不是“胖子”(即一个节点的平均孩子数量很少),这并没有给你太多。
你最好的选择当然只是强调SIMD的蛮力,因为你真的无法使用这个API在你的列表中进行花哨的随机跳转。
编辑:我不会抛弃你最常见的普通树类,实施SIMD方式,看看你是否真的获得了任何东西,我不相信你会...
答案 2 :(得分:0)
使用谱图理论算法怎么样?它们应该很容易矢量化,因为它们处理矩阵。