Указания и ограничения по применению:
imfilter
поддерживает генерацию кода С (требует MATLAB® Coder™). Обратите внимание на то, что, если вы выбираете типовой MATLAB Host Computer
целевая платформа, imfilter
генерирует код, который пользуется предварительно скомпилированной, специфичной для платформы разделяемой библиотекой. Использование разделяемой библиотеки сохраняет оптимизацию производительности, но ограничивает целевые платформы, для которых может быть сгенерирован код. Для получения дополнительной информации смотрите, что Генерация кода пользуется Разделяемой Библиотекой.
При генерации кода, входного изображения, A
, должно быть 2D или 3-D. Значение входного параметра, options
, должно быть постоянное время компиляции.
Если вы задаете большое ядро h
, ядро, которое содержит большие значения или задает изображение, содержащее большие значения, вы видите различные результаты между кодом MATLAB и сгенерированным кодом с помощью codegen для типов данных с плавающей запятой. Это происходит из-за ошибок накопления из-за различных реализаций алгоритма.
Указания и ограничения по применению:
С инструментарием CUDA® v9.0, ошибка в оптимизации NVIDIA® вызывает числовое несоответствие между результатами сгенерированного кода и MATLAB. Как обходное решение, выключите оптимизацию путем передачи следующих флагов объекту настройки (cfg
) прежде, чем сгенерировать код.
cfg.GpuConfig.CompilerFlags = ‘-Xptxas -O0’
NVIDIA, как ожидают, исправит эту ошибку в инструментарии CUDA v9.1.
Указания и ограничения по применению:
Ядро фильтрации h
должна быть векторная или 2D матрица типа данных double
.
Если изображение отфильтровано с помощью графического процессора, то imfilter
вычисляет значение каждого выходного пикселя с помощью или один - или плавающая точка двойной точности, в зависимости от типа данных A
. Если A
содержит с двойной точностью или uint32
значения, затем imfilter
использование значения с двойной точностью. Для всех других типов данных, imfilter
использование, с одинарной точностью. Если A
целочисленный или логический массив, затем imfilter
обрезает выходные элементы, которые превышают область значений данного типа, и округляет дробные значения.
Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.