2020年の夏から、ちょっと仕事が変わりまして・・・
内容としては、GPUを使った並列プログラミングとかいうなんだか難しくて吐きそうになるようなことをやろうとしています。
キーワードとしては、C++、そしてCUDAです。
CUDAとは?
CUDAは、NVIDIAのグラボをを使ったプログラミングモデルです。
CUDA(Compute Unified Device Architecture:クーダ)とは、NVIDIAが開発・提供している、GPU向けの汎用並列コンピューティングプラットフォーム(並列コンピューティングアーキテクチャ)およびプログラミングモデル
Wikipedia
CUDAを使うと、C言語のforループで配列同士の行列計算みたいな単純な計算をたくさん行う、ような処理を爆速で処理できるようになるようです。
画像処理とかに向いているとかなんとか・・・
NVIDIAのグラボとVisual Studioがあればいろいろできるぽい。で、CUDAはC言語ぽい書き方ということなので勉強してみる。
と思ったら、初日から躓いてしまいました。デバイス?ホスト?カーネル?グリッド?ブロック?はえ~・・・
ということで情報収集
このご時世なので、YouTubeとかで解説してくれている人がいるはず。ということで、情報収集から始めます。
ド素人でも分かるようにかみ砕いて説明してくれる仏のような人がいれば・・・
【YouTube】1070: CUDAプログラミング入門
これは分かりやすい。多分NVIDIAのカンファとかで説明してくれているやつ。28分くらいからは実際にコーディングもして説明してくれている。
分かった気になれる!