コミックマーケット94で「古典的CUDAプログラミング」を頒布します

2018年8月10日に東京ビッグサイトで開催されるコミックマーケット94(C94)にて,古典的CUDAプログラミングを頒布します.

内容

NVIDIAのGPU向け開発環境であるCUDAを用い,GPUで動作するプログラムを作成するための基礎的な情報をまとめています.
・これからCUDAプログラミングを始めようという方
・ディープラーニング用フレームワークから間接的にGPUを使っているが,なぜ・どのような理屈で高速に実行できるか分からないので,それを知りたいと考えている方
に向けて書いています.

特長

特長は,フルカラーの図を多用していることです.CUDAを用いた際のCPUとGPUの挙動や,スレッドによるメモリアクセスなどを,視覚的に理解できるように工夫しています.

取り扱っている項目や機能は,タイトルに古典的と付いているとおり,非常に基本的な内容ばかりです.これにはねらいがあって,多機能化しているCUDAを1から理解するのは非常に難易度が高いので,それほど複雑ではなかった頃のCUDAを学習し,最新の機能を追従するための基礎を築くような資料にしたいと考えました.

172ページ(表紙込)フルカラー印刷で,頒布価格は3000円です.8月10日西め-26bでお待ちしています.

既刊のFortranによる実践オブジェクト指向プログラミング,空力音の直接数値計算を支える技術も頒布します.

目次

第1章 GPUの略歴
1.1 GPUとは
1.2 GPUの役割の変化
1.3 GPUハードウェア構造
1.4 CPUの性能の変化
1.5 GPUを使うという選択
1.6 GPUの対抗馬
1.7 ポストムーア時代
第2章 CUDAプログラミングの基礎
2.1 GPUプログラム開発環境(CUDA)
2.2 Hello World
2.3 CPU-GPU間のデータコピー
第3章 CUDAによる並列プログラミング(1次元)
3.1 ベクトル和
3.2 ベクトル和の並列化
3.3 実行時間の測定
3.4 3点移動平均
3.5 差分法
第4章 GPUのメモリ構造
4.1 メモリの種類と階層
4.2 グローバルメモリ
4.3 共有(シェアード)メモリ
4.4 レジスタ
4.5 コンスタントメモリ
第5章 CUDAによる並列プログラミング(2次元)
5.1 2次元配列の1次元表現
5.2 ベクトル和(2次元配列版)
5.3 配列転置
第6章 行列-行列積
6.1 行列-行列積と簡単なCPU実装
6.2 1スレッド実装
6.3 1スレッド1要素の計算
6.4 共有メモリの利用
6.5 1スレッド複数要素の計算
6.6 1スレッド複数要素と共有メモリの組合せ
参考文献

いいなと思ったら応援しよう!