問題タブ [infiniband]
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.
mpi - Toy プログラムは OpenMPI 1.6 を使用すると失敗しますが、Mvapich2 では動作します
私のバージョンの OpenMPI 1.6 が機能しない理由を突き止めようとしています。CentOS 6.6 で gcc-4.7.2 を使用しています。おもちゃのプログラム (つまり、hello.c) が与えられた場合
でコンパイルしmpicc hello.c
て実行するとmpirun -np 8 ./a.out
、エラーが発生します:
mvapich2-2.1 と gcc-4.7.2 を使用してこれを実行するとHello World from Task N
、これらのエラーや警告が表示されなくなります。
にリンクされているライブラリを見るとa.out
、次のようになります。
mvapich2で再コンパイルすると、
ここで何が問題なのですか?これは、openmpi の場合に infiniband ライブラリがリンクされていないためですか?
performancecounter - ポート カウンターのサンプル コントロールの使用方法
IB ファブリックのポートを監視したい。
たまたま、perfquery の外で、ティックやポート サンプリングのようなカウンターがあることに気付きました。正確な監視に最適です。しかし、セットアップと IB ポートのサンプリング コントロールの使用に関する情報は見つかりませんでした。
IB ポートのサンプリング制御を構成して使用する方法は? ドキュメント/リンクまたは例を教えてもらえますか? 私はGoogleでそれを見つけることができません。このサンプリング モードで収集されるデータの量に制限はありますか?
ありがとうございました
c - Linux で ib_ipoib ドライバーを削除する
のレイヤーと同じレイヤーにある独自の RDMA ドライバー モジュールを構築したいと考えていますipoib
。私のHCAカードには、IPoIBドライバーがこれらのポートの両方をと2 ports 0 and 1
として使用していると思います。ib0
ib1
ipoib ドライバーは 2 つのポートを使用するため、私の RDMA モジュールはカーネルIB アクセス レイヤーを使用してこれらの 2 つのポートを使用できなかったと思います。そのため、ipoib ドライバーを削除して、これら 2 つのポートが解放され、 free として利用できるようにする必要があります。
ib_ipoib
を使用してLinuxカーネルからドライバーをアンロードまたは削除しようとするたびに
rmmod ib_ipoib
コマンドは実際には何も起こらずlsmod
、モジュールib_ipoib
がまだ残っていることを示しています。
この IPoIB ドライバ モジュールを削除するにはどうすればよいですか、または IPoIB ドライバを削除する必要はまったくありませんか?
memory - ロックされたメモリが不足しています (rdma_setup_startup_ring: cq を作成できません)
CentOS 7 でロックされたページで使用可能なメモリの量に問題があります。slurmでノードを割り当てた後、MPI (mvapich) でジョブを起動すると、次のエラーが発生します。
ロックされたメモリが不足しているためと思われます。ulimit -a
ただし、次のように返されるため、無制限に設定されているようです。
mpirun
sudoで起動すると動作しています。
linux-kernel - ib_create_qp でキューのペアを作成できません
RDMA (InfiniBand) カーネル モジュールを作成しています。
これまでのところ、保護ドメイン、送信および受信キューの完了キューの作成に成功しています。
しかし、ib_create_qp を呼び出してキュー ペアを作成しようとすると、キュー ペアの作成に失敗します。私が書いたコードを以下に示します。
ib_create_qp(mypd,&init_qpattr);
ここでは、キュー ペアの作成に失敗した を除いて、すべてのクエリが機能します。
更新: キュー ペアを作成する前にメモリを登録しました。それでも、ib_create_qp の無効な引数エラー (エラー コード -22) が表示されます。
linux-kernel - カーネルモジュール内から RDMA Mellanox ライブラリを使用することは可能ですか?
RDMA メッセージを送受信できるカーネル モジュールを開発したいと考えています。Mellanox ライブラリをカーネル空間から呼び出すことができるかどうか疑問に思っています。
カーネルモジュールから Mellanox RDMA 関数を呼び出すことはできますか?
回答:ここに動作するコードがあります: https://github.com/jcarreira/disag-firebox
infiniband - RDMA で複数のキュー ペアを作成するには
私は RDMA プログラミングの初心者です。私のワークフローは次のとおりです。
この方法では、接続されたクライアント ID ごとに 1 つのキュー ペアしか作成できないようです。もっと作成したい場合はどうすればよいですか?
linux - KVM コード内から KVM の別のインスタンスに RDMA (Infiniband) 経由でメッセージを送信する方法は?
KVMの 2 つのインスタンス間でRDMA チャネルをセットアップしようとしています。ハイパーバイザー内からRDMA (Infiniband) Verbs APIを使用して、2 つのインスタンス間で単純な文字列を送信したいと考えています。ユーザー空間では何もしたくありません。純粋にカーネル空間が関与する必要があります。
Verbs API のサンプル コードを見つけましたが、それはユーザー空間にのみ関連しています。誰かがこれのサンプルコードを教えてもらえますか?
(理想的には、ページ フォールト ハンドラー内からこれを実行したいと考えていますが、サンプル コードは、ハイパーバイザー内のどこに挿入されているかに固有のものではない可能性が高いため、これは単なる追加情報です。)
gpgpu - 最近の Xeon プロセッサに組み込まれた PCIe 3.0 コントローラでレーンはどのように管理されますか?
複数の PCIe 3.0 拡張カード (GPU および Infiniband 相互接続) を使用しています。レーンが実際にどのように管理されているか、ポートを変更するか、いくつかのアダプター (16x -> 8x) を使用してデバイスを最適化できるかどうか疑問に思っています。Intel Haswell-EPは、 40 レーンの PCIe 3.0を管理できます。Intel の回路図では、PCIe 3.0 コントローラーは 2 つの x16 サブブリッジと 1 つの x8 サブブリッジに分割されているようです。
Haswell-EP CPU の一部の商用回路図では、次のように読むことができます。
最大 40 の PCIe Gen3 レーン 2x16 + 1x8 から最大 3x8 グラフィックス。
すべてのデバイスがメインの PCIe ブリッジに接続されているか (およびレーンの数がデバイスごとに自動的にネゴシエートされているか)、またはマザーボードがデバイスを 3 つのサブブリッジ16x、16xおよび8xのいずれかに直接接続しているか(レーンの数はその後ネゴシエートされます)これらのサブブリッジごとに)?
デバイスがどのように接続されているかを確認するためにマザーボードに直接アクセスすることはできませんが、おそらく 8x サブブリッジのレーンが使用されていないと思われます。また、16x から 8x へのアダプターを使用することで、より多くのレーンを活用し、PCIe 帯域幅の合計を増やすことができるかどうかも知りたいです (そのデバイスの理論上の最大帯域幅が 2 で割られるのは厳しいです)。
[編集]
1 つの CPU ソケットで得られるものの例lstopo
: