マルチコアCPUのための並列プログラミング―並列処理&マルチスレッド入門

マルチコアCPUのための並列プログラミング―並列処理&マルチスレッド入門

売れ筋ランキングマルチコアCPUのための並列プログラミング―並列処理&マルチスレッド入門  
マルチコアCPUのための並列プログラミング―並列処理&マルチスレッド入門

マルチコアCPUのための並列プログラミング―並列処理&マルチスレッド入門


価格:¥ 3,360(税込)
秀和システム  (2006-09)
/安田 絹子/ 飯塚 博道/ 青柳 信吾/ 小林 林広/ 阿部 貴之/
単行本 367ページ
売れ筋ランキング:106534
OpenMPによる並列プログラミングと数値計算法
インテル スレッディング・ビルディング・ブロック ―マルチコア時代のC++並列プログラミング
実践MPI‐2―メッセージパッシング・インタフェースの上級者向け機能
マルチコアのためのIntelスレッディング・ビルディング・ブロック入門―マルチコアCPUの能力を引き出すプログラミング技法
PLAYSTATION 3 Linux 完全攻略ガイド

マルチスレッド・プログラミングの入門の「読み物」としては読みやすくてよいと思う。
ワーカースレッドなどのよく使われる手法は解説されている。
ただし実際に開発しているときの参考にはあまりならないと感じた。

マルチスレッドのプログラミングではスレッドを作成するよりも
同期や終了させるときに原因不明のエラーに遭遇しやすい。
そういった事例や、デバッグの方法などが解説されていればよかったように思う。

『OpenMPによる並列プログラミングと数値計算法』と『MPIプログラミング』と平行して読み、最初に読み終わりました。やはり一つの話題に絞った上記2冊よりも専門性では劣ります。しかし、始めて並列プログラミングをするのに必要と思われる簡単な排他制御や、プログラムの並列化のモデルと具体的なソースコード、そしてそれぞれのモデルの長所と短所が簡潔に、明確にかかれています。また、最終章では、共有メモリ型プログラミングの例としてOpenMP、分散メモリ型プログラミングとしてCellアーキテクチャでのプログラミングについてコードとともに説明があります。
さらに、掲載されているソースコードはunix系os, windowsそれぞれで動作するC言語のコードが両方掲載されているので環境に気を使わずに学習できます。
ただ、先に上げたような書籍のような高い専門性を期待する方には期待外れでしょう。
ということを念頭に置くのであれば、悪い本ではない。
この本の特徴は、マルチスレッドプログラミングを丁寧に説明
していることである。OpenMPは便利なのだが、本書でも書かれているように
時々使い勝手が悪いことがある。OpenMPはSequentialなプログラムを並列化
したいときには非常に便利だが、初めから並列処理を考えてプログラム
をつくるときには、必須というものでもない。私はこの本のサンプルを
タイプしていてそう思った。

私は、並列処理の専門家ではないが、数値計算プログラムをMPIと
マルチスレッドを組み合わせて並列化効率を上げることを試みている。
マルチスレッドには不慣れだったのでこの本は参考になった。
OpenMPについて解説してある書籍が少ないので読んでみました。
OpenMPについての解説はほんの少しで、期待外れ。
OpenMPならFortranベースですが「OpenMPによる並列プログラミングと数値計算法」の方が良いでしょう。
並列処理における一般的な注意事項などが書かれているので、入門書としては良いかも。
Intel C++ Compiler for Linux(無料)でOpenMPを始めた方がよろしいかと。まあ、マルチコアCPUの本ということで一応CELL等にも触れているし、読み物としては面白いです。
マルチコアCPUのための並列プログラミング―並列処理&マルチスレッド入門を楽天で検索