GPU编码器

GPU编码器

为NVIDIA gpu生成CUDA代码

开始:

生成快速、灵活的CUDA代码

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

部署算法免版税

在流行的NVIDIA gpu上编译和运行生成的代码,从桌面系统到数据中心再到嵌入式硬件。生成的代码是免版税的,在商业应用程序中免费部署给您的客户。

探索图库(2张图片)

空中客车原型机自动检测英伟达Jetson TX2的缺陷。

空中客车原型机自动检测英伟达Jetson TX2的缺陷。

从支持的工具箱和函数生成代码

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

MATLAB语言和工具箱支持代码生成。

MATLAB语言和工具箱支持代码生成。

将遗留代码

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

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

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

从Simulink模型生成CUDA代码

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

运行模拟并为NVIDIA gpu生成优化的代码

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

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

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

部署端到端深度学习算法

在Simulink模型中使用来自深度学习工具箱™的各种经过训练的深度学习网络(包括ResNet-50、SegNet和LSTM),并部署到NVIDIA gpu。生成用于预处理和后处理的代码,以及经过训练的深度学习网络,以部署完整的算法。

记录信号、调优参数和数字验证代码行为

当与Simulink Coder一起使用时,GPU Coder使您能够使用外部模式模拟实时记录信号和调优参数。使用嵌入式Coder和GPU Coder来运行软件在循环和处理器在循环测试,从数字上验证生成的代码是否与模拟的行为相匹配。

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

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

部署端到端深度学习算法

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

为推理生成优化的代码

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

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

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

进一步优化使用张量排序

生成与NVIDIA TensorRT(高性能深度学习推理优化器和运行时)集成的代码。使用INT8或FP16数据类型可以在标准FP32数据类型的基础上获得额外的性能提升。

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

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

深度学习量化

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

优化生成的代码

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

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

GPU Coder自动分析、识别和划分MATLAB代码段,以便在CPU或GPU上运行。它还最小化了CPU和GPU之间的数据拷贝数量。使用分析工具来识别其他潜在的瓶颈。

识别潜在瓶颈的概要报告。

识别潜在瓶颈的概要报告。

调用优化图书馆

GPU Coder生成的代码调用优化的NVIDIA CUDA库,包括tensort, cuDNN, cuSolver, cuFFT, cuBLAS和推力。从MATLAB工具箱函数生成的代码被映射到优化的库中。

在优化的cuFFT CUDA库中生成代码调用函数。

在优化的cuFFT CUDA库中生成代码调用函数。

使用设计模式进一步加速

模板处理等设计模式使用共享内存来提高内存带宽。当使用某些函数(如卷积)时,它们会自动应用。您还可以使用特定的语法手动调用它们。

模具加工设计模式。

模具加工设计模式。

原型硬件

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

原型在NVIDIA Jetson和DRIVE平台上

使用针对NVIDIA GPU的GPU编码器支持包,自动交叉编译和部署生成的代码到NVIDIA Jetson和DRIVE平台。

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

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

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

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

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

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

从原型开发转移到生产

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

交互式跟踪报告使用GPU Coder与嵌入式Coder。

交互式跟踪报告使用GPU Coder与嵌入式Coder。

加速算法

生成CUDA代码并编译它在MATLAB和Simulink中使用。

MATLAB中的gpu加速算法

从MATLAB代码中调用生成的CUDA代码作为MEX函数,以加快执行速度,但性能将取决于MATLAB代码的性质。分析生成的MEX函数,以识别瓶颈并集中精力进行优化。

使用NVIDIA gpu加速Simulink仿真

当与Simulink Coder一起使用时,GPU Coder可以加速NVIDIA GPU上的Simulink模型中MATLAB函数块的计算密集型部分。

Baidu
map