Main Content

Kernel Creation from MATLAB Code

MATLAB code structures and patterns that create CUDA® GPU kernels

GPU Coder™ generates and executes optimized CUDA kernels for specific algorithm structures and patterns in your MATLAB® code. The generated code calls optimized NVIDIA® CUDA libraries, including cuFFT, cuSolver, cuBLAS, cuDNN, and TensorRT. The generated code can be integrated into your project as source code, static libraries, or dynamic libraries, and can be compiled for desktops, servers, and GPUs embedded on NVIDIA Jetson, DRIVE, and other platforms. GPU Coder lets you incorporate handwritten CUDA code into your algorithms and into the generated code.

Apps

expand all

GPU CoderGenerate GPU code from MATLAB code
GPU Environment CheckVerify and set up GPU code generation environment

Functions

expand all

codegenGenerate C/C++ code from MATLAB code
gpucoderOpen GPU Coder app
coder.checkGpuInstallVerify GPU code generation environment
coder.gpuConfigConfiguration parameters for CUDA code generation from MATLAB code by using GPU Coder
coder.gpu.kernelPragma that maps for-loops to GPU kernels
coder.gpu.kernelfunPragma that maps function to GPU kernels
coder.gpu.nokernelPragma to disable kernel creation for loops
coder.cevalCall external C/C++ function
coder.gpu.iterationsPragma that provides information to the code generator for making parallelization decisions on variable bound loops
coder.gpu.constantMemoryPragma that maps a variable to the constant memory on GPU
coder.gpu.persistentMemoryPragma to allocate a variable as persistent memory on the GPU
gpucoder.atomicAddAtomically add a specified value to a variable in global or shared memory
gpucoder.atomicAndAtomically perform bit-wise AND between a specified value and a variable in global or shared memory
gpucoder.atomicCASAtomically compare and swap the value of a variable in global or shared memory
gpucoder.atomicDecAtomically decrement a variable in global or shared memory within a specified upper bound
gpucoder.atomicExchAtomically exchange a variable in global or shared memory with the specified value
gpucoder.atomicIncAtomically increment a variable in global or shared memory within a specified upper bound
gpucoder.atomicMaxAtomically find the maximum between a specified value and a variable in global or shared memory
gpucoder.atomicMinAtomically find the minimum between a specified value and a variable in global or shared memory
gpucoder.atomicOrAtomically perform bit-wise OR between a specified value and a variable in global or shared memory
gpucoder.atomicSubAtomically subtract a specified value from a variable in global or shared memory
gpucoder.atomicXorAtomically perform bit-wise XOR between a specified value and a variable in global or shared memory
stencilfunGenerate CUDA code for stencil functions
gpucoder.matrixMatrixKernelOptimized GPU implementation of functions containing matrix-matrix operations
gpucoder.batchedMatrixMultiplyOptimized GPU implementation of batched matrix multiply operation
gpucoder.stridedMatrixMultiplyOptimized GPU implementation of strided and batched matrix multiply operation
gpucoder.batchedMatrixMultiplyAddOptimized GPU implementation of batched matrix multiply with add operation
gpucoder.stridedMatrixMultiplyAddOptimized GPU implementation of strided, batched matrix multiply with add operation
gpucoder.sortOptimized GPU implementation of the MATLAB sort function
gpucoder.ctransposeOptimized GPU implementation of the MATLAB transpose function
gpucoder.transposeOptimized GPU implementation of the MATLAB transpose function
gpucoder.reduceOptimized GPU implementation for reduction operations

Objects

expand all

coder.gpuConfigConfiguration parameters for CUDA code generation from MATLAB code by using GPU Coder
coder.CodeConfigConfiguration parameters for C/C++ code generation from MATLAB code
coder.EmbeddedCodeConfigConfiguration parameters for C/C++ code generation from MATLAB code with Embedded Coder
coder.gpuEnvConfigCreate configuration object containing the parameters passed to coder.checkGpuInstall for performing GPU code generation environment checks

Topics