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

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

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

Приложения

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

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

Функции

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

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

Темы

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

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

Ядра от рассеяния - собирают операции типа

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

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

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

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

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

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

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

Шаблоны разработки

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

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

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

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

Simulate Diffraction Patterns Using CUDA FFT Libraries

Симулируйте дифракционные шаблоны Используя библиотеки БПФ CUDA

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

Для просмотра документации необходимо авторизоваться на сайте