В чем разница между использованием таймера ЦП и события таймера CUDA для измерения времени, затрачиваемого на выполнение некоторого кода CUDA? Что из этого следует использовать программисту CUDA и почему?
Использование таймера ЦП будет включать вызов cudaThreadSynchronize
до того, как будет отмечено время. Для регистрации времени можно использовать clock ()
или запросить счетчик производительности с высоким разрешением, например QueryPerformanceCounter
(в Windows).
Событие таймера CUDA будет включать запись до и после с помощью cudaEventRecord
. Позже истекшее время будет получено путем вызова cudaEventSynchronize
для событий, а затем cudaEventElapsedTime
для получения прошедшего времени.