2017-09-20 32 views
0

gfortranを使用して、MacのIntel MKLライブラリのmlk_vsl.f90を使用するコードをコンパイルします。gfortranでIntel MKLモジュールを使用するコードをコンパイルする

私は次のことをやっている:
gfortran -o filename filename.f90 -I/${MKLROOT}/include

をし、私はこのエラーを取得する:

"Can't open module file 'mkl_vsl_type.mod" for reading at (1): No such file or directory" 

私は.modファイルを作成する必要があることを知っているが、私はどのように確認していません。

+0

'.mod'ファイルを作成するインタフェースを含むMKLソースがありますか? – francescalus

+0

mkl_vsl.f90には何が含まれていますか?それは 'mkl_vsl_type'モジュールを含んでいますか? MKLの正確なリンク手順は、インテルWebサイトを参照してください。あなたはいくつかのオプションを選択することができ、サイトはあなたに正しいコマンドを与えるでしょう。 –

答えて

0

コンパイルのための適切なトラックがあります(追加の場合は-c)。いくつかの提案:

  1. (あなたのメインプログラムをコンパイルするときに自動的に作成.modファイル)を正しくmkl_vslモジュールをコンパイルするのgfortranを取得するために必要とされてみてください-fno-range-checkを追加し、
  2. MKLROOTのために設定されているものを知らない
  3. 、余分なバックスラッシュがあるかもしれません。試してみてください。-I${MKLROOT}/include

ただし、リンクするにはおそらく追加のライブラリが必要です。リンクする方法を調べる最も簡単な方法は、MKLROOTディレクトリmkl/examples/vslf/sourceにあるmkl_vslを使用するソースファイルを持つサンプルの1つを見ることです。 mkl/examples/vslfには、実行ファイルを生成してリンク行を出力するために実行できるmakefileがあります。詳細についてはmake helpを使用してください。たとえば、gfortranと静的リンクを使用してvslssort.fをコンパイルするには、make libintel64 compiler=gnu function=vslssort。リンク・ラインはlibmkl_gnu_thread.aの代わりにlibmkl_intel_thread.aを使用し、作成する.modファイルをリンクする前に作成しなければならない別のディレクトリに置くために-Jフラグを使用します。

関連する問題