世界を動かす技術を、日本語で。

CUDAに関する書籍

概要

このリストは、 CUDAプログラミング に関する主要な書籍を初級から上級まで網羅。 C++/Python、アーキテクチャ、最適化、2024–2026年の最新刊も掲載。 実践的かつ高品質 なリソースに重点を置く。 貢献方法 や関連リストへのリンクも記載。 CUDAによる NVIDIA GPU並列計算 の学習・実装に最適。

CUDAプログラミング主要書籍リスト

  • 初級/入門書

    • CUDA by Example: An Introduction to General-Purpose GPU Programming 著:Jason Sanders & Edward Kandrot(2010, Addison-Wesley) ・不朽の名作、例題中心、最初の一冊に最適
    • Learn CUDA Programming 著:Jaegeun Han & Bharatkumar Sharma(2019, Packt) ・CUDA 10+対応の現代的入門〜中級書、GitHubリポジトリ付き
    • CUDA for Engineers: An Introduction to High-Performance Parallel Computing 著:Mete Yurtoglu & Duane Storti(2016, Addison-Wesley) ・科学者や非CSエンジニア向け、実践プロジェクト多数
  • コアアーキテクチャ/並列プログラミング

    • Programming Massively Parallel Processors: A Hands-on Approach(第3版) 著:David B. Kirk & Wen-mei W. Hwu(2022) ・GPUアーキテクチャ解説の決定版、世界中の大学で採用
  • 実践・ハンズオンガイド

    • Programming in Parallel with CUDA: A Practical Guide 著:Richard Ansorge(2022, Cambridge University Press) ・科学計算例(ステンシル、モンテカルロ、画像処理)、最新C++対応
    • Professional CUDA C Programming 著:John Cheng, Max Grossman & Ty McKercher(2014, Wrox) ・実運用レベル、マルチGPU、ストリーム、ライブラリ、パフォーマンス落とし穴
    • GPU Parallel Program Development Using CUDA 著:Tolga Soyata(2018, Chapman & Hall/CRC) ・cuBLAS, cuFFT, Thrust, NPP等ライブラリ活用、OpenCL比較
    • CUDA for Deep Learning 著:Elliot Arledge(2025, Manning) ・ディープラーニング向けCUDA最適化、Nsight Computeプロファイリング
  • 上級/最適化/リファレンス

    • The CUDA Handbook: A Comprehensive Guide to GPU Programming 著:Nicholas Wilt(2013) ・全API詳細、低レベルテクニック満載
    • CUDA Programming: A Developer's Guide to Parallel Computing with GPUs 著:Shane Cook(2013, Morgan Kaufmann) ・並列アルゴリズム、最適化パターン、ベストプラクティス
    • CUDA Application Design and Development 著:Rob Farber(2011, Morgan Kaufmann) ・研究用途の実例、スケーラブル設計
  • Python & 高レベルCUDA

    • Hands-On GPU Programming with Python and CUDA 著:Brian Tuomanen(2018, Packt) ・Pythonユーザー向け、Numba, CuPy, 生バインディング
    • GPU Programming with C++ and CUDA 著:Paulo Motta(2024, Packt) ・最新C++20 + Python連携(pybind11)
  • 最新刊・2022–2026年リリース

    • Programming in Parallel with CUDA (Ansorge, 2022)—上記参照

    • Programming Massively Parallel Processors(第3版) (Kirk & Hwu, 2022)—上記参照

    • GPU Programming with C++ and CUDA (Motta, 2024)—上記参照

    • CUDA for Deep Learning (Arledge, 2025, Manning)—上記参照

    • 注目の2024–2026年タイトル(主に専門書・セルフパブリッシュ)

      • CUDA C++ Optimization – David Spuler(2024) ・カーネル性能・メモリチューニング
      • CUDA C++ Debugging – Dr. David Spuler(2024) ・エラーチェック・Nsight
      • CUDA Programming from Basics to Advanced – Finbarrs Oketunji(2024, CUDA 12.6対応)
      • CUDA Mastery – Elbert Gale(2024) ・科学シミュレーション・CUDA-X
      • CUDA in Action – Leon Chapman(2024) ・Tensor Cores・マルチGPU
      • Mastering CUDA C++ Programming – Brett Neutreon(2024)/Toby Webber(2025) ・包括的C++ガイド
      • High-Performance Computing with C++26 and CUDA 13 – William M. Crutcher(2026)
    • プロTIP ・CUDAは進化が速い。 公式CUDA C++ Programming Guide(v13.x, 2026) の併用推奨

貢献方法

  • 貢献歓迎
    • 新しい高品質書籍を追加したい場合、タイトル・著者・年・概要・リンクを添えてPR提出
    • 2018年以降の本、または今も有用なクラシック推奨
    • コードや実例が豊富で評価の高い書籍のみ掲載

関連Awesomeリスト

  • Awesome-CUDA — ツール・ライブラリ集
  • Awesome-GPU
  • awesome-parallel-computing
  • このリストが役立ったらStarを!

MITライセンス © Dariush Abbasi & Altern インスピレーション元:GoBooks

Hackerたちの意見

「AIシステムパフォーマンスエンジニアリング」も言及する価値があるかもね、CUDAに厳密には含まれないけど。

入門と基本を学ぶには、https://www.olcf.ornl.gov/cuda-training-series/ を見るのが好きだったな。

