[読書]Hello, world!からはじめるCUDAプログラミング - CUDA by Example 汎用GPUプログラミング入門
CUDAプログラミング入門用に2冊購入しました。
「はじめてのCUDAプログラミング」の著者は東工大のGPUコンピューティング研究会の主査/幹事をされてたりする、GPGPU研究の第一人者の方たち、だそうです。
本書は日本語の書籍としては早い時期に出版され、web上で見ると当時の評判もかなり良いようです。ただ、出版された時期が早い分、今から読むと、現在のアーキテクチャ(compute capability 2.x(Fermi))やCUDA4.0のプログラミングモデルとは異なってしまっている部分があります。
また、GPU上での速度最適化を念頭に説明が進められていきますので、取り敢えずGPU上でプログラム動かしてみたいんだ!と考えているとちょっとじれったいです(GPU上で計算しようとする動機は実行速度を上げることであるのが普通なので、このアプローチが変なわけではないです)。
一方で「CUDA BY EXAMPLE」の方は、本当にハローワールドから始まります。普通のCプログラムを作る –> GPU上で動作するように変更する –> それを最適化する という順番で進めていきますので、手を動かしプログラムを動かしながら理解できます。ですのでまずプログラム動かしたいと考えている私のような人にはこちらの方がお勧めです。(ちなみに結構初っ端に出てくるプログラム(julia_gpu.cu)がコンパイルエラーになって焦ったりしますがこちらに対応方法が書いてありました。)
ちなみにこちらはcompute capability2.0以降ですが、CUDA4.0よりは前に出版されています。CUDA3.xとCUDA4.0で変わった部分についての言及は無かったように思います(が、言い切れるほどの知識はまだ無いです)。
いずれの本を読み終えたとしても、CUDA C Programming Guide(CUDA Toolkitをインストールしていればローカルにもあると思います)に書かれている内容の一部しかカバーできていないので、次はこのGuideを読むことになると思います。(はてなダイアリでid:nobnakさんが過去のバージョン和訳されていらっしゃるのを見つけましたが、現在の最新バージョンであるCUDA4.0とは異なる部分もあるようです。)
ついでに書いておくと、昨日NVIDIA GTC Workshop Japan 2011というのがあったそうで、飯塚拓郎さんがセッションで用いたソース(PDF資料)が4.0でのC++サンプルとして良さそうなので後日参照させてもらおうと考えています。
« [読書]誰を対象にした内容なのか不明確 “Java: The Good Parts” | トップページ | NicoBrowser 0.9.1 設定画面操作性向上 »
この記事へのコメントは終了しました。
« [読書]誰を対象にした内容なのか不明確 “Java: The Good Parts” | トップページ | NicoBrowser 0.9.1 設定画面操作性向上 »
コメント