在HPC工作负载中是否使用二进制搜索树?
我知道在许多高性能计算应用程序中,quad-trees和oct-trees被用来表示2D和3D空间。例如,Barnes-Hut algorithm使用oct-trees。在CFD应用程序中使用Quad-trees。但是我找不到任何使用BST或BST并行/并发版本的工作负载
发布于 2014-05-03 12:11:30
是否在高性能计算工作负载中使用二进制搜索树?
是的,就像许多其他的基本数据结构一样。
BST只是图的特殊变体,所以它们可以并行化。最复杂的部分是当树有很多变化(不平衡的BST仍然是BST)并且处理器数量很高时重新平衡树。并不是所有的集群都同样适合图形任务,PGAS environments可能更好。
例如,BST的一些并行实现和HPC库中使用的一些BST:
shown
的MonteCarlo是TMVA4中的BST,它是ROOT library的一部分,用于欧洲核子研究组织:https://webgrn0001.llnl.gov/prepress/WECOBA07.PDF格式库的http://root.cern.ch/root/htmldoc/TMVA__BinarySearchTree.html - 4.2在内部将BST用于“磁盘上的indexing...chunks”:
https://stackoverflow.com/questions/23210020
复制相似问题