CUDAcuda妖精's

情報学を学んでいるわけではないけどCUDAを使うことになった人の備忘録

はじめに

このブログ is 何?

このブログは情報学の知識も大してないのにCUDAを書くことになった人のブログです。

厳密性よりはわかりやすさ重視のゆるっとふわっとなブログです。

ガチでプログラミングしてる人よりは、何となくCUDAを書いてみたい人/上の方針で書かされている人なんかが対象です。

ただ、基礎の基礎のお話しは(多分)しないのでコードの書き方そのものとかは他所で勉強してきてくださいね。

記事の順番も基礎からとかではなく、何となく勉強した順に書いていきますので必要に応じて探して下さいね。

 

CUDA is 何?

念のためCUDAについてちょろっとだけ触れておきましょう。

CUDAは(nVIDIA社製の)GPU上で動作するプログラムを記述するための言語です。

CPUで動作する部分はC/C++でそのまま、GPUで動くカーネル部分も同様にCの記法で書くことが出来ます。

 

GPU is 何?

GPUはGraphics processing unitの略です。

元々は画面の表示を司る部分でしたが、時が進むに連れ3Dレンダリングを担当するようになり、さらにその機能を活かして別の計算にも使われるようになっています。

並列計算に特化した構造を持っており、最大パフォーマンスはCPUを上回ります。

ただ、並列化を考えなければならない他にもいろいろと考えるべきことが多く、CPUで動作するプログラムを作るよりは手間がかかります。

そんな手間にまつわるいろいろなことをこのブログに書いていこうと思うわけです。

 

 

とりあえずちょっとずつ書いては行きますが更新は不定期になると思います。

少しでも同じような境遇の人の助けになればと思います。