Standardではない邪道なC++ライブラリの開発日誌
Dradnats C++ Libraryでは、クラス内部での排他制御を原則として行わないことにします。また、静的な状態を持つライブラリ要素は極力避け、関数の引数として状態保存用のオブジェクトを渡すことにします。

内部で静的な状態を持たざるを得ないライブラリ要素に関しては、内部的に排他制御を行うか、スレッドローカル記憶域を使用することにします。これらは、DRADNATS_DISABLE_THREADマクロを定義することで抑止できるものとします。なお、DRADNATS_DISABLE_THREADマクロはアプリケーション側で定義するだけでなく、ライブラリのビルド時にも定義する必要があります。

アプリケーション側でのマルチスレッド対応は、Boost.Threadを使用することを前提とします。他の方式を使用することもおそらく問題はないでしょうが、積極的な配慮は行いません。



マルチコアCPUのための並列プログラミング―並列処理&マルチスレッド入門
画像 著者:安田 絹子
価格:¥ 3,360

『これはOpenMPの解説書ではない』

ということを念頭に置くのであれば、悪い本ではない。
この本の特徴は、マルチスレッドプログラミングを丁寧に説明
していることである。OpenMPは便利なのだが、本書でも書かれているように
時々使い勝手が悪いことがある。OpenMPはSequentialなプログラムを並列化
したいときには非常に便利だが、初めから並列処理を考えてプログラム
をつくるときには、必須というものでもない。私はこの本のサンプルを
タイプしていてそう思った。

私は、並列処理の専門家ではないが、数値計算プログラムをMPIと
マルチスレッドを組み合わせて並列化効率を上げることを試みている。
マルチスレッドには不慣れだったのでこの本は参考になった。
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
スポンサーサイト
ブログ内検索
カレンダー
09 2008/10 11
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
最新CM
[03/26 たかぎ]
最新TB