Measure execution time in C++ OpenMP code

前端 未结 5 1137
粉色の甜心
粉色の甜心 2020-11-27 05:46

I am running a .cpp code (i) in sequential style and (ii) using OpenMP statements. I am trying to see the time difference. For calculating time, I use this:

         


        
5条回答
  •  清歌不尽
    2020-11-27 06:17

    It seems to me as though the clock () function is calculating each thread's individual time and adding up them up and displaying them.

    This is exactly what clock() does - it measures the CPU time used by the process, which at least on Linux and Mac OS X means the cumulative CPU time of all threads that have ever existed in the process since it was started.

    Real-clock (a.k.a. wall-clock) timing of OpenMP applications should be done using the high resolution OpenMP timer call omp_get_wtime() which returns a double value of the number of seconds since an arbitrary point in the past. It is a portable function, e.g. exists in both Unix and Windows OpenMP run-times, unlike gettimeofday() which is Unix-only.

提交回复
热议问题