2011-06-25 38 views
1

如何使用CUFFT庫(來自NVIDIA的CUDA SDK 4.0.13),這是據我所知只有C綁定,在寫Fortran 90的程序(使用gfortran從GNU編譯器4.4保藏中心進行編譯。 5)?如何使用Fortran 90中的CUFFT?

我對1d和2d FFT計算感興趣。

回答

2

您需要一個C源文件作爲委託,它遵循一個特殊的命名機制,可以從Fortran中調用函數。在委託函數中,您可以調用CudaFFT函數。

詳細信息可以在這裏找到:

http://www.yolinux.com/TUTORIALS/LinuxTutorialMixingFortranAndC.html

+0

那教程是關於年長** Fortran 77的**。我具體詢問**具有'interface'關鍵字和'iso_c_binding'模塊的Fortran 90 **。 –

+2

@Jakub:''iso_c_binding'模塊在fortran 2003之前並沒有被引入。你明確指定了fortran 90.如果你是項目允許你使用'iso_c_binding',那肯定是要走的路,因爲你知道這個,所以我不明白你的問題的重點;答案很簡單(正如你已經知道的)'使用'iso_c_binding''。 – eriktous

+0

我剛剛開始使用新的Fortran特性(之前我使用過Fortran 77),所以我不知道'iso_c_binding'和'bind(C,name ='foo')'是Fortran 2003特性。 –