icc と -mmic オプションを指定して GMP をコンパイルしましたが、MIC にインストールできません。どのようにインストールすればよいですか? icc でコンパイルしたデモ プログラムを作成しました。gmp.h が見つからないと表示されます。MIC に GMP ライブラリをインストールする方法と、gmp.h を配置する場所を教えてください。
2 に答える
Xeon Phi や ICC の専門知識はありませんが、Unix ライクな環境で実行している場合は、デフォルトの GCC ではなく ICC コンパイラを指す GMP ソースで通常の構成/作成手順を実行してみてください。生成されたgmp.hヘッダーとともに静的および/または共有ライブラリを構築し、アプリケーションとリンクできます。それに関するGMP ドキュメントを見たいと思うかもしれません。NVIDIA CUDA 用にコンパイルしようとしたときのアドバイスを次に示します。
- ./configure に CC 変数と CFLAGS 変数を指定して、目的のコンパイラと必要なオプションを指定します。
- ホストと Xeon Phi デバイスの間、特に 32 ビット アーキテクチャと 64 ビット アーキテクチャの間で ABI の非互換性がないことを確認してください。
- 「pure-C」ビルドを生成するオプションを追加することを検討してください
--disable-assembly
(私は Xeon Phi アセンブリに精通しておらず、x86 と互換性があるかどうか/どのように互換性があるか) make check
GMP をコンパイルした後、テストがパスしているかどうかを確認するために(おそらくパラメーターを使用して)実行することを忘れないでください-j
。専門的な目的で使用する場合、これは非常に重要なステップです。
ライブラリは、make install
コマンドによって OS にインストールされます。デフォルトでは、/usr/local
ディレクトリの下にインストールされます (--prefix
別の場所に必要な場合は、オプションを追加できます)。具体的には、次のとおりです。
/usr/local/include
gmp.h ヘッダー ファイルの場合/usr/local/lib
静的および/または共有 libgmp バイナリ用
GMP ソース (mini-gmp ディレクトリの下にあります) に含まれているmini-gmpパッケージを使用してアプリケーションをコンパイルすることもできます。mpz_*
これはandルーチンのサブセットでありmpn_*
、通常の GMP ほど洗練されておらず高速ではありません (また、深刻なテスト カバレッジはそれほど多くありません) が、小さなフットプリントでジョブを実行できます(ヘッダーと C ソース ファイルに含まれています)。そのようなオプションについては、必ず最新バージョンの GMP を入手してください (またはリポジトリから入手することもできます)。