nishio-dens's diary

Railsとかプログラミング関連の備忘録

CUDA

CUDAによる並列擬似乱数生成(LCG)

線形合同法(LCG)を使った並列乱数生成のプログラムを書いてみた.ただしまだバグが残っている.出力される値になぜかマイナスが含まれてしまう.int型の値に0x7fffffffをマスクしているので符号は出力されないはずなのだが...はてあとシードは今のとこ…

CUDAでのカーネル関数のタイムアウト

LinuxでのXWindowやWindowsを使っている場合,CUDAで一つのカーネル関数が一定時間以上の処理を行うとプログラムが勝手に終了されてしまう. Linux(Ubuntu10.04にて確認)の場合,カーネル関数が10秒以上の処理を行うと,プログラムが正常に動かなくなって…

CUDAで指定可能な最大スレッド数と最大ブロック数

CUDAにて,1ブロックあたりに指定できる最大スレッド数は512個である.前回のプログラムのmain部分で dim3 threadNum(3); dim3 blockNum(5); と,スレッド数3個,ブロック数5個と指定していたが,このスレッド数の部分を512個以上(例えば600)指定してみる…

CUDAで並列文字列生成

CUDA勉強のため,現在実行中のスレッドIDとブロックIDをメモリに書き出す簡単なプログラムを作成.実行結果はこんな感じ I'm thread 0. My Block ID is 0 I'm thread 1. My Block ID is 0 I'm thread 2. My Block ID is 0 I'm thread 0. My Block ID is 1 I'…

CUDAの勉強 第一歩

まずは99bottles of beerで基本的なCUDAプログラミングの復習を行おうと思います. http://gpu.fixstars.com/index.php/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8その後は,行列の足し算みたいな簡単なプログラムを作っていきます.処理時間…

CUDAを本気で勉強する

CUDAを本気で勉強する.ここに宣言. というわけで新しいカテゴリを作った. 勉強の過程もこのブログに書いていこうと思います.