Анализируйте профили выполнения сгенерированного кода

Этот пример показывает вам, как выполнить мелкозернистый анализ для алгоритма MATLAB и его сгенерированного кода CUDA через программное обеспечение в цикле (SIL) профилирование выполнения. Продукт Embedded Coder® должен быть установлен, чтобы сгенерировать отчет профилирования выполнения. Профилирование только поддержано на платформе Linux®.

Создайте файл проекта

Поскольку этот пример создает функцию точки входа, которая выполняет быстрое преобразование Фурье N-D. Используйте прагму coder.gpu.kernelfun, чтобы сопоставить БПФ с графическим процессором. По умолчанию свойство EnableCUFFT включено, таким образом, генератор кода пользуется cuFFT библиотекой, чтобы выполнить операцию FFT.

function [Y] = gpu_fftn(X)
  coder.gpu.kernelfun();
  Y = fftn(X);
end

Сгенерируйте отчет профилирования выполнения

Используйте функцию gpucoder.profile, чтобы сгенерировать отчет профилирования выполнения.

cfg = coder.gpuConfig('exe');
cfg.GpuConfig.MallocMode = 'discrete';
gpucoder.profile('gpu_fftn',{rand(2,4500,4)},'CodegenConfig',cfg,'CodegenArguments','-d profilingdir','Threshold',0.001)

Отчет профилирования выполнения кода открывается. Этот отчет обеспечивает метрики на основе данных, собранных от выполнения SIL. Времена выполнения вычисляются от данных, зарегистрированных зондами инструментирования, добавленными к тестовой обвязке SIL или в коде, сгенерированном для каждого компонента. Времена выполнения Вида на море (Embedded Coder) для получения дополнительной информации.

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

| |