exponenta event banner

Создание ядра из кода MATLAB

Структуры и шаблоны кода MATLAB, создающие ядра GPU CUDA ®

Графический процессор Coder™ генерирует и выполняет оптимизированные ядра CUDA для определенных структур алгоритмов и шаблонов в коде MATLAB ®. Созданный код вызывает оптимизированные библиотеки NVIDIA ® CUDA, включая cuFFT, cuSolver, cuBLAS, cuDNN и TensorRT. Созданный код может быть интегрирован в проект в виде исходного кода, статических библиотек или динамических библиотек и скомпилирован для настольных компьютеров, серверов и графических процессоров, встроенных в NVIDIA Jetson, DRIVE и другие платформы. GPU Coder позволяет включать рукописный код CUDA в алгоритмы и создаваемый код.

Приложения

развернуть все

Кодер графического процессораСоздание кода графического процессора из кода MATLAB
Проверка среды графического процессораПроверка и настройка среды генерации кода графического процессора

Функции

развернуть все

codegenСоздание кода C/C + + из кода MATLAB
gpucoderОткрыть приложение Кодер графического процессора
coder.checkGpuInstallПроверка среды генерации кода графического процессора
coder.gpuConfigПараметры конфигурации для генерации кода CUDA из кода MATLAB с помощью кодера графического процессора
halfПостроение числового объекта с полупрецизионной точностью
coder.gpu.kernelПрагматика, которая отображает for-закольцовывается в ядра GPU
coder.gpu.kernelfunПрагматика, отображающая функцию на ядра GPU
coder.gpu.nokernelPragma для отключения создания ядра для циклов
coder.gpu.constantMemoryПрагматика, отображающая переменную на постоянную память графического процессора
gpucoder.stencilKernelСоздание кода CUDA для функций набора элементов
gpucoder.matrixMatrixKernelОптимизированная реализация GPU функций, содержащих операции матрица-матрица
gpucoder.batchedMatrixMultiplyОптимизированная реализация GPU пакетной операции умножения матриц
gpucoder.stridedMatrixMultiplyОптимизированная реализация GPU операции дробного и пакетного умножения матриц
gpucoder.batchedMatrixMultiplyAddОптимизированная реализация GPU пакетной матрицы умножается на операцию добавления
gpucoder.stridedMatrixMultiplyAddОптимизированная реализация GPU полосатой пакетной матрицы умножается на операцию добавления
coder.gpu.persistentMemoryPragma для выделения переменной в качестве постоянной памяти на GPU
gpucoder.sortОптимизированная реализация GPU функции сортировки MATLAB
coder.gpu.iterationsПрагматика, предоставляющая информацию генератору кода для принятия решений о параллелизме в петлях с переменными границами
gpucoder.transposeОптимизированная реализация GPU функции транспонирования MATLAB
gpucoder.reduceОптимизированная реализация графического процессора для операций сокращения
coder.cevalВызов внешней функции C/C + +

Объекты

развернуть все

coder.gpuConfigПараметры конфигурации для генерации кода CUDA из кода MATLAB с помощью кодера графического процессора
coder.CodeConfigПараметры конфигурации для генерации кода C/C + + из кода MATLAB
coder.EmbeddedCodeConfigПараметры конфигурации для генерации кода C/C + + из кода MATLAB с встроенным кодером
coder.gpuEnvConfigСоздать объект конфигурации, содержащий параметры, переданные coder.checkGpuInstall для выполнения проверок среды генерации кода графического процессора

Темы

Ядра из Element-Wise Loops

Создание ядер из функций MATLAB, содержащих скаляризованные математические операции.

Ядра из операций типа Scatter-Gather

Создание ядер из функций MATLAB, содержащих операции сокращения.

Ядра из вызовов библиотеки

Целевые графические процессоры оптимизированы для математических библиотек, таких как cuBLAS, cuSOLVER, cuFFT и Trust.

Поддержка массивов графических процессоров

Создайте код CUDA, использующий массивы графического процессора.

Интеграция устаревшего кода

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

Шаблоны проектирования

Создание ядер для функций MATLAB, содержащих шаблоны вычислительной конструкции.

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

Параметры выделения памяти и оптимизации для кодера графического процессора.

Характерные примеры

Simulate Diffraction Patterns Using CUDA FFT Libraries

Моделирование дифракционных массивов с использованием библиотек CUDA FFT

Используйте GPU Coder™ для использования библиотеки CUDA ® Fast Fourier Transform (cuFFT) для вычисления двухмерного FFT на NVIDIA ® GPU. Двумерное преобразование Фурье используется в оптике для вычисления дифракционных диаграмм дальнего поля. Когда монохроматический источник света проходит через небольшую апертуру, как, например, в эксперименте Янга с двойной щелью, можно наблюдать эти дифракционные картины. В этом примере также показано, как использовать указатели графического процессора в качестве входных данных для функции начального уровня при создании CUDA MEX, исходного кода, статических библиотек, динамических библиотек и исполняемых файлов. Благодаря использованию этой функциональности производительность генерируемого кода повышается за счет минимизации количества вызовов cudaMemcpy в генерируемом коде.