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

Структуры и шаблоны кода MATLAB, которые создают CUDA® Ядра графического процессора

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

Приложения

расширить все

GPU CoderСгенерируйте код GPU из кода MATLAB
GPU Environment CheckПроверьте и настройте окружение генерации кода GPU

Функции

расширить все

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

Объекты

расширить все

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

Темы

Ядра из поэлементных циклов

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

Ядра из Рассеяния - операции сбора типов

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

Ядра из библиотечных вызовов

Целевой графический процессор оптимизировал математические библиотеки, такие как cuBLAS, cuSOLVER, cuFFT и Thrust.

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

Сгенерируйте код CUDA, который использует массивы GPU.

Интегрирование с унаследованным кодом

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

Проекты

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

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

Опции выделения памяти и оптимизация для GPU Coder.

Рекомендуемые примеры

Simulate Diffraction Patterns Using CUDA FFT Libraries

Симулируйте дифракционные шаблоны с использованием библиотек CUDA FFT

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