2012-07-09 53 views

回答

2

這是在這裏提供的一個較晚的答案,用於從未答覆的列表中刪除此問題。

如所提到的OP中,CUDA的SDK提供了一個三維有限差分時域(FDTD)解算器和該解算器的描述在紙張

P. Micikevicius, "3D Finite Difference Computation on GPUs using CUDA"

的代碼已經優化提供特斯拉卡,並使用共享內存加載3D計算域的切片,以實現快速模板評估(減少讀冗餘)。代碼不爲電磁應用爲更新規則如下:

enter image description here

但它可以被容易地擴展到電磁學。在這方面實現用於電磁三維FDTD代碼,並採取特別注意模版計算效率良好的參考如下:

V. Demir, A.Z. Elsherbeni, "Compute Unified Device Architecture (CUDA) Based Finite- Difference Time-Domain (FDTD) Implementation", Appl. Comput. Electromagn. Soc. J., vol. 25, n. 4, pp. 303-314, Apr. 2010

這也提供了關於有效模版計算的詳細討論。電磁場是矢量場,在這種情況下,上述更新方程由電場和磁場三個分量的六個方程代替。例如,對於x -component磁場的更新方程是

enter image description here

最後,應該提及的是,對於3D FDTD在CUDA討論另一個源是並行的ForAll博客,見

Finite Difference Methods in CUDA C/C++, Part 1

Finite Difference Methods in CUDA C++, Part 2

p.s.出現在此答案中的公式已通過使用mimetex生成。