我運行CUFFT分塊(N * N/P)分爲多個GPU,我有一個關於計算性能的問題。首先,介紹一下我是如何做的:CUFFT的性能計算
- 發送N * N/P塊每個GPU
- P中的GPU成批1-d FFT每一行
- 獲得N * N/P塊返回到主機 - 執行轉置上整個數據集
- 同上步驟1
- 同上步驟2
Gflops = (1e-9 * 5 * N * N *lg(N*N))/execution time
和執行時間的計算公式爲:
execution time = Sum(memcpyHtoD + kernel + memcpyDtoH times for row and col FFT for each GPU)
這是評估其對多GPU性能CUFFT正確的方法是什麼?有沒有其他方法可以表示FFT的性能?
謝謝。
這是一個真正的還是複雜的變換? – talonmies 2012-02-18 05:19:06
cufftZ2Z - 我是否正確地在執行時包含fft計劃創建和銷燬時間?如果我不包含它們,我會看到相當大的差異... – Sayan 2012-02-18 10:58:33
對此,沒有「正確的」答案。您應該準確報告您的時間安排。計劃創建可能包括惰性運行時API上下文建立。如果有的話,你可能不需要。我並不真的使用CUFFT,也不太瞭解其內部。 – talonmies 2012-02-18 11:28:04