2011-06-25 7 views
1

がどのようにFortran 90ので書かれたプログラムでは、私の知る限り唯一のCバインディングを持っている、(NVIDIAのCUDAのSDK 4.0.13から)CUFFTライブラリを使用する(GNUコンパイラのコスプレイ@ダイナミックセーラー4.4からgfortranを使用してコンパイルします。 5)?Fortran 90からCUFFTを使用するには?

私は1dと2dの両方のFFT計算に興味があります。

答えて

2

コール元フォームFortranにするための特別な命名規則に従うデリゲートとしてCソースファイルが必要です。デリゲート関数では、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の機能です。 –

関連する問題