Unreal Engine で SMPTE 2110 を設定する
このページには、Nvidia Rivermax を使用して Unreal Engine 内に SMPTE 2110 を設定し、デプロイするために必要な情報がすべて記載されています。このガイドは、放送業界や映画業界など、高帯域幅の SMPTE 2110 機能を必要とするユーザーを対象としています。
必須条件
NVidia Rivermax を使用して SMPTE 2110 を統合するためのハードウェアとライセンスの要件は以下のとおりです。
ハードウェア
Rivermax は NVIDIA が開発した SDK で、Mellanox Connect-X ネットワークカードで動作します。
2110 のメーカーは他にもありますが、Unreal Engine 5.4 の SMPTE 2110 機能 (公開時) には、NVIDIA Rivermax が必要です。
サポートされているネットワーク カード
LED ウォールの駆動には、PTP (高精度時間プロトコル) の精度の Bluefield が必要です。 以下は、Unreal Engine で現在サポートされているネットワーク カード (NIC) の説明です。
ネットワーク カード (NIC) | 情報 |
---|---|
Connect-X 6 BlueField-2 | サポート対象のこの NIC ファミリーは Windows システムで PTP (高精度時間プロトコル) の精度を持っており、推奨されます。LED ウォールを駆動する場合は PTP が必須です。 |
Connect-X 6 | このファミリーの NIC は Windows システムで PTP 精度を持っていないため、限定的なサポート対象となっています。 |
Connect-X 5 | この NIC ファミリーは Rivermax SDK でサポートされていますが、新規インストールにはお勧めしません。 |
詳細については、NVIDIA のウェブサイト をご覧ください(サイトの閲覧には NVIDIA アカウントが必要です)。
GPUDirect 機能は、4000 クラス以上のプロフェッショナル用 GPU のみに搭載されており、Ampere アーキテクチャまたはそれ以降の世代のアーキテクチャ (たとえば、RTX 6000 Ada、RTX 5000 Ada、RTX 4500 Ada、RTX 4000 Ada) が必要です。 GPUDirect をサポートする GPU の全リストは、NVIDIA のウェブサイト を参照してください。
なお、Resizable BAR オプションに対応したマザーボードと、BIOS ファームウェアのアップデートが必要になる場合もあります。
ソフトウェア
Rivermax を Unreal Engine で使用するには、NVIDIA Rivermax のウェブサイト とWindows DPU デプロイメント (バージョン 2.51) にあるデプロイメント ガイドに従うことをお勧めします。
Unreal Engine のバージョン | Rivermax SDK のバージョン | WinOF-2 のバージョン | DPU のバージョン | BlueField-2 ファームウェアのバージョン |
---|---|---|---|---|
5.3 | 1.20.10 | 3.10.52010 | 2.21 | 24.35.1012 |
5.4 | 1.41.11 | 24.1.50000 | 2.51 | 24.40.1000 |
5.5 | 1.41.11 | 24.1.50000 | 2.51 | 24.40.1000 |
Rivermax SDK のインストール パス
RIvermax SDK のデフォルトのインストール パスは「C:\Program Files\Mellanox\Rivermax\lib」です。
Unreal Engine 5.4 以降では、デフォルトのパスを使用する以外にも、環境変数 $RIVERMAX_PATH
で Rivermax SDK のインストール パスを指定することができます。
ライセンス
NVIDIA の Rivermax SDK を Unreal Engine で使用するにはライセンスが必要です。ライセンスの取得に関しては、NVIDIA にお問い合わせください。
デフォルトで、Rivermax DLL の隣にライセンスが表示されます。 環境変数 $RIVERMAX_LICENSE_PATH
を使って、ライセンス検索対象として別の場所 (ネットワーク ドライブなど) を指定することができます。
デプロイメントの手順
以下は、NVIDIA の公式ドキュメントに基づいたデプロイメント手順です。
NIC のオプション
Connect-X 6
Connect-X 6 のデプロイメントでは、次の手順に進む前に、WinOF2 ドライバーと Nvidia のファームウェア ツールをインストールする必要があります。
-
お使いのオペレーティング システムに Mellanox MLNX WinOF2 ドライバーをインストールします。
-
Nvidia のファームウェア ツールをインストールし、NIC のファームウェアを更新します。
-
システムを再起動します。
Connect-X 6 BlueField-2
Connect-X 6 ネットワークカードと同様に、BlueField-2 NIC も WinOF2 ドライバーと Nvidia のファームウェアツールをインストールする必要があります。さらに、インストールする NIC の DPU に Putty、Python、デプロイメント パッケージも必要です。
-
Putty をインストールします。
- デプロイスクリプトは Plink を使用し、Putty を必要とします。
-
Python 3.10.1 をインストールします。
- パスに Python を追加します。
-
Mellanox MLNX WinOF-2 ドライバーをインストールします。
-
Nvidia のファームウェア ツールをインストールします。
-
MFT のバージョンは、WinOF-2 ダウンロード ページの WinOF-2 リリースノート内で指定されています。
-
システムを再起動します。
-
BlueField-2 カードの管理ポートがインターネットにアクセスできる有線ポートであることを確認します。デプロイメント中に必要となります。
-
Rivermax BlueField-2 (DPU) パッケージをダウンロードします。
-
ブラウズし、 Rivermax Getting Started にログインします。
-
アーカイブ セクションに移動します。
-
推奨される Rivermax SDK のバージョンを確認します。
-
DPU.zip
をダウンロードします。 -
C:\DPU
に展開します。
-
-
BlueField-2 BFB のイメージをダウンロードします。Nvidia のデプロイメント ガイドにダウンロードへのリンクが記載されています。
-
BFB イメージをダウンロードし、
C:\DPU\BFB
に配置します。これらのパスはデプロイメント スクリプトにハードコードされています。
-
-
デプロイ時に使用するコンフィギュレーション ファイルを設定します。
-
このファイルは
C:\DPU\configuration_file.txt
にあります。 -
PTP を使用する場合は、PTP IP オプションを設定する必要があります。
-
-
DPU のデプロイメントを開始します。
-
管理者のコマンドラインから以下のファイルを実行します。
C:\DPU\DPU_Install.bat
-
-
コンピュータの電源を切り、再度電源を入れます。再起動では不十分です。
-
DPU を設定します。
-
管理者のコマンドラインから以下のファイルを実行します。
C:\DPU\configure_dpu_setting.bat
-
Mellanox ファームウェアの更新
-
Mellanox のファームウェアを最新バージョンに更新します。
-
管理者権限でコマンド プロンプト ウィンドウを開きます。
mlxfwmanager.exe -u --online
を実行します。
管理者権限がない場合、以下のエラーが表示されます。
-
-
ファームウェアの更新が必要な場合は、一度コンピュータの電源を切り、再度電源を入れます。
BF2 カードの PTP 設定
BF2 カードの管理ポートに ssh で接続する必要があります。BF2 のデプロイ時に使用したユーザー名とパスワードを確認しておきます。
-
PTP を動作させるには、カード中央の QSFP に対応する p0 インターフェースにケーブルを配線する必要があります。
-
BF2 PTP の設定で想定されるドメインは 127 です。
-
コマンドライン ウィンドウに以下を入力します。
コマンドライン
「putty -ssh root@Your_BlueField_2_Managment_IP 22 -pw お使いの BlueField-2 パスワード」
-
DOCA コンテナを設定します。
-
コマンドライン ウィンドウに以下のコマンドを入力します。
./create_container.sh
-
機能を検証するため、以下を実行します。
tail -f /var/log/doca/firefly/ptp4l.log | grep -E 'ptp|phc'
-
PTP が見つかると、以下のような画像が出力され、使用している GrandMaster のクロック ID が表示されます。PTP が見つからない場合、ローカル クロックを使用しているというメッセージが表示されます。
-
root のホーム ディレクトリから
firefly_monitor.sh
を実行し、PTP が想定の GM に固定されているかどうかを確認することもできます。firefly_monitor.sh の出力。
-
Rivermax の設定
-
Mellanox ドライバーにおけるダイナミック RTP ヘッダのサポートを有効にします。
-
管理者権限でコマンドラインから以下を実行し、設定するデバイスを見つけます。
mlxconfig.exe query
-
出力から以下の行を探します。
Device: (MST_DEVICE)
-
管理者権限でコマンドラインを使って、以下のコマンドを実行し、このデバイスのダイナミック ヘッダ サポートを有効にします。
mlxconfig.exe -d (MST_DEVICE) set FLEX_PARSER_PROFILE_ENABLE=4 PROG_PARSE_GRAPH=1
デバイスのダイナミック ヘッダ サポートを有効にするコマンドを実行します。
-
-
システムの電源を切り、再度電源を入れます。
-
Rivermax のライセンスを設定します。
-
デフォルトでは、Rivermax はインストール ディレクトリでライセンス ファイルを探します。
- 例:
C:\Program Files\Mellanox\Rivermax\lib\Rivermax.lic
- 例:
-
ライセンス ファイルを指す環境変数を使用すると、インストール ディレクトリを変更できます。
RIVERMAX_LICENSE_PATH
-
オプション:GPUDirect の設定
-
BIOS で Resizable BAR オプションを有効にします。
-
最適なパフォーマンスを得るには、ネットワークカードと GPU を同じルート コンプレックスに配置する必要があります。
-
BAR1 の使用可能メモリを検証します。
- 「Nvidia Control Panel - System」の情報を参照して、有効になっていることを確認してください。
-
Rivermax で CUDA を使用するための新しい環境変数を作成します。
-
RIVERMAX_ENABLE_CUDA
-
値を 1 に設定します。
-
-
初期化中、システムが互換性のある GPUDirect デバイスを見つけると、このサポートがあるライブラリを初期化します。見つからない場合は、システム メモリ パスにフォールバックします。