遲早會有人把腦筋動到 GPU 強大的運算能力上 :p
這次是利用 Nvidia 的 GPU 弄出一個數學函示庫 GPUFFTW,利用 GPU 計算 FFT 的基本運算加速:High performance FFT on GPUs。
在 Benchmark 中,透過 GPU 加速可以使得 FFT 整體的速度大約是純用 CPU 計算的四倍,但顯示卡的價錢卻只有 CPU 的 1/3。換句話說,把這類運算丟給 GPU 做,讓 CPU 計算其他的事情。
不過還是有些限制:
- 只有 32-bits (single-precision) float point 可以用,這是 GPU 所造成的限制,如果以後有 GPU 支援 64-bits 才有辦法支援上去。
- 只能跑 1-D FFT。
- 在科學計算上面還要考慮到「正確性」的問題:GPU 計算時可能會有誤差,在畫圖的時候差一些沒關係,但科學計算的時候是不被允許的...
所以這個 Math Library 實際能應用的領域其實就小很多了...
FFT在Brook裡面也有實作,一些paper也有做這方面的研究,不過做為FFT Library的話gamma LAB還是首創。
GPU要跑到有一定的效能,起碼都要6600GT以上等級的GPU,其實就跟一顆P4 3.0G差不多價錢了,更不用說NV70等級以上動輒2萬塊的GPU。
另外GPU要支援64 bits的話其實沒多大必要,因為誰會在乎一個點的RGBA用32 bits與64 bits表示精確度的差別?