---
title: "CUDAとは？読み方・仕組み・CUDAコア・バージョン13までNVIDIAのGPU並列計算を解説"
url: "https://www.issoh.co.jp/tech/details/4902/"
published: 2025-01-20
updated: 2026-09-29
categories: ["API"]
publisher: "株式会社一創"
---

# CUDAとは？読み方・仕組み・CUDAコア・バージョン13までNVIDIAのGPU並列計算を解説

CUDA（読み方は「クーダ」、Compute Unified Device Architecture）は、NVIDIAが2006年に発表したGPU向けの並列計算プラットフォームです。GPUに載った数千個のコアへ計算を割り振り、CPUだけでは何日もかかる処理を数時間に短縮します。生成AIの学習・推論、科学技術計算、動画編集などが主な用途で、最新のGPUサーバーやAI開発機（[DGX Sparkとは？スペックと実測性能・OEM互換機との違い](https://www.issoh.co.jp/tech/details/9498/)）もこのCUDAを前提に設計されています。この記事では、読み方や仕組みといった基礎から、CUDAコアとTensorコアの違い、バージョン13でのGPU対応、AMDでの可否、プログラミングの始め方までを2026年時点の最新情報で整理します。

## まとめ：CUDAの要点（先に結論）

- **CUDA＝NVIDIA専用**のGPU並列計算プラットフォーム。読み方は「クーダ」。C／C++をベースに書け、Toolkit自体は無償で使える。
- **コアは役割で分かれる**：汎用計算のCUDAコア、AI向け行列演算のTensorコア、レイトレーシングのRTコア。AIの高速化はTensorコアが担う。
- **最新はCUDA Toolkit 13.3（2026年5月）**。13.0以降はTuring（Compute Capability 7.5）より前の世代（Maxwell／Pascal／Volta）を切り捨てたため、古いGPUでは12系を使う。
- **AMD GPUでCUDAは動かない**。代替はAMDのROCm／HIP。移植性を上げる仕組みはあるが、CUDA資産をそのままは使えない。
- PyTorchやTensorFlowを使うだけなら**CUDAコードを自分で書く必要はない**。フレームワークが内部でCUDA／cuDNNを呼ぶ。自作カーネルで高速化したい人だけが直接触る。

## CUDAとは何か——NVIDIAのGPU並列計算プラットフォーム

CUDAは、グラフィックス描画用に作られたGPUを「汎用の計算機」として使うための仕組みです。GPUは1個あたりの性能はCPUコアに劣りますが、数千個が同時に動くため、同じ計算を大量のデータへ一斉に適用する処理（行列演算やシミュレーション）で圧倒的に速くなります。NVIDIAは2006年にCUDA対応GPU「GeForce 8800 GTX」を発表し、翌2007年に開発キット（SDK）を一般公開しました。以降のNVIDIA製GPUはすべてCUDAに対応しています。

「CUDAで何ができるのか」を具体的に言えば、AIモデルの学習と推論、気象・分子動力学などの科学シミュレーション、医用画像処理、動画のエンコード、金融のリスク計算などです。これらはいずれも「同じ演算を膨大な回数繰り返す」タイプの処理で、GPU並列化が効く領域と一致します。AI・機械学習・深層学習の関係を整理したい場合は[AI・ML・DLの違いとは？機械学習と深層学習の関係](https://www.issoh.co.jp/column/details/2914/)もあわせて確認してください。

## CUDAの仕組み——スレッド・ブロック・グリッドとSM

CUDAの並列計算は、計算を細かい単位に分けてGPU上の多数の演算器へ配る、という発想で動きます。理解の要は「実行の階層」と「メモリの階層」の2つです。

### スレッド・ブロック・グリッドの階層

計算の最小単位が**スレッド**で、1つのスレッドが1要素分の計算を担当します。スレッドを束ねたものが**ブロック**、ブロックを束ねたものが**グリッド**です。開発者はカーネル（GPUで動く関数）を呼ぶときに「ブロック数」と「1ブロックあたりのスレッド数」を指定し、どれだけ並列に走らせるかを決めます。1ブロックあたりのスレッド数はWarp幅の32の倍数（実用上は128〜256）に揃えると演算器を無駄なく使えます。

### SM（Streaming Multiprocessor）とWarp

GPU内部では、複数のCUDAコアをまとめた**SM（Streaming Multiprocessor）**が実際のスケジューリングを担います。SMはスレッドを32個単位の**Warp（ワープ）**にまとめ、Warp内の32スレッドは同じ命令を同時に実行します。ここで条件分岐が分かれると、片方の経路のスレッドが待たされて性能が落ちるため（分岐発散）、Warpがなるべく同じ経路を通るように書くのが高速化の基本です。「sm cuda」「cuda sm」で調べられるのはこの構造のことです。

### メモリ階層（グローバル・シェアード・レジスタ）

速度と共有範囲の違うメモリを使い分けます。全スレッドから見える大容量の**グローバルメモリ**は低速、SM内のスレッドで共有する**シェアードメモリ**は高速、各スレッド専用の**レジスタ**が最速です。頻繁に触るデータをシェアードメモリへ置き、グローバルメモリへのアクセス回数を減らすことが、実測でいちばん効く最適化になります。

## CUDAコア・Tensorコア・RTコアの違い

NVIDIAのGPUには役割の異なる3種類の演算器が載っています。「cudaコア」と「tensor core」を混同しやすいので、用途で分けて押さえます。

| コア       | 役割         | 得意な演算                 | 主な用途               |
| -------- | ---------- | --------------------- | ------------------ |
| CUDAコア   | 汎用の並列計算    | 単精度／倍精度のスカラー演算        | 科学計算・物理演算・一般的な並列処理 |
| Tensorコア | AI向けの専用演算  | 行列の積和（MMA、FP16／INT8等） | ディープラーニングの学習・推論    |
| RTコア     | レイトレーシング専用 | 光線と物体の交差判定            | リアルタイムの3Dレンダリング    |

**CUDAコア**は何にでも使える汎用の演算器で、数の多さがそのまま並列性能につながります。**Tensorコア**はVolta世代（2017年）から搭載された専用回路で、4×4といった小さな行列の積和を1度にまとめて処理します。AIの計算はほぼ行列演算なので、AI用途では少数のTensorコアが多数のCUDAコアを上回る速度を出します。**RTコア**はゲームや映像のレイトレーシング専用で、AI計算には使いません。つまり「AIを速くしているのは主にTensorコア、汎用計算はCUDAコア」と整理できます。

## CUDAのバージョンとGPU対応——Toolkit 13とCompute Capability【2026年7月】

CUDAは「どのGPU世代まで動くか」がバージョンで変わるため、導入前に対応関係を確認しておく価値があります。2026年7月時点の最新はCUDA Toolkit 13.3（2026年5月リリース）です。

節目は2025年8月の**CUDA Toolkit 13.0**でした。ここでTuring（Compute Capability 7.5）より前の世代——Maxwell・Pascal・Volta——のオフラインコンパイル対応が削除されています。これらの古いGPUを使う環境では、13系ではなく**CUDA 12系を使い続ける**のが安全です。あわせて13.0では、従来のSIMTモデルに加えたタイルベースのプログラミングの基盤や、サーバー用と組み込み用のArmプラットフォーム統一が導入されました。

**Compute Capability**は、GPUが対応する機能レベルを示す番号です。手持ちのGPUがどの番号かで、使えるCUDAバージョンや機能が決まります。主な対応は次のとおりです。

| アーキテクチャ              | Compute Capability | 代表的なGPU             | CUDA 13対応  |
| -------------------- | ------------------ | ------------------- | ---------- |
| Maxwell／Pascal／Volta | 5.x／6.x／7.0        | GTX 900／10シリーズ、V100 | 非対応（12系まで） |
| Turing               | 7.5                | RTX 20シリーズ、T4       | 対応（下限）     |
| Ampere               | 8.0／8.6            | A100、RTX 30シリーズ     | 対応         |
| Ada Lovelace         | 8.9                | RTX 40シリーズ、L4       | 対応         |
| Hopper               | 9.0                | H100／H200           | 対応         |
| Blackwell（データセンター）   | 10.0               | B200、GB200          | 対応         |
| Blackwell（コンシューマ）    | 12.0               | RTX 50シリーズ          | 対応         |

数値やリリース状況は更新が速いため、実際に使う前にNVIDIA公式のリリースノートで最新を確認してください。自前でGPUサーバーを持たずクラウドで最新世代を借りる選択肢もあり、その形態は[GPU特化で従来型と一線を画すネオクラウドの定義と3つの技術的優位性](https://www.issoh.co.jp/tech/details/11760/)で整理しています。

## CUDAプログラミングの基礎——カーネルと実行構成

CUDAプログラムは、CPU（ホスト）が全体を制御し、GPU（デバイス）が並列計算を担う分業で書きます。GPUで実行する関数を**カーネル**と呼び、`__global__`を付けて定義します。カーネルの中では、スレッド固有の番号から自分が担当するデータの位置を計算します。

```
__global__ void add(int *a, int *b, int *c, int N) {
    int i = threadIdx.x + blockIdx.x * blockDim.x;
    if (i < N) c[i] = a[i] + b[i];
}
```

呼び出し側では、`<<<ブロック数, スレッド数>>>`という専用の構文で並列度を指定します。データはCPUとGPUの間でコピーが必要で、この転送がボトルネックになりやすいため、転送回数を減らすのが定石です。

```
int threads = 256;
int blocks = (N + threads - 1) / threads;
cudaMemcpy(a, a_host, size, cudaMemcpyHostToDevice);
cudaMemcpy(b, b_host, size, cudaMemcpyHostToDevice);
add<<<blocks, threads>>>(a, b, c, N);
cudaMemcpy(c_host, c, size, cudaMemcpyDeviceToHost);
```

ここで重要な実務上の注意があります。**PyTorchやTensorFlowでAIを動かすだけなら、こうしたカーネルを自分で書く必要はありません**。フレームワークが内部でCUDAと最適化済みライブラリ（cuDNNなど）を呼び出すためです。CUDAを直接書くのは、既存フレームワークでは足りない独自処理を最速化したいエンジニアに限られます。まず動かすなら、対応バージョンのCUDA Toolkitを入れてPyTorch等から使うのが近道です。

入れる前に、手元のドライバがどのCUDAまで扱えるかを確かめます。nvidia-smiのヘッダに出るCUDA Versionはドライバ側の値で、入れたToolkitの版とは別物です。見方は[nvidia-smiの使い方｜GPU使用率とメモリの見方・CSV記録・DCGMへの移行判断](https://www.issoh.co.jp/tech/details/17936/)で解説しています。

## CUDAとCPU・AMD・Vulkanの違い

「cuda cpu」「amd cuda」「vulkan cuda 違い」といった比較クエリは、CUDAの立ち位置を確かめたい人の疑問です。それぞれ性質が違います。

### CUDAとCPUの違い

CPUは数個〜数十個のコアで、分岐や順序処理を含む複雑なタスクを速く片づけるのが得意です。GPUは数千コアで、同じ演算を大量データへ一斉適用するのが得意です。CUDAはこのGPUの並列性を引き出す層であり、CPUを置き換えるものではありません。実際のプログラムでも、制御はCPU、重い並列計算はGPU、という役割分担で使います。

### AMD GPUでCUDAは動くか（ROCm／HIP）

CUDAはNVIDIA専用で、**AMDのGPUでは動きません**。AMD側の対応技術が**ROCm**（2016年に登場したオープンな計算プラットフォーム）と、その上で使うC++向けのAPI**HIP**です。HIPはCUDAに近い書き方ができ、CUDAコードをHIPへ変換する移植ツールもありますが、cuDNNなどNVIDIA独自ライブラリに依存した資産はそのまま持ち込めません。「NVIDIAでもAMDでも動くコードを書きたい」なら最初からHIPやOpenCLを選ぶ、という判断になります。

### VulkanやOpenCLとの違い

VulkanはグラフィックスとGPU計算を扱うクロスプラットフォームAPIで、複数ベンダーのGPUで動きます。OpenCLも同様にベンダー横断の汎用計算APIです。これらが「移植性」を重視するのに対し、CUDAは「NVIDIAに特化する代わりに、ライブラリと最適化の充実で開発しやすい」路線です。AI分野でCUDAが事実上の標準になっているのは、cuDNNをはじめとするエコシステムの厚みが理由です。

## CUDA-Xライブラリと開発環境

CUDAの強みは言語仕様よりも、周辺のライブラリとツールにあります。数学・AI向けの最適化済みライブラリ群は**CUDA-X**と総称され、代表例が行列計算のcuBLAS、ディープラーニングのcuDNN、高速フーリエ変換のcuFFTです。これらを呼ぶだけで、自分でカーネルを書かずに高速な計算が得られます。

開発には**CUDA Toolkit**を入れます。コンパイラのnvcc、ランタイム、上記ライブラリ、サンプルが含まれ、Windows／Linuxに対応します（近年のToolkitはmacOSでの新規開発対象外）。性能の詰めには、カーネル単位で解析するNsight Compute、ホストとGPUの連携を俯瞰するNsight Systemsといったプロファイラを使い、ボトルネックを実測してから直すのが定石です。

## よくある質問（FAQ）

### CUDAの読み方は？

「クーダ」と読みます。Compute Unified Device Architecture（計算統合デバイスアーキテクチャ）の略です。

### CUDAは無料で使えますか？

CUDA Toolkit自体はNVIDIAから無償で提供されています。ただし動かすにはCUDA対応のNVIDIA製GPUが必要です。

### AMDやIntelのGPUでCUDAは使えますか？

使えません。CUDAはNVIDIA専用です。AMDはROCm／HIP、汎用にはOpenCLやVulkanが代替になります。

### 自分のGPUが最新CUDAに対応しているか、どう調べますか？

GPUのCompute Capabilityを確認します。7.5（Turing）以上ならCUDA 13系に対応し、それより前のMaxwell／Pascal／Volta世代はCUDA 12系までです。番号はNVIDIA公式の対応表で確認できます。

### PyTorchを使うだけでもCUDAを学ぶ必要がありますか？

基本的に不要です。PyTorchやTensorFlowが内部でCUDAを呼ぶため、対応バージョンのToolkitを入れれば足ります。CUDAプログラミングは、独自処理を自前で高速化したい場合に学べば十分です。あわせて、[cuda-oxideのDisjointSlice](https://www.issoh.co.jp/tech/details/12683/)についても解説しています。

## 関連記事

- [DGX Sparkとは？スペックと実測性能・OEM互換機との違い・価格【2026年7月】](https://www.issoh.co.jp/tech/details/9498/)
- [GPU特化で従来型と一線を画すネオクラウドの定義と3つの技術的優位性](https://www.issoh.co.jp/tech/details/11760/)
- [AI・ML・DLの違いとは？機械学習と深層学習の関係を具体例でわかりやすく解説](https://www.issoh.co.jp/column/details/2914/)

---

出典: [CUDAとは？読み方・仕組み・CUDAコア・バージョン13までNVIDIAのGPU並列計算を解説](<https://www.issoh.co.jp/tech/details/4902/>)（株式会社一創）
