主要内容

性能

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

一些最常见的原因,为什么GPU Coder™生成的代码不像预期的表现:

  • CUDA®内核不会被创建。

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

  • 并行度不够或设备问题。

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

应用程序

全部展开

GPU编码器 生成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分析器

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

GPU编码器的局限性

查看GPU编码器的当前限制。

特色的例子