7
コードを将来ペタスケールのマシンで実行したい場合、どのプログラミングパラダイムに投資すべきですか?
top500の調査から、業界がプロセッシングコアの指数関数的な増加に向かっていることは明らかです。最大のスーパーコンピューターはすべてノード間の通信にMPIを使用しますが、ノード上の並列処理の明確な傾向は見られませんが、単一のMPIプロセスを各コアに自動的にマッピングする最も単純な(ただし、必ずしも効率的ではない)コンパイラ、OpenMP、pthreads、CUDA、Cilk、およびOpenCLからの並列化。 私は、世界最大のスーパーコンピューターで使用される可能性のあるコードを維持および開発する科学者グループの1人です。開発者の時間が限られていると仮定して、世界で最も強力なマシンのパフォーマンスを活用できるように、自分自身を将来的に保証するにはどうすればよいですか プロセス相互接続アーキテクチャについて、どのような仮定を立てるべきですか?メニーコア時代に入ると、どのようなパラダイムが苦しむでしょうか?パーティション化されたグローバルアドレス空間の言語は、ペタスケールのマシンで「生産中」に利用できますか?