2012-08-24 95 views
4

我一直在瀏覽簡單的方法來編程FFT以在我的圖形卡上工作(這是最近NVIDIA支持的CUDA 3.s​​omething)。 我目前的選擇是學習C語言,然後是CUDA的特殊C語言版本,或者使用一些Python CUDA函數。我寧願不學習C,因爲我只用高級語言編程。 我看了pyCUDA和其他方式來使用我的圖形卡在Python中,但我找不到任何FFT庫只能用於Python代碼。有些圖書館/項目似乎在處理類似的項目(CUDAmat,Theano),但遺憾的是我沒有發現FFT。使用CUDA或OpenCL的python中的多維FFT

是否存在可以使用我的圖形卡執行與numpy.fft.fft2()相同的功能的功能?

編輯:一個開源解決方案的獎金點。

回答

3

是的,ArrayFire有一個2-D FFT for Python

聲明:我致力於ArrayFire。

+0

哇!這看起來非常好,我一定會嘗試一下。 我在這個庫中看到的唯一問題(抱歉在提問中沒有提及它)是因爲它不是開源的。我從天體物理學專用語言切換到Python的主要原因是因爲我離開大學後可以繼續使用它。 我會檢查免費許可證的限制,但它似乎是我正在尋找的! – PhilMacKay

+0

Free for single GPU usage,http://www.accelereyes.com/products/arrayfire_licensing – arrayfire

+0

ArrayFire不再具有Python接口。 – PhilMacKay

4

還有PyFFT,這是open-source和基於蘋果(有點有限)implementation。免責聲明:我工作在PyFFT :)

+0

我會盡快檢查一下! – PhilMacKay

+1

你也可以看看[reikna](https://github.com/Manticore/reikna),它是開發中的GPGPU算法的集合,幷包含略微改進的''pyfft''代碼以及其他功能。 – fjarri