ぶろ開発 -50ページ目

チューニング7

隣の島十


Slerpを使った演算のチューニング。Lerpに逃げるという手もあるが、きっと理由があってSlerpにしたのだろうということで、大体同じ計算量でPadeの方法よりも1000倍精度が良い浜田氏の方法(と呼んで良いのか?)を使うことにする。これなら10倍は軽く速くなる。アンロールしてVMX化すれば、15倍。OpenMPを使えば、45倍。もうLerp使う意味無いだろ。ということで着々と進めていたら、いきなり優先度の高い仕事が投入される。スマートポインタ等の最適化だそうだ。という訳で、Lerpにしておこう。

チューニング6

隣の島8


突然一部の関数で時間計測ができなくなったので、デバッガで起動しようとするが、動かない。デバッガで作業しているグラハムに聞いてみると、色々裏技があるとのこと。ところがますます動かなくなる。これで一日費やしたところで、デバッガ使用をやめる。ログファイルにfprintfという手段に回帰すると決断したところで今日は終了。ボスは、私の作業が予定の最後みたいに言っていたが、その最後の私が苦しんでる最中。

チューニング5

隣の島4


大体、基本ツールのチューニングって粒度が小さすぎて、効果無さ過ぎ。SIMD用に立て積み、横積み、アンロール、L1L2キャッシュ制御と技を繰り出すが、手間がかかる割には効果が薄い。コントローラ側で色々やり始めたら、キャッシュ制御なんて単なるオーバーヘッドになりかねない。球面線形補間みたいな重い関数を使った演算子は、やりがいがあるんだけど、元が重すぎて誰も使ってない。色々やってるうちに、最後には、コンパイラの出したアセンブラコードを読み出す始末。結論は、コンパイラの気持ちになってコードを書くと言うことだった。ボスは、9月、9月って焦ってるし、これで良いのか。

チューニング4

隣の島6


島の池に白鳥が一匹住み着いてました。


チューニングを進めていたら、皆がよく使う所だけでよいと言われる。皆がよく使うところってどこ?使われるから作ってるんじゃなかったのか。ボスから、9月リリースは絶対だからね、と念押しされる。8月に1週間休もうとしてるんですが。

曇りの日

隣の島1


曇りの日。入り江は穏やかだった。