GPU编码器

GPU编码器

Generate CUDA code for NVIDIA GPUs

开始:

生成快速,灵活的CUDA代码

生成优化的CUDA代码。部署代码免版税。

部署算法免版税

从桌面系统到数据中心再到嵌入式硬件,在流行的NVIDIA GPU上编译并运行生成的代码。生成的代码是免版税的 - 将其在商业应用中免费提供给您的客户。

探索画廊(2张图像)

Airbus prototypes automated detection of defects on NVIDIA Jetson TX2.

从受支持的工具箱和功能中生成代码金宝app

GPU编码器从广泛的MATLAB语言功能中生成代码,设计工程师用来开发算法作为较大系统的组件。这包括来自MATLAB和Companion Toolbox的数百个操作员和功能。

MATLABlanguage and toolbox support for code generation.

Incorporate Legacy Code

使用旧版代码集成功能将可信赖或高度优化的CUDA代码合并到MATLAB中的MATLAB算法中。然后也从生成的代码调用相同的CUDA代码。

将现有的CUDA代码合并到生成的代码中。

从Simulink模型生成CUDA代码金宝app

在Simulink中创建模型并生成金宝app优化的CUDA代码。

运行仿真并为NVIDIA GPU生成优化的代码

与Simulink Coder金宝app™一起使用时,GPU编码器会在NVIDIA GPU上的Simulink模型中加速MATLAB功能块的计算密集型部分。然后,您可以从Simulink模型生成优化的CUDA代码,并将其部署到您的NVIDIA GPU目标。金宝app

金宝app在GPU上运行的SOBEL边缘检测器的模型。

Deploy End-to-End Deep Learning Algorithms

Use a variety of trained deep learning networks (including ResNet-50, SegNet, and LSTM) from Deep Learning Toolbox™ in your Simulink model and deploy to NVIDIA GPUs. Generate code for preprocessing and postprocessing along with your trained deep learning networks to deploy complete algorithms.

日志信号,调子参数和数值验证代码行为

When used with Simulink Coder, GPU Coder enables you to log signals and tune parameters in real time using external mode simulations. Use Embedded Coder with GPU Coder to run software-in-the-loop and processor-in-the-loop tests that numerically verify the generated code matches the behavior of the simulation.

从深度学习网络生成CUDA代码

使用深度学习工具箱部署经过训练的深度学习网络。

Deploy End-to-End Deep Learning Algorithms

从深度学习工具箱到NVIDIA GPU部署各种训练有素的深度学习网络(包括Resnet-50,Segnet和LSTM)。使用预定义的深度学习层或为您的特定应用程序定义自定义层。生成用于预处理和后处理的代码以及训练有素的深度学习网络,以部署完整的算法。

生成推理的优化代码

与其他深度学习解决方案相比,GPU编码器与较小的占地面积生成代码,因为它仅生成使用特定算法运行推理所需的代码。金宝搏官方网站生成的代码调用优化的库,包括Tensorrt和Cudnn。

使用Cudnn在Titan V GPU上使用VGG-16的单图像推断。

使用张力进一步优化

Generate code that integrates with NVIDIA TensorRT, a high-performance deep learning inference optimizer and runtime. Use INT8 or FP16 data types for an additional performance boost over the standard FP32 data type.

通过张力和INT8数据类型提高执行速度。

优化生成的代码

GPU编码器会自动优化生成的代码。使用设计模式进一步提高性能。

最小化CPU-GPU内存传输并优化内存使用情况

GPU编码器automatically analyzes, identifies, and partitions segments of MATLAB code to run on either the CPU or GPU. It also minimizes the number of data copies between CPU and GPU. Use profiling tools to identify other potential bottlenecks.

Profile reports identifying potential bottlenecks.

调用优化的库

使用GPU Coder生成的代码调用优化的NVIDIA CUDA库,包括Tensorrt,Cudnn,Cusolver,Cufft,Cufft,Cublas和Thust。尽可能将MATLAB工具箱功能生成的代码映射到优化的库。

Generated code calling functions in the optimized cuFFT CUDA library.

Use Design Patterns for Further Acceleration

Design patterns such as stencil processing use shared memory to improve memory bandwidth. They are applied automatically when using certain functions such as convolution. You can also manually invoke them using specific pragmas.

模具处理设计模式。

硬件上的原型

通过将算法自动转换为CUDA代码,快速进入硬件。

Prototype on NVIDIA Jetson and DRIVE Platforms

Automate cross-compilation and deployment of generated code onto NVIDIA Jetson and DRIVE platforms using GPU Coder Support Package for NVIDIA GPUs.

Nvidia Jetson平台上的原型。

Access Peripherals and Sensors from MATLAB and Generated Code

与MATLAB的NVIDIA目标进行远程通信,以从网络摄像头和其他支持的外围设备中获取数据以进行早期原型。金宝app将您的算法以及外围接口代码以及独立执行的董事会部署。

从MATLAB和生成的代码访问外围设备和传感器。

从原型制作到生产

将GPU编码器与嵌入式编码器一起使用与生成的CUDA代码并排相互跟踪的MATLAB代码。使用在硬件上运行的生成代码的数值行为使用软件(SIL)和处理器中(PIL)测试。

使用GPU编码器与嵌入式编码器的交互性可追溯性报告。

加速算法

Generate CUDA code and compile it for use inside MATLAB and Simulink.

加速算法Using GPUs in MATLAB

呼叫生成的CUDA代码是从MATLAB代码到速度执行的MEX函数,尽管性能会根据MATLAB代码的性质而变化。配置文件生成的MEX功能以识别瓶颈并集中精力。

使用NVIDIA GP金宝appU加速仿真模拟

与Simulink编码器一起使金宝app用时,GPU编码器会在NVIDIA GPU上的Simulink模型中加速MATLAB功能块的计算密集型部分。