fc2ブログ
 

Ryzen マルチスレッド処理

8コア16スレッドのRyzenでマルチスレッド処理に対応したプログラムをテストします。


■Ryzen(マルチスレッド)の概要
task_cpu.png 

Ryzenには1つのCPUコアで2つのスレッドを動作させるSMT(Simultaneous MultiThreading)と言う仕組みがあります。
また、4つのCPUコアを一つのパッケージとしたCCX(Core Compulex)という構成になっています。
このCCXを2つ搭載することでRyzen 1800Xは8コア16スレッドとして動作します。

【参考記事 PC Watch】 
AMD「Ryzen 7」の半導体チップの姿


用語
論理プロセッサ  タスクマネージャ上のCPU0とかCPU1のこと。
コア    CPUコアとか物理プロセッサと呼ばれる部分。SMTの場合、一つのコアに2つの論理プロセッサがあります。
CCX  4コアを一つのパッケージとしたもの。



■テスト方法
AMV2 MT ビデオコーデックを4スレッドでエンコード、およびデコードするように設定し、処理時間(FPS)をCPU(論理プロセッサ)の割り当てを変えながら計測していきます。
論理プロセッサの割り当てについてはCPUマスクと表記し16進数で示します。

CPUマスク
CPU
マスク
タスクマネージャ説明
0x000F task_0x000F.png CPU0からCPU3を使い2コア4スレッドを使って処理します。
SMTにより1コアのリソースを2つのスレッドで分け合います。
0x0055   task_0x0055.png CPU0,2,4,6を使い4コア4スレッドで処理します。
各スレッドは1コア分のリソースをほぼ独占できます。
0x00FF task_0x00FF.png CPU0からCPU7までの8つの論理プロセッサのうち空いているリソースをOSが判断して自動で割り当てて処理します。
0x0303 task_0x0303.png CCX0の1コア2スレッドとCCX1の1コア2スレッドで処理します。
2つのCCXをまたがる場合にどうなるか見ます。
0x0505 task_0x0505.png CCX0の2コア2スレッドとCCX1の2コア2スレッドで処理します。
すべてのスレッドが1コア分のリソースをほぼ独占できますがCCXをまたがります。
0xFFFF task_0xFFFF.png CPU0からCPU15までの16の論理プロセッサのうち空いているリソースをOSが判断して自動で割り当てて処理します。
これが既定の動作(特別な設定をしない場合の動作)です。


■結果
Ryzen 1800X 3.6GHz  Windows10 Home  HD画質 AMV2 MT Y2 SSE2 4Threads
CPU
マスク
Encode
FPS
 Decode
FPS
0x000F1402 1497 
0x00551880  1866 
0x00FF1898 1861 
0x03031230 1456 
0x05051597 1849 
0xFFFF1611 1847 


■考察
最もいい結果となったのは0x0055と0x00FFです。0x0055については4スレッド分の処理を行う場合の理想的な割り当てなので、納得です。
また、0x00FFでもほぼ同等の性能を発揮したのでこのテストにおいてはOSによる自動割り当ても十分優秀と言えます。
一方0x000Fは2コア分のリソースしか使えないところに4スレッド分の処理を詰め込むためパフォーマンスが低下しています。0x0055と比べエンコードで約25%減、デコードで約20%減。

そして、Ryzenを使う上で気になるのが後半の3パターンです。
CCXをまたがって処理すると(CCXをまたがらない場合に比べ)エンコードで約15%減、デコード処理では著しいパフォーマンスの低下は見られませんでした。
0x0303はCCXをまたがり且つ2コア分のリソースしか使えないため最悪の結果となり、0x0055と比べエンコード処理は約35%減となっています。

以上より、CCXをまたがってマルチスレッド処理を行う場合、パフォーマンスが低下するプログラムと、CCXをまたがっても低下しないプログラムがあることが解ります。
0xFFFFは既定の動作なのでRyzenを普通に使っているとマルチスレッドで処理するプログラムの場合にCCXをまたがって10%程度パフォーマンスが低下する場合があるかもしれません。

【参考記事 PC Watch】 Windows 10はAMD Ryzenの論理コアを正しく認識できず、性能が下がる?

関連記事


テーマ : PCパーツ     ジャンル : コンピュータ
tag : RYZEN

コメントの投稿

承認待ちコメント

このコメントは管理者の承認待ちです

Re: WMPででコードできなくなった

