AVX2って何? そしてAMV4ビデオコーデック
単純に考えるとSSE命令中心で作成されたプログラムをAVX2へ移行することで2倍の処理能力(処理時間が半分で済む)
が期待できます。
AVX(AVX1?)については2011年1月に発売されたSandy Bridgeから搭載されていて実数演算が中心でしたが、今回のHaswellで搭載されたAVX2は整数演算が中心の拡張命令となっています。
また、SSE命令にはなかった命令もいくつか追加されていて、例えばデータ要素毎に異なるシフト値を指定できるシフト命令「VPSLLVQ」なんかは便利だと思いました。
AVX2ってどう?(良いの?)
AVX2自体の性能はとても優秀で、簡単なプログラムであれば、ほぼSSEの倍の性能を達成できるようです。
「3倍高速 AVX2対応 AMVデコーダー デモ版」
しかし、一般的なプログラムにおいてAVX2の性能を引き出そうと思うと、一筋縄ではいかないのかな。AVX2へ対応したプログラムと言うのは9か月経った今でも極めて少ないように思います。
また、Haswell自体の評価が低くいのも開発者からするとつらいところで、AVX2に対応したCPUの普及が進まないと、積極的にAVX2へ対応しづらいですよね。
AVX2に対応したプログラムが充実してくればHaswellに対する評価も上がってくると思いますが、しばらくは
「AVX2を生かせるプログラムが少ない」
↓
「AVX2を活かせないとHaswellの評価が低く普及しない」
↓
「開発者はAVX2へ対応しても利用できるユーザーが限られる(需要が少ない)」
と言った負の連鎖が続くのかなと思います。
そしてAMV4ビデオコーデックへ
1年半ほど前に「AVXによりパフォーマンスが向上するかも、パフォーマンスが向上したら圧縮効果を高める方向で調整できるかも」と言った内容の記事を書きました。
「AMVビデオコーデックのこと」
このときは期待とか予測でしたが、実際にテストしたAVX2の性能は私の期待以上のもので、その開発は趣味であればとても楽しく刺激的です。
現時点でAVX2へ対応しても、利用できるCPUを所有している人が極僅かなため需要は少ないと思いますが、デコード処理が3倍早くなるなどAVX2の性能の高さはとても魅力的ですので、AVX2へ完全対応した新しいビデオコーデック「AMV4 ビデオコーデック」を制作することにしました。
なお、AMVビデオコーデックはシェアウエアなので継続して利用される場合ライセンスを購入して頂くことになりますが、AMV2、AMV2MT、AMV3、AMV4でライセンスを共通としますので、すでにライセンスを購入された方、および、これから購入される場合も、AMV4のために追加で購入する必要はありません。
AMV4の公開まで、まだまだ時間がかかりますが、おいおい内容を書いていこうと思います。
- 関連記事
-
- 64bit版 AMVビデオデコーダー 公開
- 64bit版 AMVビデオデコーダーの仕様について
- 64bit版 AMVビデオデコーダー ベンチマーク
- 新拡張命令AVX2でコーデックの性能は上がるか?
- 3倍高速 AVX2対応 AMVデコーダー デモ版
- 64bit版AMVビデオデコーダーを使って再生した場合のDirect Showグラフ
- AVX2対応 AMVデコーダー デモ版の追試
- AVX2って何? そしてAMV4ビデオコーデック
- AMV4ビデオコーデック 概要
- AMV4ビデオコーデック 内部仕様でみるAMV4とAMV2MTの違い
- AMV4ビデオコーデック ベンチマーク暫定版 SSE編
- AMV4ビデオコーデック ベンチマーク暫定版 もはや反則AVX2編
- ビデオコーデック・ベンチマーク2014夏
- AMV4ビデオコーデック オンラインヘルプ
- AMV2MTとAMV4の違い まとめ
trackback
コメントの投稿