更新 07/26
AVX無いと遅いのをなんとかしようと思ってSSE版を作ろうと思ったのだけど、最近のPentium, CeleronとかだとSSEよりGPUのほうがはやい気がしたので、AVXが無い場合はOpenCLを使うようにしてみた。
http://int.main.jp/files/waifu2x-converter_x64_0726.zip
http://int.main.jp/files/waifu2x-converter_x86_0726.zip
優先度が以下のようになる。
あわせて、waifu2x-converter-cpp.exe に、--force-OpenCL オプションを追加した。CUDA, FMA, AVXがある環境でもOpenCLを使うようになる。
試した範囲だと、
- Haswell i7 4コア : FMAのほうが速い。Iris Pro 5200 も試したがFMAのほうが少しはやい。多分4コアあるi5もFMAのほうがはやい
- Baytrail 4コア : SSE実装が無いので OpenCL のほうが大分はやい。SSE実装を真面目に作ればそっちのほうがはやいかも
- Braswell 4コア : OpenCLのほうが大分はやい。SSE実装の理論値をこえてるので、SSE実装まじめに作ってもOpenCLのほうがはやい
試してない範囲だと、
- Haswell i5 4コア : 多分i7と一緒。FMAのほうがはやい
- Haswell i3 2コア : 際どい。もしかしたらOpenCLのほうがはやいかも
- Haswell Pentium, Celeron : SSE実装無いのでOpenCLのほうがはやい。真面目にSSE作ったら際どい
- Ivy, Sandy : 多分AVXのほうがはやい
- Broadwell : もしかしたらi7でもOpenCLのほうがはやいかも?
という感じ。
誰か試してみた人いたら結果教えてもらえると助かります。