SSD エンクロージャーを使って OCuLink を USB4 に変換する

SSD エンクロージャーを使って OCuLink を USB4 に変換する

USB4 や Thunderbolt 3 の NVMe SSD エンクロージャーを使って(経由させて)OCuLink を Thunderbolt に変換している方の記事を見つけました。

たしかに NVMe プロトコルは PCIe インターフェイスだし、USB4/Thunderbolt エンクロージャーのコントローラーはただの PCIe to Thunderbolt/USB4 ブリッジなので理屈の上では可能そうです

こんな面白いアイデアを思いつく人がいるんですねぇ…目から鱗です

Thunderbolt 4/USB4 の上限速度は 40Gbps なので PCIe 4.0 x4(64Gbps)である OcuLink の方が高速かつ効率的ですが、面白そうなのでやってみることにします

使用機材

ちょうど手持ちに必要な機器が揃っているので、以下の構成で試してみました

実践

特に難しいことはなく以下の手順で接続するだけです。

  1. USB4 NVMe エンクロージャーの M.2 スロット」に「M.2 to OCuLink ホストアダプター」をセット
  2. M.2 to OCuLink ホストアダプター」と「OCuLink ユニット」を OCuLink ケーブルで接続
    ※ OCuLink ユニットは Minisforum DEG1 + GeForce RTX3050 で構成
  3. NVMe SSD エンクロージャー」と「ホストPC」を USB4 ケーブルで接続

M.2 to OCuLink ホストアダプター(SFF-8612 垂直タイプ)

エンクロージャーに M.2 to OCuLink ホストアダプターを装着

OCuLink ケーブルと USB4 ケーブルを接続

この状態でホストPC を起動したところ、特に何もせずとも Windows 11 に RTX 3050 が認識されていました。

タスクマネージャーの GPU パネルでちゃんと 8GB の NVIDIA GeForce RTX 3050 が認識されている

エンクロージャーも USB4 デュアルレーン接続(40Gbps)で認識されている

なんと OCuLink 接続時と同じように、電源連動(FLLOW START)も機能します。

動作確認とベンチマーク

すんなり認識してしまったので拍子抜けですが、もう少し細かいところを確認してみます。

まず、デバイスマネージャーと GPU-Z で確認してみます。

Windows のデバイスマネージャーの表示

GPU-Z で PCIe 4.0 x4 接続になっていることを確認

GPU-Z で PCIe 4.0 x4 で接続されていることが確認できます。

利用した USB4 エンクロージャーには PCIe 4.0 x4 接続に対応した ASM2464PD が使われているので、目論見通りに PCIe 4.0 x4 接続になっているようです。

次に HWiNFO でも確認してみると、PCIe 1.1 x1(2.5 GT/s)と表示されていました。

GPU はあまり使われてないときは省エネのために自動的に PCIe 1.1 に速度を落とすらしいので、GPU に負荷をかけてみましたが変化なし

どうやら CPU側の USB4 Bridge のリンク速度が表示されているようです。

HWiNFO では、CPU の USB4 Bridge(PCIe x1 Bus)の下に RTX 3050 が見えているが実際には PCIe x4 で動作する

HWiNFO は RTX 3050 の実際のバス速度ではなく、USB4 Bridge のリンク速度を表示しているようです

PCIe や USB4 の仕様や実装に詳しくないので、この表示の意味を正しく判断できていないのですが、次項のベンチマーク結果なども踏まえると物理的には PCIe 4.0 x4 接続になっていると思ってよさそうです。

FINAL FANTASY XV WINDOWS EDITION ベンチマーク

OCuLink 接続の時と同じように、FINAL FANTASY XV ベンチマークを試してみます。

フルHD(1920 x 1080) のフルスクリーンで計測しています。他のオプションはよくわからないのでデフォルト設定です。

USB4 接続時の「高品質」設定のスコアは 6335、快適判定
USB4 接続時の「標準品質」設定のスコアは 8744、快適判定

「高品質」設定のスコアは 6335「標準品質」設定のスコアは 8744 でどちらも「快適」判定でした。

OCuLink 接続時の結果と比べてみます

  USB4 変換 OCuLink 接続 OCuLink 比
FF XV 高品質 6335(快適) 6634(快適) 約 95.5%
FF XV 標準品質 8744(快適) 9214(とても快適) 約 95.9%

