用 GPU 跑 FFT

遲早會有人把腦筋動到 GPU 強大的運算能力上 :p

這次是利用 的 GPU 弄出一個數學函示庫 ,利用 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 實際能應用的領域其實就小很多了...

2 thoughts on “用 GPU 跑 FFT”

  1. FFT在Brook裡面也有實作,一些paper也有做這方面的研究,不過做為FFT Library的話gamma LAB還是首創。
    GPU要跑到有一定的效能,起碼都要6600GT以上等級的GPU,其實就跟一顆P4 3.0G差不多價錢了,更不用說NV70等級以上動輒2萬塊的GPU。
    另外GPU要支援64 bits的話其實沒多大必要,因為誰會在乎一個點的RGBA用32 bits與64 bits表示精確度的差別?

Leave a Reply

Your email address will not be published. Required fields are marked *