PR

Tesla V100 32GB×4枚でVRAM128GBのLLMサーバーを最も簡単?に構築する方法

PCパーツ

先日、1枚のカードにNVLinkで接続されたV100 SXM2 32GBが2枚載った、V100 デュアルカードを使ってLLMサーバーを組んだのですが、組み終わってふと考えてみれば、このカードを2枚使えば割と簡単にV100×4枚、128GBのVRAM環境を構築出来るのでは?と思いました。

そこで、この方法について検証してみたいと思います。
※このレビューでは実際に2枚購入してのテストはしていません。あくまでも1枚使ってみた結果からの考察となります。ご了承ください。

V100 デュアルカードを2枚使うメリット・デメリット

購入したのは、eBayで販売されている以下のカードとなります。

NVIDIA テスラ V100 32G/64G デュアル 水冷キット NVLink 300G バックプレーン GPUカード

購入したときは約30万円でしたが、じりじりと値上がっているようです。
写真ではカードとラジエーターの間にポンプ・リザーバータンクのユニットが映っていますが、届いたものはMSI製のポンプを内蔵したラジエーター(MAG CORELIQUID 360R V2のラジエーター)を採用したものでした。

メリット

  • V100 32GB×4基でVRAM 128GBの環境が作れる
  • 必要なPCIe x16スロットは2本だけ。PCIe版V100を4枚挿すより圧倒的に楽
  • カード自体は2スロット厚なので、表示用のGT710やGT1030を載せる余裕が残る
  • ラックの自作やライザーケーブルの取り回しが不要で、普通のPCケースに収まる
  • 同じ基板上の2基はNVLinkで接続されているので、カード内の通信は速い

デメリット

  • 1本のx16スロットをx8/x8に分割できることが条件で、それを2本分こなせるマザーボードが限られる
  • ROG RAMPAGE VI EXTREMEの場合、x8/x8の設定がBIOSの画面になく、UEFIシェルからの書き換えが必要
  • 中段スロットで分割するには44レーンのCPUが必要
  • 電源ユニットにPCIe補助電源が8本、CPU補助電源が1~2本必要で利用可能な電源が限られる。
  • 2枚のカード間はPCIe接続なので、4基すべてがNVLinkでつながるわけではない
  • 中国製の変換アダプタ・水冷クーラーを利用。nvidia純正に較べると故障リスクが高い

PCIe版V100を4枚使う場合の難しさ

まず、素直にPCIe版のV100 32GBを4枚搭載する場合を考えてみます。

x16形状のスロットが4本必要

V100のPCIe版はx16のカードですので、挿すにはx16形状のスロットが4本必要です。一般的なコンシューマ向けマザーボードでは、x16形状のスロットは2〜3本がせいぜいで、しかも2本目以降はチップセット経由のx4である場合が多いです。

x16形状のスロットを4本以上備えていて、なおかつ、それぞれにx8~x16のレーン数が割り振られているマザーボードとなると、X299やX99、ThreadripperといったHEDT系か、Xeon向けのワークステーション系にほぼ限られます。

合計で9スロット分の厚みになる

もうひとつの問題が物理的な厚み。V100のPCIe版は2スロット厚のカードですので、4枚並べると8スロット分になります。V100には映像出力がありませんので、BIOSの画面を映したりCLIで操作したりするには、別に表示用のビデオカードが1枚必要です。これを足すと合計9スロットにもなります。

一般的なATXケースの拡張スロットは7本、E-ATX対応の大型ケースでも8本程度ですので、9スロットを収納できるPCケースはまずありません。
しかも、4枚のV100で全てのスロットが埋まってしまうため、表示用のビデオカードは必然的にライザーカードを使ってPCIeを引き出す必要があります。

結局、ラックとライザーカードが必要になる

ケースに収納できないとなると、オープンフレームのラックを自作して、カードをライザーケーブルで引き回すことになります。さらに、マザーボード側のスロットやレーンが足りなければ、PLXなどのPCIeスイッチチップが載ったライザーや拡張ボードが必要になります。このあたりは相性問題も出やすく、一気に難易度が上がります。

