そろそろ CPU World に i3-4130 の CPUID レポートが届いてるかなー、と見に行ったんですが、なんとビックリ、AVX2 も BMI1/2 も ABM (LZCNT) もサポートしていることになってるじゃないですか。じょ、冗談じゃ…

震える指で ark.intel.com の i3-4130 の仕様を見に行くと、AVX2 がサポートされるという記述に修正されています。(゜Д゜)

ともあれ、i3 は「ごく特殊な命令」を除くとサポートされる命令は i7 と同じ、という状態は(Nehalem 以降)継続した、ということになります。

教訓:超レアものという訳でもないのだから1週間ぐらい待ってから買いましょう。

Intel 最適化マニュアルを見ると、Haswell ではシャッフル関係命令が遅くなっているようです。せっかく AVX2 で SIMD-int が 256bit 幅で使えるようになったのに遅くなったのでは意味が無いのですが、ともあれ前回と同様に計測してみます。あと、正確にはシャッフル関係命令ではありませんが、PMOV[ZS]X 系命令も計測します。

Read the rest of this entry

x86/x64 最適化勉強会 #6 で聞いてきましたが、AVX-512 なるものがアナウンスされてました。名前から予想される通り、SIMD レジスタが 512bit になります。SIMD レジスタが 512bit というと Xeon Phi は最初からそうなっているのですが、これが普通の Xeon に降りてくるイメージです。

Read the rest of this entry

09月01日にようやく Haswell ベースの i3/Pentium が出たので買おうかと思ってたのですが、念のため ark.intel.com を見に行ったら、i3 は AVX2 をサポートしないように書かれています。なんてこった。せっかく(主に金銭的な問題で) i3 が出るまで待ってたのに、これじゃ使えないじゃないか。

Nehalem(正確には Clarkdale)や Sandy Bridge や Ivy Bridge の時は、少なくとも SSE/AVX 命令のサポート状況に関しては i7/i5 と同じでした(参考: i3-530, i3-2110, i3-3210)。だからこそ今回も大丈夫だろうと踏んで i3 が出るまで待ったのですが…

CPU World には i3 は AVX2 をサポートしていると書かれているのですが、これは単に新しい CPU のためにデータベースに乗っていないから i7 の情報をコピーしてあるだけのように見えます(ページの CPU ID のタブを参照)。

i3 がダメとなると i7 を買う必要がある(コーデックの開発上 HT が必須で、i5 は HT をサポートしない)のですが、いろいろと前提条件が変わって面倒です。主に金銭的に。

Windows 7 で使える undocumented API を使った方法。

Read the rest of this entry

今回は、昔から使える、コーディングが必要な方法など。

Read the rest of this entry

ようやく blog を VPS に移動しました。ping とか traceroute とか whois とかすれば分かりますが、「さくらのVPS」の石狩DC内にあります(メモリ2GBプランが石狩の方だけ初期費用無料キャンペーン中だったので)。これで障害で止まる可能性はだいぶ下がると思います。やったねたえちゃんダウンロードが捗るよ!

石狩ってことで使う前は RTT が気になっていたのですが、計測してみたら東京まで 20~25ms でした。東京から大阪だとだいたい 10ms なので、直線距離相応の RTT と言えそうです。HTTP 的にはもちろん、ssh でもレイテンシを感じないので、このまま使うことにしました(※2週間の無料お試し期間がある)。25ms なら 2フレーム時間より短いですから、格ゲーでもやってない限り分からないでしょう。っていうか移行元は Atom マシンだったので、RTT は短くても処理が結構重かったりするわけで(特に ssh する時の RSA 認証が重い)。

ああファイルバックアップの設定入れないとな。

まずはコーディング不要な方法から。

以下の方法は Vista/7 に限らず XP でも 8(のデスクトップアプリ)でも同じはずです。8 の Modern アプリ(Metro アプリ)の場合は知らん。

Read the rest of this entry

性能向上
  • ULRG,ULRA,ULY2,ULH2: SSSE3 命令が使用可能な環境で、ネイティブな色空間からのエンコードを高速化した。
  • ULRG,ULRA,ULY2,ULH2: SSSE3 命令が使用可能な環境で、「圧縮率優先」でエンコードされた映像のネイティブな色空間へのデコードを高速化した。
  • ULY2,ULH2: SSSE3 命令が使用可能な環境で、RGB からのエンコードを高速化した。
  • ULY2,ULH2: SSE4.1 命令が使用可能な環境で、RGB へのデコードを高速化した。

Read the rest of this entry

Haswell ですが、まだ買ってません。出る前は発売日(は日付的に無理なので数日以内)に買う気満々だったのですが、落ち着いて考えてみるとそれほど速くなるわけではないのでメインマシンの環境を再構築してまで買うほどの魅力が無いという結論になりました。今使ってる i7-2600K の前は Q6600 だったので、クロック上昇分(2.4GHz→3.4GHz)が大きくシングルスレッド性能だけでも 1.5 倍、トータル性能ならHTを加味して2倍だったんですが、i7-2600K を i7-4770K に置き換えても 20% も上がりません。

というわけで、Haswell は開発用マシンとして買うことにしました。開発用マシンとして要求される条件(HT がある、TB を無効化できる、当該世代で追加された命令を使える、できれば安い)を考えると i3 が最適解になるので、それまで待ちということになります。いつ出るかは分かりませんが、そのころには USB3 バグの直ったチップセットを搭載したマザーも流通してるでしょう。

メインマシンとして次に買うのは Skylake かなぁ。さすがに4年使ったらリプレースしたいし。別にイスラエルチーム信者というわけではないんですが。