4

ここ数年で、OpenCL や CUDA などのシステムを介したデータ並列プログラミングへの大きな変化がありましたが、過去 6 か月以内に出版された書籍でも、データ並列プログラミングのトピックについて言及することはありません。

すべての問題に適しているわけではありませんが、対処されていない大きなギャップがあるようです。

4

4 に答える 4

2

最初に、並行プログラミングは必ずしも並列プログラミングと同義ではないことを指摘しておきます。並行プログラミングとは、疎結合のタスクからアプリケーションを構築することです。たとえば、ダイアログ ウィンドウは、個別のタスクとして実装された各コントロールとの対話を持つことができます。一方、並列プログラミングは、何らかの計算タスクのソリューションを複数の実行ハードウェアに分散することを明確に示しています。これは、本質的に常に何らかのパフォーマンス上の理由からです (注: RAM が少なすぎる場合でも、別の方法を使用する場合はパフォーマンス上の理由になります)。交換中です。

それで、私はお返しに尋ねなければなりません:あなたが言及している本は何ですか?それらは並行プログラミングに関するものですか (私はこれらをいくつか持っていますが、そこには興味深い理論がたくさんあります)、それとも並列プログラミングに関するものですか?

それらが本当に並列プログラミングに関するものである場合、私はいくつかの観察を行います。

  • CUDA は急速に変化するターゲットであり、そのリリース以来一貫しています。今日それについて書かれた本は、それが印刷される頃には半分時代遅れになっているでしょう.
  • OpenCL の標準は、1 年弱前にリリースされました。安定した実装は、過去 8 か月ほどで出てきました。本を執筆するにはまだ十分な時間がなく、ましてや改訂して出版することはできません。
  • OpenMP は、私が使用した並列プログラミングの教科書の少なくともいくつかでカバーされています。バージョン 2 (v3 がリリースされたばかり) までは、基本的にデータ並列プログラミングに関するものでした。
于 2009-12-06T00:49:42.733 に答える
1

今日、学術的に並列コンピューティングに取り組んでいる人は、通常、クラスター コンピューティングの分野から来ていると思います。OpenCL と CUDA はグラフィックス プロセッサを使用しますが、より高度なグラフィックス レンダリング アルゴリズムの開発に伴い、多かれ少なかれ意図せずに汎用プロセッサに進化しました。

しかし、グラフィック担当者と高性能コンピューティング担当者は、しばらく前からお互いを「発見」しており、GPU を汎用コンピューティングに使用するための多くの研究が行われています。

于 2009-12-06T01:51:05.987 に答える
0

「常に」は少し強いです。データ並列処理のトピックを含むリソース ( example ) があります。

于 2009-12-06T00:48:15.257 に答える
0

Hillis による古典的な本「The Connection Machine」は、すべてデータ並列処理でした。それは私のお気に入りの一つです

于 2009-12-07T16:37:23.390 に答える