SSE

関数の速度(9)

前回の場合分けの部分も並列処理をする。 SSEに分岐などないので、そこは工夫が必要である。 方針としては、 xy平面を象限に分けて考える。 第4象限は3π/4回転して、x >= y && x + y >= 0の領域に持ってくる。 同様に他の象限も回転する。 そこで素のatan2の…

関数の速度(8)

SSEで速度がアップすることがわかったので、さっそくatan2の計算に適用してみよう。 一つの関数で4つのatan2の計算を一度に行う。 場合わけの部分はそのまま残しておいて、有理関数の計算をSSEで行う(コードは下)。 環境が今までとちがっていて、PCが少し…

関数の速度(7)

並列処理を使うと速くなることがある。 具体的にはSSEを使うと速くなることがある。 http://www.intel.co.jp/jp/download/index.htm SSEというのは、floatを4つ並べて一つの命令でまとめて計算する技術である。例えば、 x[0] /= y[0]; x[1] /= y[1]; x[2] /=…