xeon phi コプロセッサーでバイナリー・ファイルを実行しようとしていますが、「bash: バイナリー・ファイルを実行できません」というメッセージが表示されます。そのため、エラーログを表示する方法、または実行するように指示したときに何が起こっているのかを表示する方法を見つけようとしています。すでに試しbash --verbose
ましたが、追加情報は表示されませんでした。何か案は?
2 に答える
実行可能ファイルをコンパイルした場所も、実行しようとした場所も指定しません。ホストシステムでプログラムをコンパイルしてコプロセッサーで直接実行するには、次のいずれかを行う必要があります。
- Intel コンパイラのいずれかを使用している場合は、コンパイラ コマンド ラインに -mmic を追加します。
- gcc を使用する場合は、MPSS (/usr/linux-k1om-4.7) で提供されるクロスコンパイラーを使用します。ただし、gcc コンパイラーはコプロセッサーでのベクトル化を利用しないことに注意してください。
コプロセッサーで直接コンパイルする場合は、追加の rpm ファイルをインストールするための MPSS ユーザーズガイドの指示に従って、コプロセッサー用に提供されている追加の rpm ファイル (mpss-/k1om にあります) から必要なファイルをインストールできます。コプロセッサーでプログラムを実行するには、ホストでプログラムをコンパイルした場合、次のいずれかを行う必要があります。
- コードを実行するために自分でコプロセッサーに ssh する前に、scp を使用して実行可能ファイルと必要なライブラリーをコプロセッサーにコピーします。
- ホストで micnativeloadex コマンドを使用します。ホストでそのマニュアル ページを見つけることができます。
オフロード モデルを使用してプログラムを作成している場合 (作業の一部はホストを使用して行われ、作業の一部はコプロセッサーに渡されます)、特別なオプションなしで Intel コンパイラーを使用してホスト上でコンパイルできます。ただし、使用する方法に関係なく、コプロセッサーの実行可能ファイルで使用するライブラリーは、コプロセッサー用にビルドする必要があることに注意してください。デフォルトのライブラリは存在しますが、ライブラリを追加する場合は、ホスト システム用に作成するバージョンに加えて、コプロセッサ用のバージョンをビルドする必要があります。https://software.intel.com/en-us/articles/programming-and-compiling-for-intel-many-integrated-core-architectureにある記事を強くお勧めします. これらの記事は、コプロセッサー用のさまざまなプログラミング ツールを開発および/またはサポートしている人々によって書かれており、ほとんどの質問に答えるはずです。