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

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

Ядра CUDA являются функциями, которые выполняются на устройстве графического процессора. Эти ядра выполняются многими потоками графического процессора параллельно. Эффективным отображением вычисляют интенсивные фрагменты вашего алгоритма к ядрам, можно использовать в своих интересах повышения производительности, обеспеченные графическим процессором вычислительная технология. Можно инициировать GPU Coder™, чтобы создать ядра CUDA для определенных структур алгоритма и шаблонов в коде MATLAB®.

Приложения

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

Функции

halfСоздайте полуточность числовой объект
coder.checkGpuInstallПроверьте среду генерации кода графического процессора
coder.gpuConfigПараметры конфигурации для генерации кода CUDA из кода MATLAB при помощи GPU Coder
codegenСгенерируйте код C/C++ из кода MATLAB
gpucoderОткрытое приложение GPU Coder
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, обработанного в пакетном режиме, умножение матриц с, добавляет операция
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 в сгенерированном коде.