この項目で混ざったもの
ハード側GPUがC言語のプログラムに対応したソフト側CUDAでGPUに計算を任せるようになった
NVIDIAのFermiホワイトペーパーは、2006年11月に登場したG80搭載のGeForce 8800を、GPUで計算を行う技術に多くの新機軸をもたらした製品と位置づけ、「G80はCに対応した最初のGPUだった」と書いています。CUDAプログラミングガイドは、2006年にNVIDIAがCUDA(Compute Unified Device Architecture)を発表したと記しています。公式の一覧では、CUDA Toolkit 1.0は2007年6月、2.0は2008年8月です。
CUDAについて、ガイドは「画面描画の仕組みに頼らず、あらゆる計算にGPUの処理能力を使えるようにするもの」と説明しています。ハード側のGPUは、数千の処理の流れを同時に動かすことに向いた設計で、CPUが記憶の一時置き場や制御に多くのトランジスタを使うのに対し、GPUはデータを計算する部分に多く使います。ガイドは、2003年までにグラフィックスの処理の一部が自由にプログラムできるようになっていたとも書いています。ソフト側では、C++などの言語でGPU向けのプログラムを書き、CUDAを通してその計算力を呼び出します。つまり、GPUという回路の作りと、それを使うための言語・道具が、セットで提供されるようになりました。
NVIDIAの開発者ブログによると、CUDAの前身はスタンフォード大学で作られた「Brook」で、2004年にその開発者のイアン・バック氏がこの研究をNVIDIAに持ち込んだと書かれています。同社はGPUの計算利用の可能性を探りたかったと説明しています。それまでのGPUのプログラムは、画面の各点に対して数命令ほどの小さな処理を毎秒60回動かすものだったとも書かれています。
その後、CUDAはC、C++、Fortran、Python、MATLABなどから使えるようになり、2012年のNVIDIA公式ブログは、ダウンロードが2千万回を超えたと書いています。ガイドによれば、OpenAIのTritonのような新しい言語もCUDAの上で動きます。次の項目のAlexNetは、GPUで画像認識のネットワークを学習させた例です。
- G80搭載GeForce 8800
- 2006年11月(NVIDIA Fermiホワイトペーパー)
- CUDAの発表
- 2006年(CUDAプログラミングガイド)
- CUDA Toolkit 1.0
- 2007年6月(NVIDIA公式アーカイブ)
- CUDAのダウンロード数
- 2千万回超(2012年9月のNVIDIA公式ブログ)
確認できていない点
- CUDA発表の月日(ガイドは「2006年」までの記載)
- 2006年当時のG80・CUDAのプレスリリース原文(公式サイトの旧URLは取得できなかった)
- 公式アーカイブ上のCUDA Toolkit 1.1の日付は表記が食い違うため使っていない
出典
- CUDA Programming Guide: Introduction(NVIDIA)
- NVIDIA's Next Generation CUDA Compute Architecture: Fermi(NVIDIA)
- CUDA Toolkit Archive(NVIDIA)
- Inside the Programming Evolution of GPU Computing(NVIDIA開発者ブログ)
- What Is CUDA(NVIDIA公式ブログ)
2026年10月18日に、上の出典(会社・研究機関の公式の資料と原著論文)を読んで確かめました。製品の仕様や提供状況は変わることがあります。この記事は、製品を試した記録ではありません。