マルチコア・並列プログラミングのために。学んでおくべき
★★★★★
C/C++の唯一のOpenMP本。
そろそろ、マルチコアCPUの並列プログラミングをと思ってOpenMPに辿りつきました。
当然C/C++プログラミングは普通にできる人向け。ストイックにOpenMPの説明です。
分散・共有メモリや、共有変数とプライベート変数などの説明があり、C/C++は知っているけど、並列プログラミング初めての人向けに書かれてます。
サンプルコードがちょっと長いのが難点ですが、ソースはダウンロードできるみたいなので良いとします。
同じようなデータ処理をいろいろな角度から、いろいろなOpenMPのコードを使って書いていて、比較が見れます。OpenMPだけでなく、スレッドプログラミングやSIMDとの比較も書いてあります。
高速化用途により一長一短、OpenMPが得意でないことも書かれているのは良いと思います。
後半の章で、同期・非同期・性能改善、並列化困難なコードなどは、並列化プログラミングを現実的な側面から見ていて有用です。
OpenMPの日本語本なので星は甘め。1番初めに読む本として悪くないと思います。