CUDA
以下は間違い. cudaSetDevice(devices[0]); cufftHandle fft_plan; cufftPlan1d(fft_plan, SIZE, CUFFT_C2C, BATCH); // ここで作られる FFT Plan は device 0 にしか確保されない cufftComplex *ffted_data[2], *orig_data[2]; cudaSetDevice(devices[0]);…
CUDAの組み込み関数はほとんどcudaError_tというエラーコードのenumの値を返してくるので,これを適宜見てエラー処理をする必要があります.最近ではそこまででもないですが,CUDAの組み込み関数はカジュアルにエラーを吐くのでちゃんと見てやらなければなら…
CUDAで,特にマルチGPUプログラミングなどをやっておりますと,特定の条件に合致したGPUのIDを持ってきたいという要求に高確率でぶち当たる事となると存じます.俺はぶち当たる. GPUがマザーボードに5枚刺さっていて,そのうち4枚は映像のアウトプット端子…
nvcc の最適化オプションについて、不正確な情報をしばしば耳にするのでそのことについて書いておきます。 nvcc の最適化オプションとは $ nvcc foo.cu -O2の'-O2' のような、'O' というスタイルのオプションです。 gcc とかで見覚えがある事と思います。 nv…
ある事情でCUDA 初学者が集まる勉強会で (恐れ多くも) TA をやってきて、その時に色々と思うところがあったので書きます。 「CUDA を始める動機」が与える影響 CUDA (GPGPU プログラミング)を始めるにあたっての動機の大半は「処理を高速化したいから」だと…