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