2011-07-18 97 views
2

鑑於3D中數千個點的集合,我需要獲取落在某個截斷值(根據歐幾里德距離)內的每個粒子的鄰居列表,並且如果可能的話,從最近的fo最遠排序。用於計算鄰居列表的最佳GPU算法

這是CUDA或OpenCL語言中用於此目的最快的GPU算法嗎?

+1

我認爲你誤解了CUDA和OpenCL是什麼。 –

+0

我改寫了這個問題 – flow

+0

所有粒子的截止值是否相同? –

回答

5

我知道的最快的GPU MD代碼之一HALMD使用了與CUDA SDK examples「粒子」中使用的相同類型的方法(高度優化的版本)。 HALMD紙和粒子whitepaper都寫得很清楚。下劃線算法是將粒子分配到截止半徑大小的分箱中,根據該分數進行基數分類,然後查看相鄰分箱中的粒子。

+0

這真的很酷,因爲這篇論文真的很好解釋,所有的功能和東西都已經在庫中實現了! – flow

1

CUDA和OpenCL不是算法,它們是允許您編程GPU的技術。

它們中的任何一個都非常適合解決您的問題。如果我是你,我會去了解一下源代碼示例感覺怎麼樣使用這些技術編寫程序,然後選擇一個實現算法你感興趣的內容。

+0

我知道,我只是沒有正確表示 – flow

0

Fast k Nearest Neighbor Search using GPU

我沒有測試過,用它,什麼都沒有。我只是google搜索併發布了我找到的第一個鏈接。

+0

它看起來很有趣,thnaks – flow

+1

源代碼的鏈接可在這裏:http://vincentfpgarcia.github.io/kNN- CUDA/ – Keith