これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドmpicxx.openmpiです。
プログラム:
NAME
mpicxx-MPI C ++ラッパーコンパイラを開きます
構文
mpicxx [-showme | -showme:compile | -showme:link]..。
OPTIONS
- 見せて
このオプションには、いくつかの異なるバリエーションがあります(以下を参照)。 バリアントはありません
基盤となるコンパイラを呼び出します。 それらはすべて、基礎となる方法に関する情報を提供します
コンパイラが呼び出されていたはずです - 見せて 使用されていません。 基本 - 見せて
オプションは、プログラムをコンパイルするために実行されるコマンドラインを出力します。
注: ファイル名以外の引数がコマンドラインで渡された場合、 -見せて オプション
意志 追加のフラグを表示します。 たとえば、「mpicxx--showme」と
「mpicxx--showmemy_source.c」は、ラッパーが提供するすべてのフラグを表示します。 しかし
「mpicxx--showme-v」は、基になるコンパイラ名と「-v」のみを表示します。
--showme:compile
C ++コンパイラに提供されたであろうコンパイラフラグを出力します。
--showme:link
C ++コンパイラに提供されたはずのリンカフラグを出力します。
--showme:command
基になるC ++コンパイラコマンド(XNUMXつ以上のトークンの場合があります)を出力します。
--showme:incdirs
スペースで区切られた(ただし、装飾されていない)ディレクトリのリストを出力します。
ラッパーコンパイラは、基礎となるC ++コンパイラに提供して
関連するヘッダーファイルが配置されている場所。
--showme:libdirs
スペースで区切られた(ただし、装飾されていない)ディレクトリのリストを出力します。
ラッパーコンパイラは、基になるリンカに提供して、場所を示します。
関連するライブラリがあります。
--showme:libs
スペースで区切られた(ただし、装飾されていない)ライブラリ名のリストを出力します。
ラッパーコンパイラは、アプリケーションをリンクするために使用します。 例: "mpi
open-rte open-palutil」。
--showme:version
OpenMPIのバージョン番号を出力します。
--showme:help
簡単な使用法のヘルプメッセージを出力します。
渡すことができる他のオプションについては、基盤となるC ++コンパイラのマニュアルページを参照してください。
mpicxxを介して。
DESCRIPTION
概念的には、これらのコマンドの役割は非常に単純です。関連性を透過的に追加します。
コンパイル/リンクに必要なユーザーのコマンドラインへのコンパイラおよびリンカフラグ
MPIプログラムを開き、基盤となるコンパイラを呼び出して実際に実行します。
そのため、これらのコマンドは、「ラッパー」コンパイラと呼ばれることがよくあります。
実際にアプリケーション自体をコンパイルまたはリンクするわけではありません。 コマンドラインフラグを追加するだけです
バックエンドコンパイラを呼び出します。
経歴
Open MPIは、OPAL(Open Portable Access Layer)、ORTEのXNUMXつのソフトウェアレイヤーで構成されています。
(Open Run-Time Environment)、およびOMPI(Open MPI)。 それぞれにラッパーコンパイラがあります
層; 各レイヤーのラッパーは、そのレイヤーに関連するライブラリ内のリンクのみをリンクします。
具体的には、各レイヤーは次のラッパーコンパイラを提供します。
OPAL
オパールcc opalc ++
PLACES
オルテック ortec ++
WIPO
ミピック, mpic ++, mpicxx, mpiCC (大文字と小文字を区別するファイルシステムを備えたシステムのみ)、および
いいえ (およびそのレガシー/非推奨の名前 mpif77 mpif90) ご了承ください mpic ++,
mpicxx, mpiCC すべてが同じオプションで同じ基礎となるC ++コンパイラを呼び出します。
これらはすべて、他のMPI実装との互換性として提供されています。
Fortran Notes
MPI用のFortranラッパーコンパイラ(いいえ、およびそのレガシー/非推奨の名前 mpif77
mpif90)MPIFortranのいずれか/すべてを使用するMPIアプリケーションをコンパイルおよびリンクできます
バインディング: mpif.h MPI モジュール、および mpi_f08 モジュール(OpenMPIがインストールされていると仮定)
これらのFortranバインディングのそれぞれをサポートしています)。 具体的には:それはもはや必要ありません
を使用するアプリケーションに異なるラッパーコンパイラを使用する mpif.h 対アプリケーション
使用 MPI モジュール-使用するだけ いいえ すべてのFortranMPIアプリケーション用。
ただし、Fortranコンパイラでは、次の追加のコマンドラインオプションが必要になる場合があることに注意してください。
特定のFortran方言を適用します。 たとえば、IBMXLFの一部のバージョンでは
コンパイラー、xlf90が基礎となるFortranコンパイラーである場合、 -qfixed コンパイルする必要があるかもしれません
固定形式のFortranソースファイル。
最後に、注意してください いいえ Fortranの場合、動作不能になり、使用時にエラーが返されます
サポートはMPIlayerに組み込まれていませんでした。
概要
mpicxx は、基盤となるC ++コンパイラの便利なラッパーです。 オープンの翻訳
MPIプログラムには、常駐していない可能性のあるOpenMPI固有のライブラリのリンクが必要です。
の標準検索ディレクトリのXNUMXつ ld(1)。 また、多くの場合、含める必要があります
標準の場所では見つからない可能性のあるヘッダーファイルの数。
mpicxx 引数を、-I、-L、および-lとともに基になるC ++コンパイラに渡します。
OpenMPIプログラムに必要なオプション。
オープンMPIチーム 強く しようとする代わりにラッパーコンパイラを使用することをお勧めします
OpenMPIライブラリに手動でリンクします。 これにより、Openの特定の実装が可能になります
ユーザーのMakefile内のリンカーディレクティブを強制的に変更せずに変更するMPI。 それはそう、
ラッパーコンパイラが使用するフラグとライブラリの特定のセットは、Openの方法によって異なります。
MPIが構成および構築されました。 値は、の異なるインストール間で変わる可能性があります
同じバージョンのOpenMPI。
実際、ラッパーは基礎となるコンパイラーの上にある単なる薄いシェルであるため、
非常に、非常に少数の説得力のある理由です 使用する mpicxx。 使用できない場合
ラッパーを直接、 -showme:compile -showme:link オプションを使用する必要があります
ラッパーが使用するフラグを決定します。 例えば:
shell $ cc -c file1.c `mpicc -showme:compile`
shell $ cc -c file2.c `mpicc -showme:compile`
shell $ cc file1.o file2.o `mpicc -showme:link` -o my_mpi_program
注意事項
ラッパーコンパイラをmulti-lib対応にすることができます。 つまり、ライブラリと
指定されたインクルードは、指定されたコンパイラフラグに基づいて異なる場合があります(たとえば、
Linux上のGNUコンパイラでは、-m32と-m64が見られる場合は、異なるライブラリパスが使用される可能性があります。
見られている)。 これは標準ビルドのデフォルトの動作ではありませんが、アクティブ化できます
(たとえば、32ビットと64ビットの両方のサポートを提供するバイナリパッケージの場合)。 詳しくは
次の場所にあります:
https://svn.open-mpi.org/trac/ompi/wiki/compilerwrapper3264
onworks.netサービスを使用してmpicxx.openmpiをオンラインで使用する