NVIDIA Tesla P40

NVIDIA Tesla P40
NVIDIA Tesla P40 グラフィックカードのレビュー

NVIDIA Tesla P40:なぜ2016年のGPUでLLMを動かすのか

NVIDIA Tesla P40は、ニューラルネットワーク向けのサーバー用アクセラレーターとして2016年に登場した。それから10年が経過した現在、24 GBのビデオメモリを搭載している点で注目を集めている。この容量があれば、安価なゲーミングGPUの多くではビデオメモリに収まらない、パラメーター数30~32 billionの一部の言語モデルを実行できる。

ただし、Pascalアーキテクチャによって性能は大きく制限される。Tesla P40にはTensor Coresがなく、FP16の計算は遅い。また、パッシブ冷却のため、一般的なコンピューターに搭載するには手を加える必要がある。2026年において、その24 GBはどれほど役立つのだろうか。

Pascalアーキテクチャで24 GBのメモリ

Tesla P40は、GeForce GTX 1080 Tiと同系統のGP102チップを採用している。CUDAコア数は3840基で、GPUクロックは1303~1531 MHz。384-bitバスと346 GB/sの帯域幅を備えたGDDR5メモリを搭載する。

GP100チップとHBM2メモリを採用するTesla P100とは異なり、P40は主にニューラルネットワークの推論を想定している。FP16性能は約0.19 TFLOPSで、FP32の約64分の1にとどまる。

GPU メモリ 帯域幅 FP16 Tensor Cores
NVIDIA Tesla P40 24 GB GDDR5 346 GB/s 約0.19 TFLOPS なし
NVIDIA Tesla P100 PCIe 16 GB HBM2 732 GB/s 18.7 TFLOPS なし
NVIDIA Tesla V100 PCIe 32 GB HBM2 900 GB/s 約28 TFLOPS 640

NVIDIAはP40について、FP32で最大12 TFLOPS、INT8で47 TOPSを公称していた。しかし、これらの数値を現代のLLMの速度にそのまま置き換えることはできない。結果は、モデルのフォーマット、使用される演算、ソフトウェアの最適化によって変わる。

llama.cppのベンチマークにおける性能

Tesla P40では、テキスト生成のテストが最も参考になる。以下は、Q4_0量子化を適用したLlama 2 7Bを用いたllama.cppの結果だ。

GPU メモリ 入力処理、tok/s 生成、tok/s
NVIDIA Tesla P40 24 GB 1007 54.7
NVIDIA Tesla P100 16 GB 761 58.4
NVIDIA Tesla V100 32 GB 3043 129.1
NVIDIA GeForce RTX 3060 12 GB 2138 75.6
NVIDIA GeForce RTX 3090 24 GB 5175 158.2

llama-benchのテスト:入力トークン512個(pp512)の処理と、128トークン(tg128)の生成。Flash Attentionを使用しないCUDA。結果は異なるシステムとバージョンのllama.cppで取得されているため、比較は目安となる。

テキスト生成では、メモリ帯域幅が大幅に低いにもかかわらず、Tesla P40はP100にほとんど引けを取らない。RTX 3060は約38%高速で、RTX 3090はほぼ3倍高速だ。

入力リクエストの処理では差がさらに大きく、RTX 3090はP40を5倍以上上回る。これは、回答を生成する前に数千個の入力トークンを処理する必要がある、長いドキュメントを扱う場合に特に顕著になる。

ただし、Llama 2 7Bは8 GBのビデオメモリにも収まる。このテストで分かるのはGPUの速度であり、P40の最大の利点、つまりより大規模なモデルを実行できる点は明らかにならない。

24 GBに収まるLLM

良い例がQwen2.5-32B-Instructだ。Q4_K_M量子化を適用したGGUF形式では、モデルの重みが約19.9 GBを占める。Tesla P40にはKVキャッシュと計算用バッファーのための空きも残るが、利用できるコンテキスト長は起動設定によって異なる。

RTX 3060 12 GBには、このモデル全体を収めることはできない。より強い量子化を使うか、計算の一部をシステムメモリに移す必要がある。

Tesla P40で実行できるモデルは、モデルのサイズとフォーマットによって変わる。

  • 7B~8B: Q4、Q8、比較的長いコンテキストを収めるのに十分なメモリがある。
  • 14B: 多くのモデルはQ8_0でも収まり、補助データ用のメモリも残る。
  • 30B~32B: KVキャッシュやその他のバッファーを適切なサイズにすれば、Q4で実行できる。

