Binding 如何使用Fortran 90中的CUFFT?
如何在用Fortran 90编写的程序中使用Cuft库(来自nVidia的CUDA SDK 4.0.13),据我所知,它只有C绑定(将使用GNU编译器第4.4.5节中的Binding 如何使用Fortran 90中的CUFFT?,binding,cuda,fortran,fft,fortran90,Binding,Cuda,Fortran,Fft,Fortran90,如何在用Fortran 90编写的程序中使用Cuft库(来自nVidia的CUDA SDK 4.0.13),据我所知,它只有C绑定(将使用GNU编译器第4.4.5节中的gfortran编译) 我对一维和二维FFT计算都感兴趣。您需要一个C源文件作为委托,该文件遵循一种特殊的命名机制,用于可从Fortran调用的函数。在委托函数中,调用CudaFFT函数 详情可在此找到: 该教程是关于旧版Fortran 77的。我特别询问了Fortran 90,它有接口关键字和iso_c_绑定模块。@Jakub:
gfortran
编译)
我对一维和二维FFT计算都感兴趣。您需要一个C源文件作为委托,该文件遵循一种特殊的命名机制,用于可从Fortran调用的函数。在委托函数中,调用CudaFFT函数 详情可在此找到:
该教程是关于旧版Fortran 77的。我特别询问了Fortran 90,它有
接口
关键字和iso_c_绑定
模块。@Jakub:Fortran 2003年才引入iso_c_绑定
模块。您明确指定了fortran 90。如果你的project允许你使用iso_c_binding
,那绝对是正确的选择,既然你知道这一点,我就不明白你问题的重点;答案很简单(你似乎已经知道)“使用iso__绑定
”。我刚刚开始使用新的Fortran功能(我以前使用过Fortran 77),所以我不知道iso__绑定
和bind(c,name='foo')
是Fortran 2003的功能。