clock() в CUDA

Подскажите пожалуйста правильное понимание того что возвращает функция clock() в Cuda.
Хотя бы на примере из SDK Cuda.

  1.  clock_t * dtimer = NULL;
  2.  clock_t timer[NUM_BLOCKS * 2];
  3.  timedReduction<<<NUM_BLOCKS, NUM_THREADS, sizeof(float) * 2 * NUM_THREADS>>>(dinput, doutput, dtimer);
  4.     clock_t minStart = timer[0];
  5.     clock_t maxEnd = timer[NUM_BLOCKS];
  6.     for (int i = 1; i < NUM_BLOCKS; i++)
  7.     {
  8.         minStart = timer[i] < minStart ? timer[i] : minStart;
  9.         maxEnd = timer[NUM_BLOCKS+i] > maxEnd ? timer[NUM_BLOCKS+i] : maxEnd;
  10.     }

Допустим, что мне скажет разница между maxEnd и minStart ?
P.S. Хелп я читал, но в английском честно сказать слаб :)

Forums: 

clock() в CUDA

clock() возвращает значение счетчика тактов того мультипроцессора, на котором работает поток.
А в примере из SDK разница между maxEnd и minStart дает время работы всего kernel-а в целом, т.е. после прохода по циклу for в строках 6-10 в minStart содержится значение такта, в котором начал работать первый по времени запуска блок, а в maxEnd - значение такта, в котором закончил работать последний повремени завершения блок.