主要内容

性能

排除代码生成问题,提高代码执行时间,减少生成代码的内存使用

一些最常见的原因,为什么GPU Coder™生成的代码没有按照预期的执行:

  • CUDA®没有创建内核。

  • 主机到设备和设备到主机的内存传输(cudaMemcpy)是节流性能。

  • 没有足够的并行性或设备问题。

这些主题详细说明了这些症状的常见原因,并描述了如何利用内置筛选器来检测这些问题。您可以找到关于如何解决这些问题并生成更有效的CUDA代码的信息。

应用程序

全部展开

GPU编码器 生成图形处理器代码MATLAB代码
GPU环境检查 验证和设置GPU代码生成环境

功能

全部展开

codegen 生成C/ c++代码MATLAB代码
gpucoder 开放GPU编码器应用程序
gpucoder.profile 为生成的CUDA代码创建一个执行概要报告
coder.gpu.kernel 编译指示映射-循环到GPU内核
coder.gpu.kernelfun 将函数映射到GPU内核的Pragma
coder.gpu.nokernel 为循环禁用内核创建的Pragma

对象

全部展开

coder.gpuConfig 配置参数CUDA代码生成的MATLAB代码通过使用GPU编码器
编码器。CodeConfig C/ c++代码生成的配置参数MATLAB代码
编码器。EmbeddedCodeConfig C/ c++代码生成的配置参数MATLAB代码与嵌入式编码器
coder.gpuEnvConfig 创建包含传递给的参数的配置对象coder.checkGpuInstall用于执行GPU代码生成环境检查

主题

工作流

GPU编码器故障处理流程。

代码生成报告

创建并查看代码生成期间生成的报告。

跟踪之间生成的CUDA代码和MATLAB源代码

突出显示在GPU上运行的MATLAB代码部分。

为从MATLAB代码生成的代码生成GPU代码度量报告

创建和探索GPU静态代码指标报告。

内核分析

生成高效CUDA内核的建议。

内存瓶颈分析

减少使用GPU编码器时的内存瓶颈问题。

分析生成代码的执行配置文件

细粒度剖析的MATLAB算法及其通过SIL生成的CUDA代码。

分析与NVIDIA Profiler

通过使用从NVIDIA Profiler (nvvp)获得的信息来提高性能。

GPU编码器的局限性

参见GPU编码器的当前限制。

特色的例子