こんにちは、クロスイノベーション本部リーディングエッジテクノロジーセンターの山下です。
先日、会社でDGX Sparkの互換機である Dell Pro Max with GB10 を購入しました。
128GBのユニファイドメモリ(CPU/GPU共有)を搭載したこのマシンは、LLMサーバの性能評価に最適な環境を提供してくれます。
今回はこのマシンにvLLMサーバを構築し、OpenAI互換のAPIサーバとして動作させてみました。
初回セットアップ
まず電源を入れるとOSのインストール、ファームウェアのアップデートなどが行われます。
その後DGX OSが起動しました。使用感としては、通常のUbuntuに近い感じで、特に違和感なく使用できました。
デスクトップ画面はこんな感じです。

ただ、インストールの際に何か失敗していたようで、aptが上手く動かないので以下のコマンドを実施しました。
sudo dpkg --configure -a sudo apt update sudo apt full-upgrade
これで、aptも動くようになりました。
今回は環境要因で何か失敗していただけだと思いますが、もし同様の症状が出た場合は試してみてください。
miseとuvのインストール
今回は環境構築にmiseを使用しました。miseは、各種開発関連ツールの管理を行うツールで、複数のプロジェクトで異なる環境を簡単に切り替えることができます。
またグローバル環境も管理できるため、今回のような環境構築にも便利です。
curl https://mise.run | sh echo "eval \"\$(~/.local/bin/mise activate bash)\"" >> ~/.bashrc
以降の作業では、uvも使用するため、以下のコマンドでuvもインストールしておきます。
mise use uv
vLLMのインストール
vLLMは並列分散処理に対応したLLMサーバです。同時アクセスなどを行っても性能の劣化が比較的少ないのが特徴です。
今回はuvを使用して、vLLMをインストールします。
事前インストール
vLLMをインストールする前に、必要なパッケージをインストールしておきます。
sudo apt update sudo apt-get install -y cuda-cudart-12-5 sudo apt-get install -y python3.12-dev build-essential
venv環境作成
uvを使用して、venv環境を作成します。以降のコマンドは、ここで作成したvenv環境で実行してください。
mkdir ~/vllm cd ~/vllm uv venv -p 3.12 ~/vllm/.vllm source .vllm/bin/activate
vLLMのインストール
次に、vLLMをインストールします。今回は、GB10に対応したvLLMを使用するため、パッチの適用も行います。
UV_REQUEST_TIMEOUTは、vLLMのインストール時にタイムアウトが発生するのを防ぐために設定しています。
export UV_REQUEST_TIMEOUT=6000
uv pip install vllm \
--extra-index-url https://wheels.vllm.ai/0.17.1/cu130 \
--extra-index-url https://download.pytorch.org/whl/cu130 \
--index-strategy unsafe-best-match
uv pip install 'nvidia-nccl-cu13>=2.29.2' fastsafetensors
vLLMは現在(2026/04/07)DGX SparkのGPU GB10には一部未対応な部分があります。
そこでこちらのパッチを適用して、GB10に対応しているvLLMに修正します。
このパッチは有志の方が作成した非公式のものとなっておりますので利用の際にはご注意ください。
cd ~/vllm/ git clone https://github.com/namake-taro/vllm-custom.git SITE=$(python3 -c "import site; print(site.getsitepackages()[0])") cd "$SITE" patch -p0 < ~/vllm/vllm-custom/patches/vllm_all.patch patch -p0 < ~/vllm/vllm-custom/patches/flashinfer_cutlass_sfb_layout_fix.patch
パッチ適用後にキャッシュを削除します。
rm -rf ~/.cache/flashinfer rm -rf ~/.cache/vllm/torch_compile_cache rm -rf ~/.cache/vllm/torch_aot_compile rm -rf /tmp/torchinductor_$(whoami)
gpt-oss-120bのvLLMでの実行
次に、gpt-oss-120bをvLLMで実行してみます。gpt-oss-120bはOpenAIが公開しているオープンモデルです。
事前にモデルをダウンロードしておきます。
pip install -U huggingface-hub mkdir ~/model cd ~/model hf auth login hf download openai/gpt-oss-120b --local-dir .
vocabファイル
gpt-oss-120bを実行するには、vocabファイルが必要になります。
以下のコマンドで、tiktokenのvocabファイルをダウンロードして、環境変数TIKTOKEN_ENCODINGS_BASEにパスを指定します。
mkdir tiktoken_encodings wget -O tiktoken_encodings/o200k_base.tiktoken "https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken" wget -O tiktoken_encodings/cl100k_base.tiktoken "https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken" export TIKTOKEN_ENCODINGS_BASE=<tiktoken_encodingsのパス>
gpt-oss向けのパッチ
gpt-oss-120bをvLLMで実行していると動いてるように見えるのですが、ログを見ると実際にはエラーが発生しています。
公式にもIssueが報告されています。
以下のリポジトリにこの問題を修正するためのパッチが公開されているので、これを適用します。こちらの内容についても有志の方の作成したものとなっておりますので、適用の際には十分に注意をして適用を行ってください。
wget https://raw.githubusercontent.com/sriganesh123/vllm/refs/heads/docker/gptoss-fix-images/docker/gptoss-fix/apply_fix.py python3 apply_fix.py
また同様の内容が公式へもPull Requestとして提出されています。
このPull Requestがマージされるまでは、上記のパッチを適用してgpt-oss-120bをvLLMで実行する必要があります。
gpt-oss-120bをvLLMで実行
export VLLM_MXFP4_BACKEND=marlin
export VLLM_FASTSAFETENSORS_NOGDS=1
export VLLM_MARLIN_USE_ATOMIC_ADD=1
export CUDA_DEVICE_MAX_CONNECTIONS=1
export PYTORCH_ALLOC_CONF=expandable_segments:True
export CUDA_VISIBLE_DEVICES=0
# 先ほどDLしたvocabファイルのパスを指定する
export TIKTOKEN_ENCODINGS_BASE=<tiktoken_encodingsのパス>
# vLLM実行
vllm serve --model <モデルの存在しているパス> \
--served-model-name local-vllm \
--host 0.0.0.0 \
--quantization mxfp4 \
--enable-auto-tool-choice \
--tool-call-parser openai \
--reasoning-parser openai_gptoss \
--load-format fastsafetensors \
--gpu-memory-utilization 0.80 \
--kv-cache-dtype fp8 \
--enable-prefix-caching \
--max-model-len 131072 \
--max-num-batched-tokens 32768\
--max-num-seqs 16 \
--max-cudagraph-capture-size 32
Open WebUIなどから、OpenAI互換のAPIサーバとして動作しているvLLMにアクセスしてみます。

問題なく動作していることが確認できました。
まとめ
今回は、DGX Sparkの互換機であるDell Pro Max with GB10にvLLMサーバを構築してみました。
GB10はまだ新しいGPUで、vLLMもまだ完全に対応しているわけではないため、パッチの適用などが必要でしたが、無事に動作させることができました。
今後は、他にも色々なモデルを試してみたり、性能評価を行ってみたいと思います。
執筆:@yamashita.tsuyoshi
レビュー:@sato.taichi
(Shodoで執筆されました)



