What Is GPU Coder?
GPU Coder™ generates optimized CUDA® code from MATLAB® code and Simulink® models. The generated code includes CUDA kernels for parallelizable parts of your deep learning, embedded vision, and signal processing algorithms. For high performance, the generated code calls optimized NVIDIA® CUDA libraries, including TensorRT™, cuDNN, cuFFT, cuSolver, and cuBLAS. You can integrate the code into your project as source code, static libraries, or dynamic libraries. You can also compile the code for desktops, servers, and GPUs embedded on NVIDIA Jetson® , NVIDIA DRIVE®, and other platforms.
Published: 16 Sep 2020
GPU Coder generates optimized CUDA code from MATLAB code and Simulink models for deep learning, embedded vision, and autonomous systems that run on NVIDIA GPUs, such as the Jetson and Drive platforms. The generated code calls optimized NVIDIA CUDA libraries and can be integrated into your projects as source code or libraries.
GPU Coder automatically partitions your MATLAB code in Simulink model to run on the CPU or GPU so you get the complete algorithm. For deep learning applications, you can generate CUDA for your trained deep learning networks along with a pre-processing and post-processing code. In this lane detection example, code is generated for a complete application, which includes a trained network to detect and track lanes and post-processing algorithm to map and highlight the lane markers.
GPU Coder analyzes your MATLAB algorithm and Simulink model and creates CUDA kernels that maximize performance and minimize memory transfers between the CPU and GPU. You can use MATLAB design patterns, like stencil and matrix-matrix processing, to accelerate operations, like convolution, median filtering, sum of absolute differences, and sum of squared differences.
GPU Coder generates code from a broad range of MATLAB language features that engineers typically use for developing algorithms for larger systems. It supports functions for signal processing, image processing, computer vision, and deep learning. You can tune the parameters of your Simulink model running on a Jetson or Drive platform using external mode.
By using GPU Coder with Embedded Coder, you can verify the numerical behavior of the generated code matches that of the original MATLAB code or Simulink model using software-in-the-loop and processor-in-the-loop execution. Explore the links below for more information on GPU Coder.