インテル® Fortran コンパイラー 14.0 ユーザー・リファレンス・ガイド

マルチスレッド・プログラムのコンパイルとリンク

Fortran ランタイム・ライブラリーを使用するマルチスレッド・アプリケーションをビルドするには、コマンドラインから threads コンパイラー・オプションを指定します。 Windows* システムでは、後述のように、Visual Studio* 統合開発環境 (IDE) を使用することもできます。

また、正しいライブラリー・ファイルとリンクする必要があります。(OpenMP* や Co-Array など、一部のライブラリーは常に動的にリンクされます。)

Linux* および OS X*

静的にリンクされたマルチスレッド・プログラムを作成するには、libifcoremt.a スタティック・ライブラリーとリンクします。

共有ライブラリーを使用するには、アプリケーションを libifcoremd.so (Linux*) または libifcoremd.dylib (OS X*) とリンクします。

コマンドラインからマルチスレッド・プログラムをコンパイルおよびリンクする方法:

  1. IA32ROOT 環境変数または IA64ROOT 環境変数に、ライブラリー・ファイルを含むディレクトリーが指定されていることを確認します。

  2. threads オプションを使用して、プログラムのコンパイルとリンクを行います。 次に例を示します。

    ifort -threads mythread.f90 

    確実にスレッドセーフ/再入可能なランタイム・ライブラリーがリンクされ、正しく初期化されるように、リンク段階およびメインルーチンのコンパイルで threads オプションを使用すべきです。

Windows*

静的にリンクされたマルチスレッド・プログラムを作成するには、再入可能な LIBIFCOREMT.LIB サポート・ライブラリーとリンクします。

共有ライブラリーを使用するには、アプリケーションを LIBIFCOREMD.LIB インポート・ライブラリーとリンクすることで参照される再入可能な LIBIFCOREMD.DLL 共有ライブラリーを使用します。

LIBIFCOREMT.LIB を使用してビルドされたプログラムが呼び出すダイナミック・リンク・ライブラリーは、Fortran ランタイム・ライブラリーのコードやデータを共有しません。 DLL を呼び出す場合、LIBIFCOREMD.LIB をリンクする必要があります。

追加情報:

/libs=dll オプションおよび /threads オプションは Fortran コンソール・プロジェクトでのみ使用できます。QuickWin アプリケーションでは使用できません。

Visual Studio* を使用してマルチスレッド・プログラムをコンパイルおよびリンクする方法:

  1. [File (ファイル)] > [New (新規作成)] > [Project (プロジェクト)] をクリックして新規プロジェクトを作成します。

  2. 左ペインから [Intel® Visual Fortran Projects (インテル® Visual Fortran プロジェクト)] をクリックして、インテル® Fortran プロジェクトの種類を表示します。

  3. ソースコードを含むファイルをプロジェクトに追加します。

  4. [Project (プロジェクト)] メニューから [Properties (プロパティ)] を選択します。

    プロジェクトの [Property Pages (プロパティ ページ)] ダイアログボックスが表示されます。

  5. [Fortran] フォルダーから [Libraries (ライブラリー)] カテゴリーを選択し、[Runtime Library (ランタイム・ライブラリー)][Multithreaded (マルチスレッド)] または [Multithread DLL (マルチスレッド DLL)] (または相当するデバッグバージョン) に設定します。

  6. [Build (ビルド)] メニューから [Build Solution (ソリューションのビルド)] を選択して、実行ファイルを作成します。

コマンドラインからマルチスレッド・プログラムをコンパイルおよびリンクする方法:

  1. LIB 環境変数に、ライブラリー・ファイルを含むディレクトリーが指定されていることを確認します。

  2. /threads オプションを使用して、プログラムのコンパイルとリンクを行います。 次に例を示します。

    ifort /threads mythread.f90

    確実にスレッドセーフ/再入可能なランタイム・ライブラリーがリンクされ、正しく初期化されるように、リンク段階およびメインルーチンのコンパイルで threads オプションを使用すべきです。


このヘルプトピックについてのフィードバックを送信