加えて、V100のPCIe版はファンを持たないパッシブ冷却のカードです。サーバーの強力な風が当たる前提で設計されていますので、普通のPCに挿しただけでは一瞬で高温になり最悪壊れます。4枚分のダクトやファンを自前で用意する必要があり、ここでも手間が増えます。

デュアルV100カードならPCIe x16が2本でOK

これらのデメリットを一気に帳消しにするのが、今回使った1枚の基板の上にV100 SXM2を2基載せたデュアルカードです。SXM2というのは、NVIDIAのサーバー向けGPUのモジュール形状で、本来はDGXなどの専用サーバーに載せるものです。これを2基まとめてPCIeカードに仕立てた基板が、中国の通販などで流通しています。

このカードの良いところは、次の4点です。

  • 1枚でV100を2基搭載。2枚でV100×4基のVRAM 128GBの環境が構築できる
  • 必要なのはPCIe x16スロット2本だけ
  • カード自体は2スロット厚でコンパクト
  • 360mmラジエーターを利用した水冷式で騒音も静か、冷える

2スロット厚のカードが2枚ですので、占有するのはたったの4スロット分。表示用のビデオカードを足しても5〜6スロットあれば済みますので、E-ATX対応のPCケースであれば普通に収まります。
表示用のカードはGT710やGT1030のような1スロットのカードで十分ですので、場所を選びません。

また、同じ基板上の2基はNVLinkで接続されています。2枚のカード間はPCIe経由になりますが、少なくともペア内の通信はPCIeより高速です。

条件はx8/x8分割できるPCIe x16が2本あること

ただし、このカードには大きな条件があります。
デュアルV100カードは、1本のx16スロットの中に2基分のGPUが乗っている構造で、スロットを「x8+x8」に分割(いわゆるBifurcation)してもらわないと、片方のV100しか認識されません。つまり今回の構成では、x16スロットを2本とも、x8/x8に分割できるというマザーボードが必要になります。
合計でCPU直結のPCIeレーンが32本必要ですので、コンシューマ向けのプラットフォームではそもそもレーン数が足りません。HEDTまたはワークステーション向けのマザーが前提となります。

AMD系のコンシューマ向けマザーボードでは、BIOSに分割の設定があっても、最上段のスロット1本に対してのみ、というケースが多いようです。これだと2枚目のカードは片方のV100しか見えませんので、4基構成には使えません。

この条件に適合するマザーボードは探してもまず見つからないと思いますが、1つだけ、この条件を確実に満たすマザーボードがあります。私が実際にBIOSを解析し、2本のPCIe x16をx8/x8に分割できることを実機で確認した、ASUSのROG Rampage VI Extreme(以下R6E)です。

ROG Rampage VI Extremeでの構成

R6Eには、x8/x8に分割できるx16スロットが2本あります。最上段のPCIEX16/X8_1と、中段のPCIEX16/X8_3です。ここにデュアルV100カードを1枚ずつ挿し、表示用のGT710を最下段のPCIEX8_4に挿す、というのが最も現実的な構成だと思います。

中段のPCIEX16/X8_3は、後半の8レーンをPCIEX8_2と共用していますので、PCIEX8_2には何も挿さないようにして、表示用のGT710/1030は最下部のスロットに装着するようにします。
また、中段で16レーンを使うには、44レーンのCPU(Core i9-7900X以上など)が必要です。28レーンのCPUでは中段がx8までしか配線されず、2枚目のカードのV100が1基しか見えなくなりますので注意してください。

PCIe x16を x8/x8に分割する方法

別のレビューで詳しく記載していますので、そちらをご確認ください。

ASUS ROG Rampage VI ExtremeのPCIe x16をx8/x8に分割して使う方法
1枚のカードにTesla V100 SXM2 32GBを2基載せたdualカードを購入しました。2基のGPUを正しく認識させるためには、1本のx16スロットを「x8+x8」に分割(いわゆるBifurcation)する必要があり、x16のまま使用すると片方のV100しか認識されません。最近のマザーボー…

電源ユニットのコネクタ数に注意