この本の後の本はすごく読みやすかった。

最近、NVIDIAの内輪の人たちが自分でCUDAカーネルを書くのはやめた方がいいって言ってるよね(NVIDIAでそれが本業じゃない限り)。 [1] https://adspthepodcast.com/2024/08/30/Episode-197.html

NVIDIAで働いてるかどうかは関係ないよ。必要なことをやってくれる高レベルのライブラリがあるなら、CUDAカーネルを書くのは避けた方がいい。学びたいとか、低レベルの制御が必要な場合、またはマイクロ最適化が必要な場合は書いてもいいけどね。メモリトラフィックを避けたり、より特化した処理をするためにカーネルを融合させることができるのも、生のCUDAを使う理由の一つだよ。結局、仕事に合ったツールを考えることが大事だね…

それはクールだけど、NVIDIAはBlackwellをリリースしたのに、まだsm120用の壊れてないカーネルを出してないんだ。sm120はデータセンター用のGPUじゃないから、あんまり注目されてないんだよね。だから、NVIDIAが正しいことをしてくれるとは期待できないってことが言いたいんだ、残念ながら。

そのアドバイス、全然意味わかんない。Cを避けろって言うのと同じで、Python使えるからって言ってるようなもんだし、グラフィックスエンジンを書くのを避けろって、Unrealをライセンスすればいいってこと?

自分でリダクションみたいなものを書くのは、よっぽどの理由がない限り避けたほうがいいと思う。でも、これって「全部自分で実装すれば楽しいよ!」って言ってるようなもんで、結局Nvidiaのハードウェアにさらに縛られちゃう気がする。

最初にクリックしたのは404: 「Programming Massively Parallel Processors: A Hands-on Approach (3rd Edition)」だった。 https://www.cambridge.org/core/books/programming-in-parallel...

最新版は第4版だと思うよ。

Pythonと高レベルCUDAに関するセクションについてだけど、興味がある人はまずWarpをちょっと覗いてみるといいかも。まだ本が出てないくらい新しいと思うけど。Warpを使うと、Pythonで直接CUDAカーネルが書けて、始めるのも簡単だよ。 https://github.com/nvidia/warp

今はNumba CudaもNvidiaによって公式にメンテナンスされてるからちょっと混乱するよね。それに古そうなCuda Pythonもあるし。初心者にはどれが一番おすすめ?warp、numba、cpの中で。 https://nvidia.github.io/numba-cuda/ https://developer.nvidia.com/cuda/python

その本のほとんどを読んだか、少なくともざっと目を通したけど、最初に読むべきは「CUDA Programming: A Developer's Guide to Parallel Computing with GPUs」だと思う。Massively Parallel Processors: A Hands-on Approachはあんまり良くないと思う、小さなミスや混乱する文が多いし(CUDAを知っててもね)。CUDA by Example: An Introduction to General-Purpose GPU Programmingは簡単すぎて、アーキテクチャを抽象化しすぎてる。来年、ハードウェアのエンジニアリングから始めて、そのハードウェア(基本的にはNVIDIAカード)での最適化部分までを含むCUDA本を書こうと思ってる。主要なアルゴリズムも全部入れるつもり(グラフは除く)。今、大学でこのやり方で講義を教えてるけど、学生たちにはかなり好評だよ。

初版は2012年に出版されたけど、もう古いかな?

PMPPの代わりになる本がもっとあればいいのに… これが一番最新の本だけど、確かに文章はちょっとひどいし、コード例もそのまま間違ってるのがある。要するに、もっといい本にお金を払いたい人が少なくとも一人いるってことだね :-)

すごく価値のあるコメントだね。ありがとう。こういう本のリストはいつもありがたいけど、限られた読書時間の中で、もっとターゲットを絞ったリストの方が実用的だよね。

面白いね、シェアしてくれてありがとう。CUDAプログラミング:GPUを使った並列コンピューティングの開発者ガイドが他の本と比べて何が優れてるの?

このガイドはどう? https://docs.nvidia.com/cuda/cuda-programming-guide/pdf/cuda...

ありがとう、すごく役立つアドバイスだね!

READMEの最初に「これでできるクールなこと」みたいなのがしっかり書いてあればいいのに。今の時代、プログラミングがこんなに身近になってるのに、難易度別の本のタイトルだけじゃなくて、もっと魅力的な紹介があってもいいと思う。

TL;DRを教えるよ:CUDAを使えばNvidiaのGPUをバリバリ動かせる。あ、ついでに計算の世界も征服できちゃう。

現代のNvidiaハードウェア向けにパフォーマンスの良いカーネルを書くのは、2012年の本で教えていることとは全然違うってことは覚えておいた方がいいよ。面白いから読んでもいいけど、基本的にはあんまり役に立たない。

これはCUDAの重要な概念をすごく凝縮した動画だよ。CUDAアーキテクトの一人、スティーブン・ジョーンズが解説してる: https://www.youtube.com/watch?v=QQceTDjA4f4 彼が話してることを全部理解できれば、CUDAを理解したことになるよ。

LLMの作業では、Flash AttentionとvLLMのカーネルソースを読むことで、どんな本よりも多くのことを学べたよ。実際のコードがメモリ階層を具体的にしてくれるんだ。本は抽象的すぎる。