> Windows7-64bitのPCで、2012年からAmaRecTVver2.20cにAMV2MT(ライセンス取得済み)の組み合わせによってキャプチャ録画を初めました。動作が安定していたのでAmaRecTVのアップグレードもしていません。Windows10に無償アップグレードしてからも問題なく使っていましたが、3月15日Windows10のアップデートがあってからWindows Media Playerでのデコードができなくなりました。Windows10の不具合で回復・復元がどうやっても失敗に終わるので、アップグレード前の状態に戻すことができません。Windows media player classicという非正規ヴァージョンではデコードできるため一応観ることはできるし、VirtualDub-modという32bit用ソフトでもデコードできているのでコーデックをH264にして圧縮エンコードすればWNPでも再生できるようになるので、一応使い続けることはできていますが、AMV2MTコーデックで録画したものがWindows Media Player12で観られないのは相変わらずでとても不便です。どうしたらいいのでしょうか?


動作条件を満たした正常なPCを用意してください。
OSに関するトラブルはOSのメーカーへお問い合わせください。

承認待ちコメント

このコメントは管理者の承認待ちです

Re: 質問へ回答いただきありがとうございました。

> 「WMPでデコードできなくなった」の質問をした者です。
これを期にAMV2MTとアマレコTVの使用を止めることにしました。どうもお世話になりました。

私が言うのもなんだけど、AMV2MTとか古いソフトウエアは新しいOSやPCで使う価値がないと思うので、賢明な判断だと思います。
自力でやりくりできる人は使えばいいと思うけど、無理な人はあきらめが肝心です。
 
 
あまラボへようこそ
このブログでは自作ソフトの最新情報やtips、PC動画に関する話題を掲載していきます。各記事へは下にあるカテゴリからアクセスして下さい。

ファイルのダウンロードはホームページの方でお願い致します。

質問・要望・不具合報告はこちら
アマレコTV
アマミキ!
アマレココ
アマレコ・ライト
ファンタジーリモート
AMVコーデック



ホームページ
カテゴリ
最新コメント
カレンダー
02 | 2024/03 | 04
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -
最新記事
最新トラックバック
ブログ内タグ

アマレコTV ビデオキャプチャ アマレコVR AMVコーデック Oculus アマレココ Quest アマミキ! コーデック gQuest SC500 動画配信 Pico GO ファンタジーリモート 4K アマレコライト Unity プラグイン G2 AMV4 oculus SC512 ライブ機能 パススルー機能 Passthrough デスクトップキャプチャ AVX2 リモートソフト FAQ アセット機能 質問コーナー DirectShow HDキャプチャ ニコニコ動画 Asset 120Hz 背景透過 レゴ 遅延 可変再生速度 組み換え 解説動画 LEGO MetaQuest Meta VR GV-USB2 2 XL2420T Pico4 Quest3 液晶モニター 倍速液晶 AMV2MT デインターレース ベンチマーク アマステ Pro 背景透過V3 PS4 VRonVR MonsterX3A Intensity VideoKeeper2 designs インストール Alternate AVX XCAPTURE-1 31024 GV-USB SD-USB2CAP4 ffmpeg 32ZP2 31006 RDT233WX-Z 画像処理 60fps Robust Matting RGBキャプチャ Rift Video Shadow Play WindowsMR RYZEN UtVideo T2 HDMI NVEnc HDCP QSV LameACM OBS 音遅延 MP3 Haswell 電源オプション 音ズレ 録画 オーバーレイ XCapture-1 MonsterXU3.0R フィギュア ハイパースレッディングテクノロジー HT 31021 MPC 液晶テレビ DirectShowFilter プレビュー 擬似NTSCキャプチャ SD-USB2CUP4 Livetube AtomでHDキャプチャ キャプチャーツール シンクライアント イベント IntensityPro DC-HD1 額縁遅延 REGZA ZP3 倍速補完処理 32ZP32 Kabelake リプレイ機能 モノステ 倍速駆動 ゲームスムーズモード LAVFilters SkyBox Hand Tracking 2.0 ファイルマネージャプラス pytorch APIパススルー機能 API python ハンドジェスチャー パカラーススルー機能 アルファ付き動画 アルファ付きVR動画 RVM クロマキー ダウンロード AssetBundle 物理処理 download passthrough 検証 Preferred Filter Tweaker SteamVR GPU使用率 可逆圧縮 SKnet GV-USB3 キャプチャカード VR動画 フレーム間圧縮 新プレイヤー機能 AMPlayer 60Hz 新アマレコVR 90Hz VRコントローラー MR Windows SSE 

ブログ内検索
月別アーカイブ
アマレココに関するリンク
お世話になっているソフトのリンク
RSSリンクの表示
管理画面
  • 管理画面