収まることと性能は混同してはならない。パラメーター数32 billionのモデルでは、Llama 2 7Bより大幅に多くの計算が必要になる。上記の結果を、そのモデルの速度評価に使うことはできない。別途テストが必要だ。

量子化されたGGUFモデルをローカルで実行するには、互換性のあるCUDAバックエンドを備えたllama.cppを利用できる。大きなドキュメントを頻繁に処理したり、複数のユーザーが同時に利用したりする場合は、P40の制限がより顕著になる。

一般的なコンピューターへの搭載

Tesla P40は、強制空冷を行うサーバー向けに設計されている。カード自体にファンはなく、最大消費電力は250 Wに達する。

搭載時には、以下の点を考慮する必要がある。

  • 冷却。 ヒートシンクに向けて空気を流す必要があり、通常は専用のファンとダクトを用意する。
  • 電源。 サーバー用のCPU/EPS 8ピンを使用する。通常のPCIe 8ピンケーブルを代わりに直接接続してはならない。
  • 映像出力。 HDMIとDisplayPortは搭載していない。モニターは別のグラフィックスアダプターに接続する必要がある。
  • サイズ。 基板の長さは約267 mmで、厚さは2スロット。

ソフトウェアサポートにも別の制限がある。Tesla P40のCompute Capabilityは6.1だ。CUDA Toolkit 13.0で、NVIDIAはPascal向けアプリケーションのコンパイルサポートを終了した。

このアーキテクチャ向けにプログラムをビルドするには、CUDA Toolkit 12.9以前の互換性のあるバージョンが必要になる。PascalをサポートするNVIDIAドライバーの最新系列はR580で、2028年6月までの保守が予定されている。

これは、記載された日付以降にP40が動作しなくなるという意味ではない。ただし、新しいバージョンの計算ライブラリでは、より新しいGPUが必要になる可能性があるため、プログラムの互換性は個別に確認する必要がある。

2026年にTesla P40を使う価値はあるか

Tesla P40は、24 GBのメモリによって実用的な価値を保っている。RTX 3060 12 GBやTesla P100 16 GBには収まらない量子化LLMを実行できるためだ。一方で、大容量のビデオメモリを必要としない処理では、どちらのカードのほうが高速な場合もある。

同じ24 GBを搭載するRTX 3090は、生成速度とリクエスト処理速度でP40を大幅に上回る。Tesla V100も大幅に高速だが、16 GB版では大規模モデルの選択肢が制限される。32 GB版ならこの問題を解決できる。

P40を選ぶ際は、カード本体の価格だけを考えてはならない。追加の冷却、適切な電源、最大250 Wの消費電力、互換性のあるソフトウェアスタックを使う必要性によって、運用コストは増加する。

ローカルLLMに必要なのがまさに24 GBのメモリで、高い速度が必須ではなく、完成したシステムの価格が代替製品より大幅に安い場合、Tesla P40には意味がある。 長期的な利用を前提とした新しいワークステーションでは、より新しいGPUのほうが望ましい。

GPUの比較

Tesla P40を他のGPUsと比較

ドロップダウンリストからGPUを選択してください。

基本

レーベル名
NVIDIA
プラットホーム
Professional
発売日
September 2016
モデル名
Tesla P40
世代
Tesla Pascal
ベースクロック
1303MHz
ブーストクロック
1531MHz
バスインターフェース
PCIe 3.0 x16
トランジスタ
11,800 million
TMU
テクスチャマッピングユニット(TMUs)は、二進画像を回転、スケーリング、歪曲して、それを3Dモデルの任意の平面にテクスチャとして配置することができるGPUのコンポーネントです。このプロセスはテクスチャマッピングと呼ばれます。
240
ファウンドリ
TSMC
プロセスサイズ
16 nm
アーキテクチャ
Pascal

メモリ仕様

メモリサイズ
24GB
メモリタイプ
GDDR5X
メモリバス
メモリバス幅とは、1クロックサイクル内にビデオメモリが転送できるデータのビット数を指します。バス幅が大きいほど、一度に転送できるデータ量が多くなります。メモリバンド幅の計算式は次の通りです:メモリバンド幅 = メモリ周波数 x メモリバス幅 / 8。
384bit
メモリクロック
1808MHz
帯域幅
メモリバンド幅は、グラフィックチップとビデオメモリ間のデータ転送速度を指します。単位はバイト/秒で、計算式は次の通りです:メモリバンド幅 = 動作周波数 × メモリバス幅 / 8ビット。
694.3 GB/s

