ML MATLAB  ·  30 вопросов  ·  ~85 мин  ·  ⏱ Таймер 25:00  ·  Сложный  · 

Профилирование и ускорение MATLAB-кода

Тест проверяет тему «Профилирование и ускорение MATLAB-кода» через чтение MATLAB-кода, математические модели и рабочие ситуации. Здесь важно не узнать знакомую команду, а предсказать результат, заметить скрытое допущение и выбрать проверку, которая различит близкие реализации.

Отвечено: 0 из 30
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. Время — 85 минут. Верный вариант в каждом вопросе один; после завершения доступны общий результат, профиль по 6 темам и объяснения.
Вопрос 1 из 30
Нужно реализовать действие: снять профиль времени выполнения функции runModel и открыть отчёт по строкам. Какой фрагмент можно принять после проверки размерностей?
Вопрос 2 из 30
В расчёте по теме «Профилирование выполнения» обнаружено содержательное расхождение. Какую замену следует принять после проверки?
MATLABФрагмент для рецензии
profile runModel on
runModel();
Вопрос 3 из 30
Код по теме «Профилирование выполнения» проходит обычный пример. Какая проверка покажет, что вычислительный договор сохраняется и на неудобном входе?
T_{total}=\sum_f T_f
MATLABКод и модель
profile clear
profile on
runModel();
profile off
profile viewer
Вопрос 4 из 30
Для действия «снять профиль времени выполнения функции runModel и открыть отчёт по строкам» нужен независимый математический эталон. Какая формула задаёт именно этот результат?
Вопрос 5 из 30
Команда ускоряет участок, выбранный по интуиции, однако общий запуск почти не меняется. Какое действие даст проверяемый результат?
Вопрос 6 из 30
В расчёте требуется найти горячий участок, исключив из профиля однократную загрузку данных и прогрев. Какой фрагмент можно принять после проверки размерностей?
Вопрос 7 из 30
Ниже приведена неудачная реализация из темы «Горячие участки». Какая редакция возвращает требуемый результат и оставляет независимый контроль?
MATLABФрагмент для рецензии
profile on
clear functions
runModel(inputs);
profile off
Вопрос 8 из 30
Перед рецензентом рабочий фрагмент по теме «Горячие участки». Как проверить его так, чтобы близкая подмена не прошла вместе с ним?
\bar T=\frac1K\sum_{k=1}^{K}T_k
MATLABКод и модель
load inputs.mat
runModel(inputs);
profile clear; profile on
for k=1:10, runModel(inputs); end
profile off
Вопрос 9 из 30
Нужно формализовать операцию «найти горячий участок, исключив из профиля однократную загрузку данных и прогрев». Какая формула задаёт именно этот результат?
Вопрос 10 из 30
Профиль показывает загрузчик как главный узел, хотя в боевой системе данные читаются один раз, а расчёт повторяется тысячи раз. Какой порядок работы не скроет причину ошибки?
Вопрос 11 из 30
На рецензию вынесена операция: ускорить цикл с заранее известным числом строк результата и сохранением типа single. Какой фрагмент можно принять после проверки размерностей?
Вопрос 12 из 30
В тесте «Профилирование и ускорение MATLAB-кода» показанный фрагмент нарушает правило из темы «Предвыделение». Какая редакция исправляет причину, а не только её проявление?
MATLABФрагмент для рецензии
Y = cell(N,p);
for k=1:N
    Y(k,:) = step(k);
end
Вопрос 13 из 30
Фрагмент по теме «Предвыделение» выглядит правдоподобно. Какая проверка действительно подтвердит заявленное свойство, а не только отсутствие сбоя?
M=4Np\ \text{байт для single}
MATLABКод и модель
Y = zeros(N, p, "single");
for k=1:N
    Y(k,:) = single(step(k));
