gputimeit

Время, необходимое для запуска функции на графическом процессоре

Синтаксис

t = gputimeit(F)
t = gputimeit(F,N)

Описание

t = gputimeit(F) измеряет типовое время (в секундах), необходимое для запуска функции, заданной указателем на функцию F. Указатель на функцию не принимает внешних входных параметров, но может быть определен с входными параметрами во внутренний вызов функции.

t = gputimeit(F,N) вызывает F для возврата N выходные аргументы. По умолчанию gputimeit вызывает функцию F с одним выходным аргументом или без выходных аргументов, если F не возвращает выходов.

Примеры

Измерьте время для вычисления sum(A.' .* B, 1) на графическом процессоре, где A является матрицей 12000 на 400 и B 400 на 12000.

A = rand(12000,400,'gpuArray');
B = rand(400,12000,'gpuArray');
f = @() sum(A.' .* B, 1);
t = gputimeit(f)
0.0026

Сравните время запуска svd на графическом процессоре с одним от трех выходных аргументов.

X = rand(1000,'gpuArray');
f = @() svd(X);
t3 = gputimeit(f,3)
1.0622
t1 = gputimeit(f,1)
0.2933

Совет

gputimeit предпочтительно, чтобы timeit для функций, которые используют графический процессор, поскольку он обеспечивает завершение всех операций на графический процессор перед записью времени и компенсирует накладные расходы. Для операций, которые не используют графический процессор, timeit обеспечивает большую точность.

Обратите внимание на следующие ограничения:

  • Функция F не следует вызывать tic или toc.

  • Вы не можете использовать tic и toc для измерения времени выполнения gputimeit сам.

См. также

|

Введенный в R2013b