CUDA 5.0 を使用しており、C と cuBLAS の行列乗算を比較したいと考えています。私はすでに、C と cuBLAS の行列乗算が両方とも正しい答えを返すプログラムを作成しました。
次に、それらのパフォーマンスを比較したいと思います。Cでの実装には を使用しclock()
ましたが、CUDA 5.0にはcutilが存在しないことがわかったので、 を使用しcudaEvent
ました。どちらの実装も同じ行列を使用します。C では、C が行列の乗算を実行する時間を測定しましたが、cuBLAS では からcreatehandle
まで測定を開始しましたdestroyhandle
。
C が 0.08 ミリ秒、cuBLAS が 59 ミリ秒かかり、その後cuBLAS の時間を測定すると、cuBLAS は C よりも高速になりましclock()
た。時間を測定するために使用した方法が正しいかどうかはわかりません。なぜ異なる答えをするのですかcudaevent
?clock()
Nvidiaのドキュメントに従って、cuBLAS、cudaeventを使用しています。時間を正しく測定する方法について、私は本当に困惑しています。