はじめに

最近のGPU環境では「CUDAは自動で入っているのか?」「PyTorchはどこまで自動でやってくれるのか?」といった疑問を持つ人が多いと思います。

この記事では、Pythonのembed版(ポータブル環境)でCUDA対応PyTorchを使ったGPU推論を行う方法を、最小構成でわかりやすく解説します。


結論(重要ポイントまとめ)

  • RTX 20xx以降でも CUDAは自動では入らない
  • ただし PyTorch(CUDA版)に必要なライブラリは同梱されている
  • GPU推論だけなら
    👉 torchだけでOK(torchvision / torchaudioは不要)
  • 必須なのは
    👉 NVIDIAドライバのみ

CUDAは勝手に入っているのか?

結論:

👉 入っていない(完全な形では)

ただし以下の理由で「入っているように見える」ことがあります:

  • NVIDIAドライバに一部CUDAランタイムが含まれている
  • PyTorchなどが必要なCUDAライブラリを同梱している

そのため、

👉 「何もしてないのにGPU動いた」=内部で依存関係が入っているだけ


PyTorch(CUDA版)の仕組み

CUDA対応のPyTorchは以下を含んでいます:

  • CUDAランタイム
  • cuBLAS / cuDNNなどの主要ライブラリ

つまり:

項目 必要か
CUDA Toolkit 不要
CUDAランタイム PyTorchに同梱
NVIDIAドライバ 必須

👉 開発しないならCUDA Toolkitは不要


RTX 20xxでCUDA 12系は使える?

👉 使えます(問題なし)

ただし条件あり:

  • ドライバが新しいこと

もし動かない場合は:

👉 CUDA 11.8(cu118)版を使うのが安定


embed版Pythonでの注意点

python-3.11.9-embed-amd64 はそのままだと制限があります:

  • pipが使えない
  • site-packagesが無効
  • 仮想環境なし

👉 そのため事前設定が必要です


環境構築手順(最短)

① pipを有効化

python -m ensurepip

② _pthファイルを編集

python311._pth を開いて:

#import site

↓変更

import site

③ pipを更新

python -m pip install --upgrade pip

④ CUDA対応PyTorchをインストール(cu118)

pip install torch --index-url https://download.pytorch.org/whl/cu118

👉 これだけでGPU推論可能


torchvision / torchaudioは必要?

結論:

👉 基本不要

必要になるケース

ライブラリ 用途
torchvision 画像処理
torchaudio 音声処理

不要なケース

  • LLM(テキスト系)
  • 一般的な推論
  • 多くの最近のAIツール

👉 embed環境では 最小構成(torchのみ)がベスト


動作確認

以下を実行:

import torch
print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0))

👉 True が出れば成功


よくあるトラブル

GPUが認識されない

  • ドライバが古い

DLLエラー

  • Visual C++ランタイム不足

embed版特有の問題

  • _pth未設定
  • PATH未設定

まとめ

  • CUDAは自動では入らないが
    👉 PyTorchが必要分を持ってくる
  • embed版でもGPU推論は可能
  • 最小構成はこれ👇
pip install torch --index-url https://download.pytorch.org/whl/cu118

👉 これが一番シンプルで安定


おわりに

ポータブル環境(embed版Python)+GPU推論は少しクセがありますが、仕組みを理解すればかなりシンプルに構築できます。