ざっくり USB4 接続時は OCuLink 接続と比べて 4.1〜4.5% のスコア減となりました。

オンボード PCIe スロット 利用時の「高品質」設定のスコアは 6630 〜 6700台らしいので、オンボード PCIe 接続と比べると 4.4%〜5.5% のスコア減になります。

OCuLink <-> USB4 変換に NVMe エンクロージャーを使う変則的な接続に関わらず、かなり優秀な結果と言えます。

AIDA64 GPUGPU Benchmark

次に AIDA64 でダイレクトな GPU 性能のベンチマークを取ってみます

OCuLink 接続時の Result

USB4 接続時の Result

OCuLink 接続時と比べると、VRAM への Memory Read と Memory Write 速度が大きく低下しました。

  USB4 変換 OCuLink 接続 OCuLink 比
Memory Read 3633 MB/s 6268 MB/s 約 57.9%
Momory Write 3673 MB/s 6371 MB/s 約 57.6%

ざっくり OCuLink 比で約 42% ほど速度が低下しています。

OCuLink は PCIe 4.0 x4 なので最大 64Gbps、一方 USB4 は 40Gbps が上限です単純計算で OCuLink の 62.5% の速度までしか出せないのが要因でしょう

OCuLink 接続とオンボード PCIe スロットの比較した時と同じく、GPU <-> PC 間の通信速度に大きな影響が出ています。

さらに、PCIe をケーブルで延長してそのまま PCIe 信号を伝送する OCuLink に対して、USB4 は PCIe 信号をエンコードしてカプセル化して伝送PCIe トンネリング)するため、通信方法によるオーバーヘッドが発生します。

これらを踏まえるとGPU VRAM へのアクセス速度が OCuLink 接続時よりさらに 42% 低下というのは妥当な結果のように思えます。

一方、他のスコアに差は出ませんでした誤差の範囲です

OCuLink 接続時の結果

USB4 接続時の結果

OCuLink 接続だろうが USB4 接続であろうが GPU 自体の演算性能には影響がなく、GPU <-> PC 間の通信速度にのみ差が出ています

これも、OCuLink 接続とオンボード PCIe スロットの比較した時同じ傾向ですね。

まとめ

SSD エンクロージャーを使って OCuLink を USB4 に変換するという、アクロバティックな構成でも RTX 3050 が安定動作してかなり驚きました。

USB4 ポートしか持たない PC で PCIe カードを使いたい時に重宝するテクニックとして覚えておくといいかもしれません。

また、ベンチマーク結果から USB4 接続時の興味深い数値が見えてきました。

  • 接続方法に関わらず GPU 自体の演算性能には影響がなかった
    • 接続方法は PCIe デバイス自身の性能に基本影響が出ない
  • USB4 の PCIe トンネリングによるオーバーヘッドは 4〜4.5% ぐらい
    • PCIe デバイス <-> PC 間の通信にはある程度影響がある
  • USB4(最大 40Gbps)に起因する PC <-> GPU の通信速度低下の影響は大きい  
    • ゲームや LLM でデータを GPU VRAM へ転送する(初回ロード)時間に大きく影響する

どんな PCIe デバイスを使いたいかによって許容できる値は変わってくると思いますが、USB4 の上限である 40Gbps に収まる速度を想定しているデバイスなら 4%〜4.5 程度のパフォーマンス低下で済みそうです。

PCIe 4.0 x2(32Gbps)接続以下の PCIe カードは USB4 接続のオーバーヘッドを最小限に抑えて利用可能ではないかと思われます。10GbE カードとか良いかもしれませんね。

あくまで今回と前回の結果を踏まえた仮説であって、実際には様々な要因に左右されます。ひとつの目安、参考情報と思ってください。


2025年秋〜冬にかけて 80Gbps に対応した USB4 version 2.0(≒ Thunderbolt 5)を搭載した eGPU ドックが登場するようです。

USB4 Version 2.0 で 80Gbps になると PCIe 4.0 x4 の 64Gbps を余裕をもって扱えるので、OCuLink 接続時のパフォーマンスに肉薄してくると思われます。

ホスト PC 側も USB4 Version 2.0 に対応している必要があり、インターフェイスの増加により DEG1 より高額になりそうですが、ベンチマーク結果などを見るのが楽しみです。

Previous

N5 の OCuLink で RTX 3050 を使ってみる

Related