tbb

効果が出ない

レイの発射部分をtbb経由に置き換えたのだが どうしても速度が出ない。 tbbでマルチスレッドにした方がだいたい2倍から2.5倍遅い。 その間CPU負荷は2つともほぼ100%になるので待ち合わせが 原因ではないように見える。 そこでgoogle performance toolsでプロ…

blocked_range2dで画像を作ってみた

blocked_range2dという2Dのサンプリングにうってつけのものがあるので使い方を調べてみた。 Tutorialによるとシングルコアでもリニアに走査するよりメモリのキャッシュヒット率が上がるのでよいものだというニュアンスのことが書いてあったがそうなのか。 #i…

レイのサンプリング部をtbbのblocked_range2dで換装してみた。

まずは変更が少なくて済むparallel_forでやってみる。 画素毎のループをファンクタに抽出して必要な変数を持たせてやるだけだったのでさくっと作業は完了。 さっそく実行してみる。モデルはスタンフォードのドラゴン。 // 通常バージョン store: dragon_vrip…

Intel tbbを試してみる

今作っているraytraceに以前から注目していたIntelTBBを組み込んでみることにした。 まずは情報収集から。本家からTBBのdevlop版の最新版のソースを入手。解凍してみたところ特にconfigureとかそういうのはなかった。 READEMEの指示にしたがって $ gmake で…

tbb練習

サンプルを見ながら練習開始。 公式のGetting Startedのサンプルはいまいちだなぁ。 正直、何やってるか理解できんw むしろ2つめくらいのサンプルとしてはよいか。 環境作り(gentoo)。 インストーラはあるのかもしれないが見つからなかったのでとりあえず …