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コーデック



ホームページ
カテゴリ
最新コメント
カレンダー
05 | 2023/06 | 07
- - - - 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 -
最新記事
最新トラックバック
ブログ内タグ

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

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