2011-06-25 36 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特性。 –