問題タブ [intel-mic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
109 参照

performance - Xeon Phi で単純なリーマン和積分のベクトル化された縮約のタイミングが悪いのはなぜですか?

私は Xeon Phi を初めて使用するので、ベクトル レジスタを使用して Phi のパフォーマンスを向上させる方法を理解しようとマニュアルを調べています。

[0,1]この質問の最後にある、リーマン和を使用して曲線 4/(1+x^2) の下の面積を計算する短いコードを考えてみましょう。分析的な答えは pi = 3.14159....

コードは基本的に、OpenMP を使用して 4 つのスレッドを使用して答えを計算する2つのほぼ同一のコード チャンクで構成されます。唯一の違いは、2 番目の チャンクでは、ベクトル化された関数__sec_reduce_add()を使用して、スレッドに与えられた [0,1] のサブドメインのリーマン和を計算していることです。

コードの最初のチャンクのタイミングは0.0866439 sで、2 番目の (ベクトル化された) チャンクのタイミングは0.0868771 s

これらの両方がほぼ同じタイミングをもたらしたのはなぜですか。ベクトル レジスタを使用すると、パフォーマンスが大幅に向上すると考えていたでしょう。

これをicc -mmic -vec-report3 -openmpフラグでコンパイルしました

[注: rptrpt=0 と rpt=1 は「ウォームアップ」ループであり、タイミングが多少高くなるため、2 つのセクションにわたって変数を使用して for ループを配置しました。rpt=3 で 2 つのセクションのタイミングを指定しました]

0 投票する
2 に答える
656 参照

gmp - Xeon Phi で GMP を使用している人はいますか?

icc と -mmic オプションを指定して GMP をコンパイルしましたが、MIC にインストールできません。どのようにインストールすればよいですか? icc でコンパイルしたデモ プログラムを作成しました。gmp.h が見つからないと表示されます。MIC に GMP ライブラリをインストールする方法と、gmp.h を配置する場所を教えてください。

0 投票する
1 に答える
642 参照

assembly - マイクへのオフロードを含むアセンブリ ファイルをコンパイルする方法

マイクのオフロード操作を含む「test.c」という名前の C ファイルを作成します。次に、コマンド「icc -S test.c」を使用してアセンブリ ファイルにコンパイルします。これにより、「test.s」および「testMIC.s」という名前の 2 つのアセンブリ ファイルが作成されました。それらを実行可能ファイルにコンパイルし続けると、次のようなエラーが発生します。

  1. コマンド「icc test.s」を使用

    /tmp/iccG8ZTVA.o: 関数main': test.c:(.text+0x30): undefined reference to__kmpc_begin 内' test.c:(.text+0x6f): __offload_target_acquire' test.c:(.text+0x11f): undefined reference to__offload_offload' への未定義参照 test.c:(.text+0x15b): `__kmpc_end' への未定義参照

  2. コマンド「icc testMIC.s」を使用

    /tmp/icc7qv8qX.o: 関数__offload_entry_test_c_10main': test.c:(.text+0x1d): undefined reference to__intel_new_proc_init_R' 内 test.c:(.text+0xd5): __offload_target_leave への未定義参照__offload_target_enter' test.c:(.text+0x111): undefined reference to' /tmp/icc7qv8qX.o: 関数main': test.c:(.text+0x140): undefined reference to__intel_new_proc_init_R' 内

  3. コマンド「icc test.s testMIC.s」を使用

    /tmp/iccEOtVAs.o: 関数foo': test.c:(.text+0x170): multiple definition offoo 内 /tmp/icczmGFBD.o:test.c:(.text+0x170): 最初にここで定義 /tmp/iccEOtVAs.o: 関数main': test.c:(.text+0x128): multiple definition ofmain 内 /tmp/icczmGFBD.o: test.c:(.text+0x0): ここで最初に定義 /tmp/icczmGFBD.o: 関数main': test.c:(.text+0x30): undefined reference to__kmpc_begin 内' test.c:(.text+0x6f): __offload_target_acquire' test.c:(.text+0x11f): undefined reference to__offload_offload' test.c:(.text+0x15bへの未定義参照): __kmpc_end' /tmp/iccEOtVAs.o: In function__offload_entry_test_c_10main への未定義の参照': test.c:(.text+0x1d): __intel_new_proc_init_R' test.c:(.text+0xd5): undefined reference to__offload_target_enter' への未定義の参照' test.c:(.text+0x111): __offload_target_leave' /tmp/iccEOtVAs.o: In functionmain への未定義の参照': test.c:(.text+0x140 ): `__intel_new_proc_init_R' への未定義の参照

この問題を解決するのに役立つ人はいますか?

test.c:

0 投票する
1 に答える
1272 参照

c - Xeon-Phi で Haskell を実行する

Haskell をコンパイルして Xeon Phi コプロセッサで実行する方法はありますか?

Intel の一部の研究者は最近、Haskell Research Compiler (公開されていないため、結果を本質的に再現不可能にする)について報告し、 Haskell Gapを測定しました(場合によっては Haskell のパフォーマンスが C を上回ることを示しています)。彼らはPillarと呼ばれる中間言語 (C-- に類似) を介してコンパイル ルートを記述し、それをC にコンパイルしてから、iccを使用して Phi で実行可能なオブジェクト コードを作成できるようにします。

GHC は LLVM へのコンパイルをサポートするか、ネイティブ コードを直接生成します (NCG)。私が知る限り、利用可能な Phi を対象とする NCG も、Phi の LLVM バックエンドもありません。iccにアクセスすると、 C経由のルートが可能に見えますが、現時点でそれがどれほど現実的かはわかりません (GHC の C コード ジェネレーターはサポートされなくなったと思います。LLVM IR-to-C バックエンドについても同じことが言えます。間違っていたら訂正してください)。

したがって、次の 3 つのルートが思い浮かびます。

  1. 未登録モードでGHCをコンパイルし、-fvia-c 次にiccでコンパイルします。

  2. 古い GHC バージョンを使用して C コードを生成し、iccを使用します

  3. 古いLLVMバージョンを使用してGHC LLVMを経由し、LLVMからCを生成してからiccを使用します

どのルートが最も実行可能ですか (理由/理由)? 他の可能性はありますか ( pillar2cなどのツールは (まだ?) 公開されていないため、Pillar ルートは却下しました)。

関連する質問は、Phi の x86 互換性に関するものです。SSE/AVX 命令がサポートされていないようで、一部のオブジェクト コードをgccclangでコンパイルすると実行に失敗するようです。

更新

LLVM カンファレンスで Intel 関係者とチャットした後、彼らが Phi LLVM バックエンドをリリースする可能性は低いようです。ただし、次世代の Xeon Phi は AVX512 をサポートします。

0 投票する
0 に答える
910 参照

intel - Intel MIC オフロード プラグマ エラー

このエラーは何ですか? それについて何か有用なグーグル*を見つけることができませんでした:/

編集1:これは私のプラグマです:

0 投票する
1 に答える
650 参照

c++ - Intel MIC オフロード - C++ オブジェクトで動作しますか?

私の質問は、オフロード領域のコードに c++ オブジェクトが含まれている可能性がありますか? または単にSTL?

0 投票する
1 に答える
115 参照

mpi - Xeon-Phi を MPI プロセスに割り当てる

私のシステムでは、1 つのノードに 2 つの xeon-phi カードが接続されています。オフロード モードで xeon-phi アクセラレーションを使用する分散 MPI コードを実行しようとしています。ノードごとに 2 つの MPI プロセスを実行する場合、xeon-phi を各 MPI プロセスに割り当てるにはどうすればよいでしょうか。各 MPI プロセスが異なる MIC を使用していることを確認するにはどうすればよいですか?