もうひとつ、見落としやすいのが電源ユニットです。
今回の構成で必要な補助電源は、V100 デュアルカード1枚につきPCIe 8ピン×4本なので、合計8本。これに、CPU電源が1~2本必要ですので、電源ユニット側に合計9~10本のPCIe/CPU電源ケーブルを接続する必要があります。

注意が必要なのは、容量よりコネクタ数です。1200W級の電源でも、PCIeの出力が6本しかないモデルは珍しくありません。また、プラグイン式の電源では、ユニット側のポートがPCIeとCPUで共用になっていることも多いので、「PCIe 8本+CPU 1~2本を同時に繋げられるか」という点が重要です。
1本のケーブルから8ピンが2つ出ている、いわゆる分岐ケーブルの使用はV100のように電力を食うカードでは避けるべきです。(PCIe 8ピンは150Wまでの設計なので、分岐ケーブルを使うと300W流れるので規定値を遙かに超えてしまう)

1500W級の電源であれば、この条件を満たすモデルがいくつかあります。購入前に、メーカーの仕様表で付属ケーブルとユニット側のポート数を必ず確認してください。
9本以上接続可能なのは以下の製品です。(一部)

消費電力の面でも、V100 SXM2は1基あたりTDP 300Wですので、4基がフルに回るとGPUだけで1,200Wに達します。常時運用するのであれば、nvidia-smiの電力制限機能で1基あたりの上限を200~250W程度に下げておくと、電源ユニットへの負荷も減るので楽になります。
LLMの推論はメモリ帯域が効く処理ですので、電力を絞っても生成速度の落ち方は思ったほど大きくありません。

注意点

4基すべてがNVLinkでつながるわけではない

同じ基板上の2基はNVLinkで接続されていますが、2枚のカード間はPCIe 3.0のx8経由です。4基でテンソル並列を組むと、カードをまたぐ通信がボトルネックになりやすいので、カード内の2基でテンソル並列、カード間はパイプライン並列、といった分け方を意識すると良いかと思います。
Ollamaのようにレイヤー単位で分割する使い方であれば、それほど気にする必要はありません。

360mmラジエーターを2つ取りつけられるケースが必要

デュアルV100カードは2スロット厚に収まっているとはいえ、360mmのラジエーターで冷やす設計です。デュアルV100カードを2枚ですので、合計2つの360mmラジエーターを取りつけられるケースを選ぶ必要があります。
360mmラジエーターを2つ取りつけられるのは以下のケースとなります。(一部)

あくまでも自己責任で

SXM2のデュアルカードは、NVIDIAの正規製品ではありません。品質にはばらつきがありますし、当然ながらメーカーのサポートもありません。UEFIシェルでの設定書き換えも含めて、自己責任の作業になりますのでご注意ください。

まとめ

V100 32GBを4枚使ってVRAM 128GBを作る、という目標自体はシンプルですが、PCIe版を4枚集める構成だと、スロットの位置、ケースに入らない、パッシブ冷却、ライザーカードが必要…と、極めてハードルが高いと言えます。

これに対して、SXM2を2基載せたデュアルカードを2枚使えば、必要なのはx8/x8に分割できるx16スロット2本だけです。R6Eであれば、BIOSの設定値を書き換える手間こそありますが、表示用のGT710まで含めて普通のPCケースに収まります。ラックを組んでライザーを這わせることを考えれば、今のところ「一番簡単」に近い方法だと思っています。

条件をまとめると、x8/x8分割を2本こなせるマザーボード、44レーンのCPU、PCIe 8ピン8本とCPU 8ピン1~2本を出せる電源。この3つが揃えば、VRAM 128GBの環境は意外と手の届くところにあります。

マザーボードは今のところR6Eが確実ですが、ASUS Hyper M.2 x16 Gen 4が取りつけられるPCIe x16はx8/x8に分割できる可能性が高いので、x299の他のASUS製マザーボードでも、2本のPCIeをx8/x8に分割できるものは有ると思います。
購入前にBIOSを分析して確かめてみるのも良いと思います。

このページで紹介している商品のセール情報を受け取ることができます。(Amazon限定)
通知が不要な場合はいつでもこのページで解除できます。 詳しくはこちら >

セール通知を受け取る

コメント

タイトルとURLをコピーしました