GPU Coder

 

GPU Coder

Generate CUDA code for NVIDIA GPUs

Code generation report showing generated CUDA code.

Generate CUDA Code from MATLAB

Compile and run CUDA code generated from your MATLAB algorithms on popular NVIDIA GPUs, from desktop RTX cards to data centers to embedded Jetson and DRIVE platforms. Deploy the generated code royalty-free to your customers at no charge.

Simulink model of a lane and vehicle detector.

Generate CUDA Code from Simulink

Use Simulink Coder with GPU Coder to generate CUDA code from your Simulink models and deploy it to NVIDIA GPUs. Accelerate compute-intensive portions of Simulink simulations on NVIDIA GPUs.

Photo of the NVIDIA Jetson platform.

Deploy to NVIDIA Jetson and DRIVE

GPU Coder automates deployment of generated code onto NVIDIA Jetson and DRIVE platforms. Access peripherals, acquire sensor data, and deploy your algorithm along with peripheral interface code to the board for standalone execution.

Two camera views of road traffic as part of a vehicle and lane detection application in Simulink.

Generate Code for Deep Learning

Deploy a variety of predefined or customized deep learning networks to NVIDIA GPUs. Generate code for preprocessing and postprocessing along with your trained deep learning networks to deploy complete algorithms.

Bar chart titled “Inference with ResNet-50” showing images/second increasing with the use of FP32 and INT8 data types.

Optimize Generated Code 

GPU Coder automatically applies optimizations including memory management, kernel fusion, and auto-tuning. Reduce memory footprint by generating INT8 or bfloat16 code. Further boost performance by integrating with TensorRT.

A report from the GPU Coder Performance Analyzer tool showing profiling information on the generated code.

Profile and Analyze Generated Code

Use the GPU Coder Performance Analyzer to profile generated CUDA code and identify opportunities to further improve execution speed and memory footprint.

Diagram showing how the stencil processing design pattern works at a conceptual level.

Use Design Patterns to Boost Performance

Design patterns, including stencil processing and reductions, are applied automatically when available to increase the performance of generated code. You can also manually invoke them using specific pragmas.

Code generation report showing interactive bidirectional traceability between MATLAB code and generated CUDA code.

Log Signals, Tune Parameters, and Verify Code Behavior 

Use GPU Coder with Simulink Coder to log signals and tune parameters in real time. Add Embedded Coder to interactively trace between MATLAB and generated CUDA code to numerically verify the behavior of generated CUDA code via SIL testing. 

Simulink model of an ECG prediction algorithm with GPU Coder and NVIDIA GPUs used to accelerate.

Accelerate MATLAB and Simulink Simulations

Call generated CUDA code as a MEX function from your MATLAB code to speed execution. Use Simulink Coder with GPU Coder to accelerate compute-intensive portions of MATLAB Function blocks in your Simulink models on NVIDIA GPUs.

“From data annotation to choosing, training, testing, and fine-tuning our deep learning model, MATLAB had all the tools we needed—and GPU Coder enabled us to rapidly deploy to our NVIDIA GPUs even though we had limited GPU experience.”

Interested in GPU Coder?