CUDAを手を動かしながら学ぶためには、いくつかのステップを踏むと良いでしょう。以下は、初心者から始めてCUDAを効果的に学習するための具体的な手順です: 1. 基本的なリソースの取得 まず、必要なソフトウェアとツールをインストールします。 NVIDIA GPU ...
逐次で疑似乱数を生成する時、始点からドミノ倒し的に乱数を生成するので、並列化出来ない問題がある。 CUDAはこの問題を解決するAPI[[1]]を用意しており、`<curand.h>`、`<curand_kernel.h>`をincludeすることで使用できる。 CUDAで乱数生成の並列化を行う際は、次の ...
CUDAは、1つのスレッドが、あるアドレスに対して処理を行っている間に、他のスレッドに割り込まれない、排他的な処理をサポートしており、それをAtomic演算と呼ぶ。 Atomic演算を行う関数は複数ある[[1]]が、総和計算では `atomicAdd()` を用いるとよい。 Atomic ...