「マルチコアCPUのための並列プログラミング」を読みました。執筆は CELL 関係ではおなじみの FIXSTARS。
内容は初心者向けで、マルチコア時代の背景の話から始まり、 pthread & Win32 API の基本的な使い方から、徐々に高速化のための並列化へステップアップしていく形になっています。厚みはありませんが、データ並列、タスク並列、パイプライン並列などを説明しながら実践しており、はるか昔にスレッドを弄って以降、このあたりの基本が記憶の彼方にぶっ飛んでしまっている人 orz でも安心!な感じでした。巻末には発展編として OpenMP と、ヘテロジニアスの代表格として CELL にページが割かれています。
開発環境は Windows 版しか解説されませんが、 pthread 版に機種依存コードはなく、 Linux や Mac OS X でも実践できます。ただし、(僕も初めて知ったのですが) Mac OS X は sem_init() を実装していないらしく、これを利用したセマフォ関係のコードは Mac では実践できません! とはいえ、最近はセマフォは使わず、条件変数によるクリティカルセッション侵入制限が一般的なやり方になっているようなので、実害はないと思います。文中でも問題になるのは一例のみでした。
しかしちと高い…… orz
0 件のコメント:
コメントを投稿