gputimeit

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

Описание

пример

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

пример

t = gputimeit(F,numOutputs) вызовы F с желаемым количеством выходных аргументов, numOutputs. По умолчанию, 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

Входные параметры

свернуть все

Функция, чтобы измериться в виде указателя на функцию.

Количество выходных аргументов, чтобы использовать в вызове функции в виде скалярного целого числа.

Если функция задана F имеет переменное количество выходных параметров, numOutputs задает который синтаксис gputimeit использование, чтобы вызвать функцию. Например, svd функция возвращает один выходной параметр, s, или три выходных параметров, [U,S,V]. Установите numOutputs к 1 ко времени s = svd(X) синтаксис или набор это к 3 ко времени [U,S,V] = svd(X) синтаксис.

Ограничения

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

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

Советы

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

Смотрите также

|

Введенный в R2013b