是否有任何通用FFT庫可用於使用OpenCL在GPU上運行?據我所知,蘋果示例代碼是兩個冪的OpenCL FFT是唯一可用的代碼?用於GPU的OpenCL FFT庫?
對於非冪次冪變換大小是否存在這樣的庫?如果不是,修改Apple OpenCL示例有多簡單或困難?
我正在研究圖像處理應用程序,使用非功率爲2的變換尺寸,我將不得不做一大堆FFT,一個批量的FFT。
是否有任何通用FFT庫可用於使用OpenCL在GPU上運行?據我所知,蘋果示例代碼是兩個冪的OpenCL FFT是唯一可用的代碼?用於GPU的OpenCL FFT庫?
對於非冪次冪變換大小是否存在這樣的庫?如果不是,修改Apple OpenCL示例有多簡單或困難?
我正在研究圖像處理應用程序,使用非功率爲2的變換尺寸,我將不得不做一大堆FFT,一個批量的FFT。
我知道目前正在開發的OpenCL FFT庫, 但他們不打算在第一版中具有非冪次冪變換大小。
你能提供關於你的應用程序的任何信息嗎?如果這是許多人可以使用的功能,那麼可以幫助優先考慮該功能。
您可以從SHOC benchmark suite下載一些OpenCL代碼示例,包括FFT。
OpenMM(https://simtk.org/home/openmm)包含OpenCL的3D FFT。它可能不適用於您,因爲它是爲特定情況設計的:3D FFT,其中每個維度都足夠小以存儲在本地內存(例如100x100x100網格)中。但它確實支持非二次冪的大小(基數2,3,4和5),所以你可能會適應它。
看看APPML-FFT庫。雖然它仍然是兩次變革的權力。
可以使用空填充使任意長度的數據適合二次冪的FFT算法。考慮一下,如果這將適合你的應用程序。 增加採樣數減少了輸出域的「步長」,這意味着更高的輸出分辨率。
嘗試AMD開發的clFFT。它針對AMD顯卡,但也應該在nVidia GPU上工作。它可以以2,3和5的基數(以及其組合)轉換數組。
https://github.com/clMathLibraries/clFFT
有可用的
不錯,現在它也支持基數7,11和13。 – marcin 2016-05-20 12:52:08
你會分享哪些圖書館是這樣嗎? – rotoglup 2013-09-13 19:14:48
@rotoglup我上面的評論是指AMD的clAmdFft庫。幾年前,我參與了1.0版本的發佈,它不支持2的非功率,但是我看到隨後的發佈增加了一些其他主要因素。 http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-math-libraries/ – 2013-09-16 13:19:36