GPU编码器

为NVIDIA GPU生成CUDA代码

GPU编码器™生成优化的CUDA®从MATLAB代码®深度学习,嵌入式愿景和自主系统的代码。生成的代码调用优化了nvidia®CUDA图书馆,包括CUDNN,Cusolver和Cublas。它可以作为源代码,静态库或动态库的项目集成到您的项目中,并且可用于对GPU的原型设计,例如NVIDIA Tesla®和NVIDIA Tegra®。您可以使用MATLAB中的生成的CUDA来加速MATLAB代码的计算密集部分。GPU编码器允许您将传统的CUDA代码合并到MATLAB算法和生成的代码中。

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

开始:

生成快速,灵活的CUDA代码

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

部署算法免版税

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

探索画廊(2张图片)

GPU编码器成功案例

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

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

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

GPU编码器从广泛的MATLAB语言功能生成代码,该功能设计设计工程师用于开发算法作为较大系统的组件。这包括来自Matlab和Companion工具箱的390多个运算符和函数。

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

合并遗留代码

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

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

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

部署具有深度学习工具箱的培训的深度学习网络。

部署端到端深度学习算法

从深度学习工具箱™到NVIDIA GPU,将各种培训的深度学习网络(如Reset-50和SEGNET)部署到NVIDIA GPU。生成用于预处理和后期后处理的代码以及您培训的深度学习网络以部署完整的算法。

为推理生成优化的代码

GPU编码器与其他深度学习解决方案相比,GPU编码器产生具有较小占用的代码,因为它只生成使用特定算法运行推断所需的代码。万博 尤文图斯生成的代码调用优化库,包括TensorRT™和CUDNN。

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

使用张力进一步优化

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

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

深度学习量化

将您的深度学习网络量化为INT8,并使用模型量化库支持包分析量化所选层的权重和偏差的准确性的权衡。万博1manbetx

优化生成的代码

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

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

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

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

调用优化的库

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

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

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

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

模具加工设计图案。

硬件原型

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

NVIDIA Jetson和Drive Platforms的原型

使用GPU编码器支持包为NVIDIA GPU自动化生成代码的交叉编译和将生成的代码进行自动化,并将其部署到NVIDIA Jetson™和Drive™平台上。万博1manbetx

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

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

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

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

从原型化到生产

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

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

加速算法

生成CUDA代码并编译它以用于MATLAB内部。

使用GPU加速算法

从MATLAB代码中调用生成的CUDA代码作为MEX函数,以加快执行速度,尽管性能将根据MATLAB代码的性质而变化。分析生成的MEX函数,以识别瓶颈并集中您的优化工作。

最新特色

Cublas支万博1manbetx持

生成CUDA代码,以进行Strached和Batched Matrix乘法

行主要数组布局

通过以行主布局存储数组,简化生成的深度学习代码与目标库的接口

信号处理工具箱代码生成

使用FFTFILT,STFT和ISTFT生成基于FFT的FIR滤波和短时傅里叶变换的代码

NVIDIA硬件支持万博1manbetx

接入车载摄像头模块,为VideoReader功能生成CUDA代码

单次对象检测(SSD)网络

使用单次Multibox探测器对NVIDIA GPU的对象检测

长短期记忆(LSTM)网络

生成双向和有状态LSTM的代码

多输出网络

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

深度学习网络

为DarkNet-19,Darknet-53,Inception-Resnet-V2,NASNet-Light和NASnet-Mobile生成代码

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