インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

coarray、Qcoarray

Co-Array 機能を有効にします。

構文

Linux*:

-coarray[=keyword]

macOS*:

なし

Windows*:

/Qcoarray[:keyword]

引数

keyword

Co-Array が実装されるメモリーシステムを指定します。設定可能な値は以下のとおりです。

shared

共有メモリーシステム。これはデフォルトです。

distributed

分散メモリーシステム。

coprocessor

image 1 はホスト・プロセッサーで実行され、ほかのイメージはホスト・プロセッサーまたはインテル® MIC アーキテクチャー・ベースのプロセッサーで実行される設定を示します。設定ファイルを使用して、イメージを実行する場所 (ホスト・プロセッサーで実行するイメージの数とインテル® MIC アーキテクチャー・ベースのプロセッサーで実行するイメージの数) を指定します。実行ファイルには、自身を NUM_IMAGES() 回複製するコードが含まれ、最終的に実行イメージは NUM_IMAGES()+1 個になります。この設定は、インテル® 64 アーキテクチャー・ベースの Linux* システムでのみ利用できます。

この設定を使用するには、-coarray-config-file オプションも指定する必要があります。

single

イメージに自身を複製するコードが含まれない設定を示します。実行ファイルには、1 つの実行イメージが含まれます。この設定は、イメージ間の処理はありませんが、デバッグに役立ちます。

デフォルト

オフ

Co-Array は、このオプションを指定しないと有効になりません。

説明

このオプションは、Fortran 2008 標準の Co-Array 機能を有効にします。プログラムの Co-Array 構文を有効にします。このオプションが指定されない場合、Co-Array 構文は拒否されます。

また、適切なライブラリーにリンクして、適切な実行ファイルを作成するようドライバーに指示します。

1 つの keyword のみ指定できます。2 つ以上の keyword を指定すると、最後に指定したものが有効になります。ただし、keyword single を指定すると、コマンドラインのどこで指定したかに関係なく、常に有効になります。

インテル® MIC アーキテクチャーをターゲットとする場合、Linux* 構文のみ指定することができます。Windows* ホスト上のコンパイルで Co-Arrays を有効にするには、/Qoffload-option,mic,compiler,-coarray を指定して、コンパイルに Linux* オプションを渡す必要があります。

[Q]coarray-num-images オプションを指定して、Co-Array 実行ファイルの実行に使用するイメージのデフォルトの数を指定できます。このオプションを指定しない場合は、現在のシステムの実行単位の数が取得されます。

[Q]coarray-config-file オプションを指定して、メッセージ・パッシング・インターフェース (MPI) 構成ファイルの名前を指定できます。

[Q]coarray-num-images オプションと [Q]coarray-config-file オプションは、すべての keyword 値で有効です。

IDE オプション

Visual Studio*: [Language (言語)] > [Enable Coarrays (Co-Array を有効にする)]

Eclipse*: なし

Xcode*: なし

代替オプション

なし

次のコマンドは、n イメージを使用して、共有メモリーで Co-Array プログラムを実行します。

/Qcoarray /Qcoarray-num-images:n          ! Windows* 
-coarray -coarray-num-images=n            ! Linux*

次のコマンドは、n イメージを使用して、分散メモリーで Co-Array プログラムを実行します。

/Qcoarray:distributed /Qcoarray-num-images:n          ! Windows*
-coarray=distributed -coarray-num-images=n            ! Linux*

次のコマンドは、filename で指定された MPI 構成を使用して、共有メモリーで Co-Array プログラムを実行します。

/Qcoarray:shared /Qcoarray-config-file:filename        ! Windows*
-coarray=shared -coarray-config-file=filename          ! Linux*

以下に、それぞれのコマンド例で有効になる keyword を示します。

Linux*:

-coarray=coprocessor -coarray=shared          ! shared を優先 (最後に指定されたもの)
-coarray=single -coarray=shared               ! single を優先 (single を常に優先)

Windows*:

/Qcoarray:distributed /Qcoarray:shared        ! shared を優先 (最後に指定されたもの)
/Qcoarray:single /Qcoarray:shared             ! single を優先 (single を常に優先)

関連情報