私はC#と並列プログラミングのガイダンスを探しています。私はMPI .NETが存在し、OpenMPはサポートされていないことを知っています。 私の質問:OpenMPが提供する機能を実現するライブラリ(TPL?)や機能がありますか? 私はmono(C#.NET 4.0)の最新リリースでうまく作業しています!コードはCray XT6M上で実行されるので、各ボードとノード上のリソースを利用することが重要になります。御時間ありがとうございます!C#HPC - MPIとOpenMP
6
A
答えて
4
C#が実際にファーストクラスの市民であるマイクロソフトの並列プログラミング手法のDryadをご覧ください。明らかにマイクロソフトはBingに使用し、Kinect [2]のボディトラッキングアルゴリズムをトレーニングしています。 OpenMPよりも粗粒度のデータ並列処理を使用します。共有メモリを持つスレッドよりもパイプを使用したプロセスに似ています。
Mono/Linux/Crayシステムで設定するのは恐らくほとんど言わないでしょう。それはC#があなたの典型的なHPC言語ではないと言いました。このスケール/タイプのシステムでC#を効率的に実行するには、通常、非常に難しいでしょう。ソフトウェアを「ファーストクラス」のHPC言語に移植することを評価することをお勧めします。 C、Fortran。
メモ:OpenMPは、完全なCray XT6Mマシン(またはそのようなHPCクラスター)には適用されません。この形式の並列処理(共有メモリー)を使用することができます。ノード間で通信するには、別の形式の並列処理、通常はMPIが必要です。また、ノード内でMPIを使用することもできます。
1
C#は多くのことにとって素晴らしい言語ですが、それだけではそのCrayをフルに活用することはできません。マイクロソフトの開発者は、数十のコア以下のライブラリを最適化し、Xamarinの開発者は携帯電話についてさらに心配しています。 MPIや他の並列プログラミング言語をあなたの下に置いてほしい。あなたはC#や他のいくつかの言語でこれを行うことができます(HPCの世界でもPythonが普及しています)が、キーは正しいライブラリの上に座っています。 TPLは、その並列性の規模でそれを切断しません。
関連する問題
- 1. OpenMPとMPIハイブリッドプログラム
- 2. 高調波総和C++ MPIとOpenMP
- 3. ifort mpi-openmpセグメント化エラー
- 4. OpenMPとMPIに移植可能なC++プログラムの複雑なループ?
- 5. mpiで既存のFortranコードをハイブリッドmpiに移植するopenmp
- 6. MPIとOpenMP。私には選択肢がありますか?
- 7. HPCに使用するアーキテクチャ
- 8. Microsoft HPC Pack 2008 R2にMPI C++名前空間は含まれていませんか?
- 9. コース - GPU HPC
- 10. C++ OpenMPプログラム
- 11. WindowsとLinuxのインターワークMPI
- 12. ブースト::侵入型HPC
- 13. C++からJava(openmp)
- 14. MPIとD:リンカオプション
- 15. OpenMPとコア/スレッド
- 16. グローバル変数とMPI
- 17. C++ OpenMP critical:「一方向」ロック?
- 18. OpenMP for C++クラス変数
- 19. OpenMPコードをCコードにコンパイル
- 20. MPI - プロデューサとコンシューマ
- 21. 共有オブジェクトライブラリとMPI
- 22. pthreadとintel TBBとOpenMPとの関係は?
- 23. OpenMPコードC++は遅いthatn C++
- 24. OpenMpとQt Creator
- 25. OpenMPとC99データ
- 26. Boost RandomとOpenMP
- 27. OpenMPとMKLスレッディング
- 28. OpenMPとCPUアフィニティー
- 29. 制限とオープンMPI
- 30. MPIとPthreadの学習
.NET 4は、並列プログラミングをサポートしています。マイクロソフトのパラレルタスクの扱いが気に入らないのですか? – amrfaissal
そう... 1248コアを持っているときには、単に2つのスレッドを呼び出すだけではそれをカットしません。試してくれてありがとう。 – Volvox
質問の公正さの部分では、OpenMPについて質問していましたが、C#にはいくつかのスレッドオプションがあります。 MPI.NETは2008年後半に放棄されたように見えますが、同様のミドルウェアレベルで他にどのようなオプションが存在するのかよく分かりません。 Seastar +の相互接続のために調整されるものはほとんどありません。 –