如何在Linux中创建高分辨率计时器以测量程序性能?

我正在尝试比较GPU与CPU的性能。对于NVIDIA GPU,我一直在使用这些cudaEvent_t类型来获得非常精确的时间。


对于CPU,我一直在使用以下代码:


// Timers

clock_t start, stop;

float elapsedTime = 0;


// Capture the start time


start = clock();


// Do something here

.......


// Capture the stop time

stop = clock();

// Retrieve time elapsed in milliseconds

elapsedTime = (float)(stop - start) / (float)CLOCKS_PER_SEC * 1000.0f;

显然,这段代码只有在您数秒的情况下才是好的。而且,结果有时出来很奇怪。


有谁知道在Linux中创建高分辨率计时器的某种方法?


MMMHUHU
浏览 695回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP