یکی از دلایلی که ما از پردازش موازی روی GPU استفاده می کنیم زمان اجرای کم پردازش در آن نسبت به CPU است پس این تناسب زمان برای ما حائز اهمیت است ، پس بنابراین از دستورات زیر به منظور محاسبه زمان اجرای برنامه در دو روش معمولی و موازی استفاده می کنیم و سپس به مقایسه انها می پردازیم ، که در پستهای بعدی با دیدن مثالهای کاربردی تفاوت زمان اجرای روشهای معمولی و موازی به طور چشم گیر قابل رویت است.
در ابتدای اجرای دستورات کلاک CPU را فعال نموده و زمان لحظه ای را در متغیری نگه می داریم ، سپس در پایان دستورات برنامه دوباره کلاک را زده و زمان شروع را از آن کم کرده و مدت زمان اجرای برنامه را بدست می آوریم.
Void RunProgress(void)
}
;Using namespace std::chrono
;()Auto starttime=steady_clock::now
;double x=0
}For(double i=0;i<20000;i++)
;X+=i
}
;()Auto durationtime=std::chrono::duration_cast<std::chrono::microsecond>(steady_clock::now() – StartTime
;std::cout << "sum: " << DurationTime.count() << " NanoS \n”
}
;()Int main
}
for (int i = 0; i < 30; i++)
}
;() RunProgres
{
;()Getchar
که توابع زمان در کتابخانه chrono می باشد.و در اینجا چون از جنس microsecond تعریف کردیم میکرو ثانیه را برمی گرداند و می توان از گزینه های millisecond و یا nanosecond هم استفاده نمود.