用于计算邻居列表的最佳GPU算法 [英] Best GPU algorithm for calculating lists of neighbours

查看:189
本文介绍了用于计算邻居列表的最佳GPU算法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给定3D中的数千个点的集合,我需要得到每个粒子的邻域的列表,其落入某个截止值(就欧几里得距离而言),并且如果可能的话,从最近的f距离排序。

Given a collection of thousands of points in 3D, I need to get the list of neighbours for each particle that fall inside some cutoff value (in terms of euclidean distance), and if possible, sorted from nearest fo farthest.

在CUDA或OpenCL语言中,这是最快的GPU算法吗?

Which is the fastest GPU algorithm for this purpose in the CUDA or OpenCL languages?

推荐答案

我知道的最快的GPU MD代码之一, HALMD ,使用了与 CUDA SDK示例,粒子。 HALMD论文和粒子白皮书都非常清楚。下划线算法是将粒子分配到截止半径大小的仓中,基于该索引进行基数排序,然后查看相邻仓中的粒子。

One of the fastest GPU MD codes I'm aware of, HALMD, uses a (highly tuned) version of the same sort of approach that is used in the CUDA SDK examples, "Particles". Both the HALMD paper and the Particles whitepaper are very clearly written. The underling algorithm is to assign particles into cutoff-radius-sized bins, do a radix sort based on that index, and then look at particles in the neighbouring bins.

这篇关于用于计算邻居列表的最佳GPU算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