GPU编码器

产生NVIDIA GPU的CUDA代码

GPU Coder™生成优化的CUDA®从MATLAB代码®代码和simuli万博1manbetxnk.®模型。生成的代码包括CUDA内核,用于深度学习、嵌入式视觉和信号处理算法的可并行部分。为了获得高性能,生成的代码调用优化的NVIDIA®CUDA库,包括TensorRT™,cuDNN, cuFFT, cuSolver和cuBLAS。这些代码可以作为源代码、静态库或动态库集成到项目中,并且可以为NVIDIA Jetson™、NVIDIA DRIVE™和其他平台上的台式机、服务器和gpu编译。您可以使用MATLAB中生成的CUDA来加速深度学习网络和算法的其他计算密集型部分。GPU编码器允许您将手写CUDA代码合并到您的算法和生成的代码。

当与嵌入式编码器使用®,GPU编码器允许您通过循环(SIL)和循环处理器(PIL)测试验证生成代码的数值行为。

开始:

生成快速,灵活的CUDA代码

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

部署算法免版税

在流行的NVIDIA GPU上编译并运行生成的代码,从桌面系统到数据中心到嵌入式硬件。生成的代码无需在商业应用程序中为您的客户提供免版税部署。

探索图片库(2张图片)

GPU编码器成功案例

了解各种行业的工程师和科学家如何使用GPU编码器为其应用程序生成CUDA代码。

空中客车原型自动检测NVIDIA Jetson TX2上的缺陷。

从支持的工具箱和函数生成代码万博1manbetx

GPU Coder生成的代码从广泛的MATLAB语言功能,设计工程师使用开发算法作为更大的系统的组件。这包括来自MATLAB和配套工具箱的数百个操作符和函数。

MATLAB语言和工具箱支持代码生成。万博1manbetx

合并遗留代码

使用遗留代码集成功能,将可信或高度优化的CUDA代码合并到MATLAB算法中,以便在MATLAB中进行测试。然后从生成的代码中调用相同的CUDA代码。

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

从Simulink模型生成CUDA代码万博1manbetx

在Simulink中创建模型并生成万博1manbetx优化的CUDA代码。

运行模拟和生成优化的NVIDIA图形处理器代码

当与Simulink Code万博1manbetxr™一起使用时,GPU Coder加快了NVIDIA GPU上Simulink模型中MATLAB函数块的计算密集部分。然后,你可以从Simulink模型中生成优化的CUDA代码,并将其部署到你的NVIDIA GPU目标中万博1manbetx。

万博1manbetx在GPU上运行的Sobel边缘检测器的Simulink模型。

部署了终端到端到端深学习算法

在Simulink模型中使用各种培训的深度学习网络(包括Reset-50,SEGNET和LSTM),并在SIMULINK模型中从Deep Learning Toolbox™部署到NVIDIA GPU。万博1manbetx生成用于预处理和后期后处理的代码以及您培训的深度学习网络以部署完整的算法。

记录信号,调整参数,并用数字验证代码行为

与Simulink编码器一起使万博1manbetx用时,GPU编码器使您可以使用外部模式仿真实时记录信号和调谐参数。使用带有GPU编码器的嵌入式编码器来运行循环和处理器内的循环测试,这些测试在数字上验证生成的代码与模拟的行为匹配。

在Simulink中使用外部模式来记录信号和调整参数。万博1manbetx

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

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

部署了终端到端到端深学习算法

从deep learning Toolbox到NVIDIA gpu部署各种经过训练的深度学习网络(包括ResNet-50、SegNet和LSTM)。使用预定义的深度学习层或为您的特定应用程序定义自定义层。生成用于预处理和后期后处理的代码以及您培训的深度学习网络以部署完整的算法。

为推理生成优化代码

与其他深度学习解决方案相比,GPU Coder生成的代码占用的空间更小,因为它只生成使用特定算法运行推理所需的代码。万博 尤文图斯生成的代码调用优化的库,包括TensorRT和cuDNN。

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

进一步优化使用张sorrt

生成与NVIDIA TENRT的代码,高性能深度学习推理优化和运行时。使用INT8或FP16数据类型在标准FP32数据类型上进行额外的性能提升。

使用TensorRT和INT8数据类型提高执行速度。

深度学习量化

量化您的深度学习网络,以减少内存使用和提高推理性能。使用深度网络量化器应用程序分析和可视化提高的性能和推理精度之间的权衡。

优化生成的代码

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

最小化CPU-GPU内存传输,优化内存使用

GPU编码器自动分析,识别和的MATLAB代码分区段CPU或GPU上运行。它还最小化CPU和GPU之间的数据副本数量。使用分析工具来识别其他潜在的瓶颈。

识别潜在瓶颈的简介报告。

调用优化图书馆

使用GPU Coder生成的代码调用优化的NVIDIA CUDA库,包括TensorRT, cuDNN, cuSolver, cuFFT, cuBLAS和Thrust。从MATLAB工具箱函数生成的代码尽可能地映射到优化的库。

生成的代码调用在优化的袖扣库库中。

使用设计模式进行进一步加速度

设计模式,如模板处理使用共享内存以改善内存带宽。它们使用诸如卷积等某些功能时自动应用。您还可以使用特定的pragmas手动调用它们。

模具加工设计图案。

原型硬件

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

NVIDIA Jetson和Drive Platforms的原型

使用GPU编码器支持包为NVIDIA GPU自动化生成代码的交叉编译和部署生成的代码和Drive Platforms。万博1manbetx

在NVIDIA Jetson平台上进行原型设计。

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

从MATLAB与NVIDIA目标远程通信,从网络摄像头和其他支持的外设获取数据,用于早期原型设计。万博1manbetx将算法和外围接口代码一起部署到主板上,以便独立执行。

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

从原型制作转向生产

使用GPU编码器与嵌入式编码器交互跟踪您的MATLAB代码与生成的CUDA代码并排。使用软件在环(SIL)和处理器在环(PIL)测试,验证所生成代码在硬件上运行的数值行为。

交互式跟踪报告使用GPU编码器与嵌入式编码器。

加速算法

生成CUDA代码并将其编译用于Matlab和Simulink内部。万博1manbetx

使用MATLAB中的GPU加速算法

从您的MATLAB代码中调用生成的CUDA代码作为一个MEX函数来加速执行,尽管性能将根据您的MATLAB代码的性质而有所不同。概要文件生成的MEX函数来识别瓶颈并集中您的优化工作。

使用NVIDIA gp万博1manbetxu加速Simulink仿真

当与Simulink Code万博1manbetxr一起使用时,GPU Coder加速了NVIDIA GPU上Simulink模型中MATLAB函数块的计算密集部分。

最新的特性

万博1manbetx仿真软件的支持万博1manbetx

生成、构建和部署Simulink模型到NVIDIA图形处万博1manbetx理器

深度学习Simulink支持万博1manbetx万博1manbetx

在Simulink模型中生成、构建和部署深度学习网络到NVIDIA图形处理器万博1manbetx

持续的变量

在图形处理器上创建持久内存

小波工具箱代码生成

使用dwt、dwt2、modwt和modwtmra生成基于fft的FIR滤波和短时傅里叶变换的代码

深度学习

为自定义层生成代码

多输入网络

为具有多个输入的网络生成代码

长短时记忆(LSTM)网络

生成卷积LSTM和网络激活的代码

用于NVIDIA硬件的IO块库

使用NVIDIA图形处理器的GPU编码器支持包访问NVIDIA硬件外设万博1manbetx

看到发布说明有关这些功能的详细信息和相应的功能。