end
Вопрос 14 из 30
Перед реализацией требования «ускорить цикл с заранее известным числом строк результата и сохранением типа single» записывают модель. Какая формула задаёт именно этот результат?
Вопрос 15 из 30
После предвыделения время снизилось, но потребление памяти осталось двойным: `zeros` создал double. Что следует сделать до принятия расчёта?
Вопрос 16 из 30
Условие задачи — заменить квадратичный поиск совпадений между ключами на индексирование через ismember. Какой фрагмент можно принять после проверки размерностей?
Вопрос 17 из 30
Для темы «Выбор алгоритма» в тесте «Профилирование и ускорение MATLAB-кода» приведён дефектный блок. Какое замечание рецензента можно принять?
MATLABФрагмент для рецензии
for i=1:numel(queryKeys)
 for j=1:numel(referenceKeys)
  if queryKeys(i)==referenceKeys(j), values(i)=refValues(j); end
 end
end
Вопрос 18 из 30
Ниже показано решение из темы «Выбор алгоритма». Какой контроль отличит его от ближайшей ошибочной реализации?
T_{nested}=O(nm),\quad T_{indexed}\approx O((n+m)\log m)
MATLABКод и модель
[tf,loc] = ismember(queryKeys, referenceKeys);
values = nan(size(queryKeys));
values(tf) = refValues(loc(tf));
Вопрос 19 из 30
Проверка кода для задачи «заменить квадратичный поиск совпадений между ключами на индексирование через ismember» опирается на формулу. Какая формула задаёт именно этот результат?
Вопрос 20 из 30
Profiler указывает на строку сравнения, но ускорение самой операции не поможет: она выполняется миллиарды раз из-за структуры алгоритма. Какое решение оставит независимый критерий проверки?
Вопрос 21 из 30
Фрагмент должен добавить к пакетному расчёту измеримые этапы без вывода каждой итерации в консоль. Какой фрагмент можно принять после проверки размерностей?
Вопрос 22 из 30
Показанный код из темы «Наблюдаемость и диагностика» не соответствует постановке. Какая редакция восстанавливает вычислительный договор?
MATLABФрагмент для рецензии
profile on; Y=preprocess(X); profile off
Вопрос 23 из 30
Результат фрагмента по теме «Наблюдаемость и диагностика» нужно принять перед включением в расчёт. Какая проверка даст независимое основание?
rate=\frac{items}{seconds}
MATLABКод и модель
progress = struct("stage",{},"seconds",{},"items",{});
t = tic; Y = preprocess(X); progress(end+1)=struct("stage","preprocess","seconds",toc(t),"items",size(X,1));
Вопрос 24 из 30
Математическая запись должна описывать действие «добавить к пакетному расчёту измеримые этапы без вывода каждой итерации в консоль». Какая формула задаёт именно этот результат?
Вопрос 25 из 30
На сервере журнал занимает гигабайты из-за `disp` в каждой итерации, а понять скорость этапов всё равно нельзя. Какой вариант переносится на граничные данные?
Вопрос 26 из 30
Разработчик переносит в MATLAB требование: защитить ускоренную реализацию от тихого расхождения с эталонной на редких данных. Какой фрагмент можно принять после проверки размерностей?
Вопрос 27 из 30
Рецензент разбирает фрагмент по теме «Надёжность в эксплуатации» в тесте «Профилирование и ускорение MATLAB-кода». Какой вариант исправляет саму операцию?
MATLABФрагмент для рецензии
Yfast = fastImpl(X); assert(isequal(size(Yfast),size(X)));
Вопрос 28 из 30
Для решения по теме «Надёжность в эксплуатации» выбирают контрольный опыт. Какой вариант проверяет смысл операции, а не внешние признаки результата?
\frac{\|Y_{fast}-Y_{ref}\|}{\max(1,\|Y_{ref}\|)}\le tol
MATLABКод и модель
Yfast = fastImpl(X);
if validationMode
    Yref = referenceImpl(X);
    assert(norm(Yfast-Yref,"fro") <= tol*max(1,norm(Yref,"fro")));
end
Вопрос 29 из 30
Для операции «защитить ускоренную реализацию от тихого расхождения с эталонной на редких данных» фиксируют вычислительный договор. Какая формула задаёт именно этот результат?
Вопрос 30 из 30
После векторизации редкий NaN обрабатывается иначе, но набор производительности не содержит пропусков. Что уменьшит риск повторения дефекта?

Ответьте на все 30 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу