鑑於3D中數千個點的集合,我需要獲取落在某個截斷值(根據歐幾里德距離)內的每個粒子的鄰居列表,並且如果可能的話,從最近的fo最遠排序。用於計算鄰居列表的最佳GPU算法
這是CUDA或OpenCL語言中用於此目的最快的GPU算法嗎?
鑑於3D中數千個點的集合,我需要獲取落在某個截斷值(根據歐幾里德距離)內的每個粒子的鄰居列表,並且如果可能的話,從最近的fo最遠排序。用於計算鄰居列表的最佳GPU算法
這是CUDA或OpenCL語言中用於此目的最快的GPU算法嗎?
我知道的最快的GPU MD代碼之一HALMD使用了與CUDA SDK examples「粒子」中使用的相同類型的方法(高度優化的版本)。 HALMD紙和粒子whitepaper都寫得很清楚。下劃線算法是將粒子分配到截止半徑大小的分箱中,根據該分數進行基數分類,然後查看相鄰分箱中的粒子。
這真的很酷,因爲這篇論文真的很好解釋,所有的功能和東西都已經在庫中實現了! – flow
CUDA和OpenCL不是算法,它們是允許您編程GPU的技術。
它們中的任何一個都非常適合解決您的問題。如果我是你,我會去了解一下源代碼示例感覺怎麼樣使用這些技術編寫程序,然後選擇一個實現算法你感興趣的內容。
我知道,我只是沒有正確表示 – flow
Fast k Nearest Neighbor Search using GPU
我沒有測試過,用它,什麼都沒有。我只是google搜索併發布了我找到的第一個鏈接。
我認爲你誤解了CUDA和OpenCL是什麼。 –
我改寫了這個問題 – flow
所有粒子的截止值是否相同? –