x86/x64最適化勉強会2
edit distanceのDP解法のbit-parallel化、ナイーブにはDP処理は並列化できないのでとても面白い #x86opti
2011-10-01 16:39:34さっき正規表現がうんぬんとか言ってたのは parabix でした http://t.co/vUzfgtHM #x86opti
2011-10-01 16:52:48ハード実装してもそんなに重くないのに、float/doubleの整数・小数部分を抜き出す専用命令ってのは何故出来ないのか疑問だ #x86opti
2011-10-01 17:13:48んと、union で double と uint64_t をダブらせるのは、C や C++ の仕様的にはアウトだろうけど、ABI 的には OK になる可能性があるかも。 #x86opti
2011-10-01 17:14:47round()を実装するする際に、丸めたい実数に巨大な実数を加算して,IEEE754フォーマットの仮数部が強制的に丸められる現象を利用した高速化 #x86opti
2011-10-01 17:15:31expだったか忘れたがglibcのなんか関数はコントロールレジスタ書き換えてるから遅かった気がする。32bitだと遅くなかった。 #x86opti
2011-10-01 17:20:30浮動小数が2の冪数と仮数部に分割されることを利用した高速化。仮数部分の計算を自乗積分して係数を最適化すると精度が向上する。#x86opti
2011-10-01 17:22:00C99で実質的にIEEE754使うことが決定したからunionしても問題ない、、、と思ったが残念ながらdoubleのエンディアンがまだ規定されてないからやっぱりunionで期待するビットパターンが出てくるかは保障されないのだった #x86opti
2011-10-01 17:22:58テイラー展開は無限に収束することを保障しないといかんので限られた範囲だけを相手にすればいい世界では余りいけてないんだよねー #x86opti
2011-10-01 17:23:46やべー、すごいツール来た笑、x86/x64命令がどの実行ユニットのportで実行されるかを表示、port毎のthroughtput表示、クリティカルパスの表示など #x86opti
2011-10-01 17:29:28実行Portでのμopの衝突が検知できるのはこのツールだけらしい、Intel Architecture Code Analyzer http://t.co/5IJmwUp9 #x86opti
2011-10-01 17:33:32XbyakでAVX命令を実装してるときにMASMのバグを踏んで,どのエンコーディングが正しいのか分からなくて調べるためにAVXエミュレータを使ったことがある.クロック表示みたいなのがあったし,あれがIACAの前身だったのかな. #x86opti
2011-10-01 17:39:25