実行プログラムと拡張機能
最終更新
Intel ArcとRTXを一緒に使うには?XeStrata混合GPU設定
混合GPUモードでは各デバイスが担当レイヤーと状態を個別に保持し、レイヤー境界でデータを受け渡します。
XeStrataは、同じPC内の複数GPU1にモデルレイヤーを分割する実験的な経路を提供します。./setup.sh --gpus 1,2で2台を指定し、必要に応じてレイヤー境界を選びます。各GPUは割り当てられた重み・状態・エキスパートキャッシュを保持するため、空きVRAM2が自動的に統合される構造ではありません。現行ドキュメントでは--serveとエキスパートプロファイルが前提です。
XeStrataの混合GPU設定は、1台のLinux PCにIntel・AMD・NVIDIAのカードを組み合わせてレイヤーを分割します。このガイドではsource checkoutからGPUを確認し、まず1枚で動かしてから同じmodelを2枚構成で比較します。
各カードにVRAMの空きがあっても、レイヤー・状態・キャッシュの配置が合わなければ効果は期待どおりにならないことがあります。まず単一GPUのサーバーを動かし、その後で2台目に割り当てるレイヤーを調整します。
混合GPUモードで各デバイスが担当するもの

デバイス番号とレイヤー境界を指定する
最初にrepositoryをcloneして./setup.sh --checkを実行し、表示された番号から単一GPUの対象を選びます。NVIDIAを含む混合構成にはcontrib-llvm buildが必要で、source setupの既定経路もこれを選択します。Intel・AMDのみの環境でも、実際の番号は同じcheck結果から選んでください。
下のcommandの0と0,1は--checkで表示された番号に置き換えます。まず1枚でsetupと初回実行を済ませ、model・量子化6・context length7・短い依頼・最初の応答時間・完了時間を記録します。serverを終了し、同じmodelとcontextで2枚を実行すると比較できます。自動分割から始め、メモリ使用量と応答時間を見て境界を調整してください。
git clone https://github.com/MistVVK/XeStrata.git
cd XeStrata
./setup.sh --check./setup.sh --gpu 0./setup.sh --gpus 0,1 --layer-split auto
サービングモードで実行して結果を確認する
setup.shはengineをbuildしてmodelをdownloadした後、serverを起動し、選択したGPUとレイヤー分割をmodel設定に記録します。この経路ではserverが--serveと--expert-profileを渡すため、別terminalでflagの断片を実行する必要はありません。serverの準備ができたらhttp://127.0.0.1:8095を開き、両方のカードに割り当てがあり、GPUごとのメモリ使用量が分割設定に合っているか確認します。
同じ短い依頼を単一GPU構成と2GPU構成で実行し、最初の応答時間と全体の完了時間を記録します。XeStrataはGPU間のstateをCPUメモリ経由で渡すため、GPUごとの使用率と受け渡しを含む応答時間をあわせて比較してください。

デバイス割り当てや速度が想定と異なる場合
2台目のGPUが使われていない場合は、--gpusの番号がxestrata --checkの結果と一致し、setupが両方を認識しているか確認します。メモリが一方に偏る場合は自動分割と手動境界を比較します。複数の分割点やデバイス順を細かく調整するときは、マルチGPU文書で--split-device、--split-orderとserver設定での渡し方を確認してください。
割り当てが成功しても単一GPUより遅い場合は、同じ入力・出力長で測定した時間、GPUごとの使用率、CPUメモリ経由の受け渡し区間を確認します。境界を変更しても処理時間が短くならないなら、この作業では単一GPUを標準にするほうが適切です。容量分割やGPU上のキャッシュ増加が目的に合う場合にマルチGPU構成を選びます。
用語の注釈
GPU — 多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。
本文に戻るVRAM — グラフィックカードのGPUが使うメモリです。モデルの重みや計算途中の値を保存します。
本文に戻るPLE埋め込みテーブル — Per-Layer Embeddingの略で、モデルの特定の層に埋め込み情報を加える構造です。Qwen Flash-Next系はn-gramテーブルを使い、対応する実行環境ではRAMやSSDへオフロードできます。
本文に戻るKVキャッシュ — 過去トークンのAttention用キー・バリューを保存し、後続トークン生成で再利用するメモリです。容量はコンテキスト長やバッチサイズで変わります。
本文に戻るCPU — OSや一般的なプログラム命令を実行する中央処理装置です。AIでは前処理やデータ転送などの汎用処理も担います。
本文に戻る量子化 — モデルの重みや計算値を少ないビット数で表し、保存容量やメモリ使用量を減らす方法です。表現が粗くなるため、精度にも影響することがあります。
本文に戻るコンテキスト長 — 1回のリクエストでモデルが扱える入力と生成内容のトークン範囲です。上限や実際のメモリ使用量はモデルと実行設定によります。
本文に戻る
よくある質問
- この記事で最初に確認すべきことは何ですか?
- XeStrataは、同じPC内の複数GPUにモデルレイヤーを分割する実験的な経路を提供します。`./setup.sh --gpus 1,2`で2台を指定し、必要に応じてレイヤー境界を選びます。各GPUは割り当てられた重み・状態・エキスパートキャッシュを保持するため、空きVRAMが自動的に統合される構造ではありません。現行ドキュメントでは`--serve`とエキスパートプロファイルが前提です。
- 必要なメモリはどのくらいですか?
- 下のcommandの`0`と`0,1`は`--check`で表示された番号に置き換えます。まず1枚でsetupと初回実行を済ませ、model・量子化・context length・短い依頼・最初の応答時間・完了時間を記録します。serverを終了し、同じmodelとcontextで2枚を実行すると比較できます。自動分割から始め、メモリ使用量と応答時間を見て境界を調整してください。
