方法一:
[cpp]view plain
copy
cudaevent_t start1;
cudaeventcreate(&start1);
cudaevent_t stop1;
cudaeventcreate(&stop1);
cudaeventrecord(start1, null);
// 需要測時間的核心函式kernel;
cudaeventrecord(stop1, null);
cudaeventsynchronize(stop1);
float
msectotal1 = 0.0f;
cudaeventelapsedtime(&msectotal1, start1, stop1);
方法二:
[cpp]view plain
copy
stopwatchinte***ce * timer_cublas;
sdkcreatetimer(&timer_cublas);
sdkstarttimer(&timer_cublas);
// 需要測時間的核心函式kernel;
cudasyncthreads()
sdkstoptimer(&timer_cublas);
double
dseconds = sdkgettimervalue(&timer_cublas)/((
double
)niter);
關於方法二中的cudasyncthreads()說明,如果在sdkstoptimer之前不加該函式,會導致測量時間僅僅是核函式在cpu上啟動的耗時,而沒有考慮在gpu中的耗時,使得結果和方法一小很多。所以要等cuda啟動的gpu執行緒同步之後,才能停止計時,這樣得到的耗時才是正確的。
測量執行時間StopWatch類
using system using system.diagnostics using system.threading class program ts.hours,ts.minutes,ts.seconds,ts.milliseconds 10 console.writeline elapsed...
C 新增測量執行時間
使用模組化開發,每個模組都有初始化功能,初始化功能可能包括 載入配置表,初始化事件,初始化設定 那麼如果想測量每個模組的init時間呢?net框架已經提供了測量執行的方法 system.diagnostics system.diagnostics 命名空間包含具有以下功能的型別 能讓你與系統程序 事...
timeofday測量程式執行時間
2.時間的測量 有時候我們要計算程式執行的時間.比如我們要對演算法進行時間分析.這個時候可以使用下面這個函式.include int gettimeofday struct timeval tv,struct timezone tz strut timeval gettimeofday將時間儲存在結...