ディスプレイとメディア

出力
No outputs

理論上の性能

ピクセルレート
ピクセル塗りつぶし率は、グラフィックスプロセッシングユニット(GPU)が1秒あたりにレンダリングできるピクセル数を指します。これは、MPixels/s(百万ピクセル/秒)またはGPixels/s(十億ピクセル/秒)で測定されます。これはグラフィックスカードのピクセル処理性能を評価するために最も一般的に使用される指標です。
147.0 GPixel/s
テクスチャレート
テクスチャ塗りつぶし率は、GPUが1秒間にピクセルにマッピングできるテクスチャマップ要素(テクセル)の数を指します。
367.4 GTexel/s
FP16 (半精度)
GPUパフォーマンスを測定する重要な指標は浮動小数点計算能力です。半精度浮動小数点数(16ビット)は、精度が低くても許容可能な機械学習のようなアプリケーションで使用されます。単精度浮動小数点数(32ビット)は、一般的なマルチメディアやグラフィックス処理のタスクで使用され、倍精度浮動小数点数(64ビット)は、広範で高精度が求められる科学計算に必要です。
183.7 GFLOPS
FP64 (倍精度)
GPUパフォーマンスを測定する重要な指標は浮動小数点計算能力です。倍精度浮動小数点数(64ビット)は、広範で高精度が求められる科学計算に必要です。単精度浮動小数点数(32ビット)は、一般的なマルチメディアやグラフィックス処理のタスクで使用されます。半精度浮動小数点数(16ビット)は、精度が低くても許容可能な機械学習のようなアプリケーションで使用されます。
367.4 GFLOPS
FP32 (浮動小数点)
GPU のパフォーマンスを測定するための重要な指標は、浮動小数点コンピューティング能力です。 単精度浮動小数点数 (32 ビット) は一般的なマルチメディアおよびグラフィックス処理タスクに使用されますが、倍精度浮動小数点数 (64 ビット) は広い数値範囲と高精度が要求される科学計算に必要です。 半精度浮動小数点数 (16 ビット) は、精度が低くても許容される機械学習などのアプリケーションに使用されます。
11.995 TFLOPS

その他

SM数
ストリーミングプロセッサ(SP)は他のリソースとともに、ストリーミングマルチプロセッサ(SM)を形成し、これはGPUの主要コアとも呼ばれます。これらの追加リソースには、ワープスケジューラ、レジスタ、共有メモリなどのコンポーネントが含まれます。SMは、レジスタや共有メモリが希少なリソースであるGPUの中心部と考えることができます。
30
シェーディングユニット
最も基本的な処理単位はストリーミングプロセッサ(SP)で、特定の指示とタスクが実行されます。GPUは並行計算を行い、複数のSPが同時にタスクを処理します。
3840
L1キャッシュ
48 KB (per SM)
L2キャッシュ
3MB
TDP
250W
Vulkanのバージョン
Vulkanは、Khronos Groupによるクロスプラットフォームのグラフィックスおよび計算APIで、高性能と低CPU負荷を提供します。開発者がGPUを直接制御し、レンダリングのオーバーヘッドを減らし、マルチスレッドとマルチコアプロセッサをサポートします。
1.3
OpenCLのバージョン
3.0
OpenGL
4.6
CUDA
6.1
DirectX
12 (12_1)
電源コネクタ
8-pin EPS
ROP
ラスタオペレーションパイプライン(ROPs)は、ゲーム内の照明や反射計算を主に取り扱い、アンチエイリアシング(AA)、高解像度、煙、火などの効果を管理します。ゲームのAAと照明効果が高いほど、ROPsの性能要求が高くなります。
96
シェーダモデル
6.7
推奨PSU
600W

ベンチマーク

FP32 (浮動小数点)
スコア
11.995 TFLOPS
Blender
スコア
802
OctaneBench
スコア
163

他のGPUとの比較

FP32 (浮動小数点) / TFLOPS
12.603 +5.1%
12.485 +4.1%
11.995
11.567 -3.6%
11.113 -7.4%
Blender
2476 +208.7%
1399.99 +74.6%
802
391 -51.2%
191.62 -76.1%
OctaneBench
1328 +714.7%
163
86 -47.2%