CUDAを勉強したくなったため勉強します。
もしも間違えているところがあれば教えてくださるとうれしいです。
教材
2012/03/18で少し古いけどYoutubeにあったCUDA プログラミング入門
NVIDIAのCUDAプログラミングの基本
CPUとGPUの違いはこんな感じ
項目 | CPU | GPU |
---|---|---|
コア数はどのくらい? | 少量 | 大量 |
どんな処理 | 複雑 | 単純 |
どっちがメイン? | メイン | サブ |
GPUの中はどうなっているか
GRID
Block
Thread
Thread
...
Block
Thread
Thread
...
...
のような階層構造を取っている
GRIDやBlock、Threadは何?
Blockの中のThreadで同期をとる
Block間は別の処理を行える
プログラムの流れ
CUDAAPIについて
cudaを動かすためにはC/C++に似た言語を使用する。違いはCUDAAPIがあることだ。
GPUのメモリ確保と破棄
cudaMalloc(void** pointer, size_t nbytes)
cudaMemset(void** pointer, int value, size_t count)
cudaFree(void** pointer)
C/C++に慣れていない人用
C/C++にはメモリの場所を使って、プログラミングすることがある。
場所を設定するときに使用するのがポインタというもの。配列もこれを使用する。配列の場所を色々したいからポインタのポインタというものが存在する。今回はこれ。だと思う...
箸休め
2024/07/20~2024/07/28までコロナになった。辛い、これを読んでくれた人はコロナらないように健康に気を付けて...
勉強中
勉強したら再度編集するつもりです。