11月4日に Alder Lake こと第12世代 Core i シリーズプロセッサが発売されました。

映像コーデックの視点として、 Alder Lake への最適化には以下の2つの要素が考えられます。

1つ目は AVX-VNNI 対応です。AVX512-VNNI というのが AVX-512 にありますが、それの 256bit 版です。これに対応するにはソースコードを数行書き換えるだけで済むので、何も難しいことはありません。対応すれば速くなることは分かり切っているので、実機が出る前からバージョン 23.0.0 の時についでにやっておくべきだったかもしれません。

2つ目は Intel Hybrid Architecture 対応です。これはかなり考えるべきことがあります。

マルチスレッド対応するにあたって、デフォルト(フレーム分割数を「自動で分割する」にした場合)では単純に映像をスレッド(論理プロセッサ)数ぶんに等分して処理するようにしてあります。通常のシステムでは全ての論理プロセッサの処理性能は同じなのでこれで問題ありません。しかし、 Intel Hybrid Architecture においては速いコア(Pコア)と遅いコア(Eコア)が混在し、映像を等分した場合は後者の処理が終わるまで先に進めなくなってしまいます。もっと細かくブロック分割して1ブロック処理が終わったら次のブロックを取って処理する、といった形にすれば前述のような無駄は省けますが、現状の分割手法ではこの方針には限界があり、より適切な分割を行うために圧縮フォーマットの変更が必要になります。あるいはPコアのみとかEコアのみでコーデックを動作させるという案もありますが、どうするのが適切なのかイマイチよく分かりません。とりあえずIntelのドキュメントを読み込むところから…

Trackback

3 comments untill now

  1. Thanks

  2. nice

  3. 齊藤龍生 @ 2022-10-18 17:20

    使わせていただきます

Add your comment now