Временной интервал в этом контексте относится к тому факту, что на многопроцессорном процессоре (SM) выполняется несколько деформаций и что SM переключается между деформациями по мере выполнения, чтобы скрыть задержку. Это не то же самое, что вытеснение в традиционной многопоточности процессора; и это не то же самое, что конвейерная обработка.
Если у вас есть такой код:
if (threadIdx.x == 0 && blockIdx.x == 0) x = clock();
// other work done by all threads
if (threadIdx.x == 0 && blockIdx.x == 0) y = clock();
Если на SM запущено несколько деформаций, значение y-x
будет больше, чем фактическое время, потраченное на выполнение в потоке 0 (== деформация 0). И это не только потому, что потоку 0 приходится ждать результатов от инструкций или обращений к памяти, это также связано с временем, затрачиваемым на выполнение других деформаций.
Смысл этого утверждения в руководстве по программированию заключается в том, что сложно использовать clock () для измерения абсолютной синхронизации или задержки.