0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Nsight Compute进行高级内核评测

星星科技指导员 来源:NVIDIA 作者:NVIDIA 2022-04-13 09:20 次阅读

Nsight Compute 的这一版本扩展了现有的重播模式,提供了范围重播的高要求功能。 Range Replay 捕获并重放分析应用程序中 CUDA API 调用和内核启动的完整范围。度量与整个范围相关联,而不是单个内核。这允许该工具在不序列化的情况下执行内核,并支持出于正确性或性能原因而需要并发运行的评测内核。范围由起点和终点标记组成;并包括所有 CUDA API 调用和从任何 CPU 线程在这些标记之间启动的内核。

范围标记可以使用以下任一方法定义:

分析器启动/停止 API

poYBAGJWJZyAM4wPAAD3mEfYmy4917.png

NVTX 系列图 1 。范围回放可视化:捕获范围后,每个过程都会收集整个范围的性能信息

记忆分析

在 A100 上评测时,内存分析部分中的一个新二级缓存收回策略表可以帮助您了解各种 缓存逐出策略 的访问次数和达到的命中率。在同一部分中,二级缓存表现在有一个新的 ECC 行,用于显示通过在 GPU 上启用硬件纠错代码而创建的流量。

poYBAGJWJY2AX77tAAHDYYpGHeU478.png

图 2 。内存工作负载分析表的改进: ECC 和二级缓存逐出策略信息。

引导分析

Nsight Compute 现在通过在打开报表时在摘要和详细信息页面之间动态选择,可以更轻松地在多结果集合中选择初始分析目标。规则被扩展以检测非融合浮点指令作为优化机会。最后,但并非最不重要的一点是,当触发未恢复的内存访问规则时,它们会显示一个包含五个最有价值实例的表,从而更容易在源页面上检查和解决它们。

pYYBAGJWJaiAFQ_AAAJeY82_dps659.png

图 3 。打开多结果报告现在会显示摘要页面,允许您对结果进行排序并决定优化顺序。

pYYBAGJWJbWAF8QkAAHXhz-C6j4326.png

图 4 。这两种未恢复的内存访问规则都以更简洁、更有序的格式呈现结果。

其他改进

进一步的改进包括 Occupancy Calculator 自动更新。源页面中 Register Dependency 列还有一个新的“执行的线程指令”度量和注册名工具提示,以及 NVLink 更新。

关于作者

Chaitrali Joshi 是 NVIDIA 的产品营销经理,专注于电信 5G 系统的设计和开发。她对网络空间有着深入的了解,是移动通信系统和云栈方面的专家。在英特尔之前,她是一名领导,向开发人员宣传电信技术和边缘计算技术。她获得了加利福尼亚大学计算机科学硕士学位,戴维斯专注于软件定义的网络和多址边缘计算( MEC )。

Jackson Marusarz 是 NVIDIA 计算开发工具的产品经理。他关注如何使用工具使所有开发人员能够轻松高效地评测、调试和优化 CUDA 代码。杰克逊拥有 Boulder 科罗拉多大学计算机工程硕士学位。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    5024

    浏览量

    103265
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4754

    浏览量

    129067
  • 代码
    +关注

    关注

    30

    文章

    4803

    浏览量

    68750
收藏 人收藏

    评论

    相关推荐

    Silicon Labs携手Eta Compute简化边缘ML开发

    Silicon Labs(芯科科技)与 Eta Compute近期共同宣布建立合作伙伴关系,将支持产品开发人员将机器学习(ML)高级功能无缝集成到其边缘ML嵌入式产品中,以添加多样应用价值。
    的头像 发表于 12-12 10:26 199次阅读

    数字电机控制的未来:一个MCU上的多个电机、嵌入式AI和高级算法

    RA8T1 32位MCU采用Arm Cortex-M85内核,采用氦气技术,频率高达480MHz,封装针对电机或逆变器控制进行了优化。与市场上的其他电机控制解决方案相比,该产品明显更快、更先进,并为AI等高级算法带来了充足的动力
    发表于 11-20 14:33 620次阅读
    数字电机控制的未来:一个MCU上的多个电机、嵌入式AI和<b class='flag-5'>高级</b>算法

    RISC-V内核是如何与FPGA内核进行资源共享的?

    我们知道RISC-V内核支持的精简指令集,FPGA又是要求性能相对比较高的模块,这两者在同一个产品中可否共存?若能,两者的资源又是通过哪些接口进行传输共享的呢?
    发表于 10-27 17:05

    使用增强型仿真模块(EEM)和CCS v6进行高级调试

    电子发烧友网站提供《使用增强型仿真模块(EEM)和CCS v6进行高级调试.pdf》资料免费下载
    发表于 10-21 09:53 0次下载
    使用增强型仿真模块(EEM)和CCS v6<b class='flag-5'>进行</b><b class='flag-5'>高级</b>调试

    安达发|APS高级排程高级物料需求计划

    APS高级排程高级物料需求计划是在制造业中非常重要的概念。它们分别涉及到生产计划和物料管理,对于提高生产效率、降低成本和满足客户需求具有重要意义。下面我将详细介绍这两个概念及其在实际生产
    的头像 发表于 09-25 17:49 334次阅读
    安达发|APS<b class='flag-5'>高级</b>排程<b class='flag-5'>高级</b>物料需求计划

    名单公布!【书籍评测活动NO.45】RISC-V体系结构编程与实践(第二版)

    本期评测名单如下 sunc ggg 、张淑源 、火印冰薪 、winter91、来我这儿 请以上几位大佬联系工作人员(微信:elecfans123)领取书籍进行评测,如在5个工作日内未联系,视为
    发表于 09-25 10:08

    linux驱动程序如何加载进内核

    在Linux系统中,驱动程序是内核与硬件设备之间的桥梁。它们允许内核与硬件设备进行通信,从而实现对硬件设备的控制和管理。 驱动程序的编写 驱动程序的编写是Linux驱动开发的基础。在编写驱动程序之前
    的头像 发表于 08-30 15:02 518次阅读

    名单公布!【书籍评测活动NO.42】 嵌入式Hypervisor:架构、原理与应用

    本期评测名单如下 super杰杰、nicegirl 、熊治坤 、水泊梁山901、jf_02192444 请以上几位大佬联系工作人员(微信:elecfans123)领取书籍进行评测,如在5个
    发表于 08-23 15:17

    Linux内核测试技术

    Linux 内核是Linux操作系统的核心部分,负责管理硬件资源和提供系统调用接口。随着 Linux 内核的不断发展和更新,其复杂性和代码规模也在不断增加。因此,确保内核的稳定性和可靠性变得尤为重要
    的头像 发表于 08-13 13:42 524次阅读
    Linux<b class='flag-5'>内核</b>测试技术

    【大语言模型:原理与工程实践】大语言模型的评测

    和产品化提供了有力的数据支持。 对于生活闲聊类评测任务,模型的回答主要从人性化程度、内容质量和社交适应性三个方面进行考察。这些方面共同反映了模型在日常对话中的自然度、流畅度和应变能力。而方法论指导类
    发表于 05-07 17:12

    FPGA开发如何降低成本,比如利用免费的IP内核

    的应用,可能需要考虑使用付费的高级IP内核,以满足更高的性能要求。 总之,利用免费的IP内核进行FPGA开发可以大大简化设计过程,提高开发效率。通过选择合适的
    发表于 04-28 09:41

    树莓派推出工业版Raspberry Pi Compute Module 4S,内存提升至2/4/8GB

    此前,所有树莓派计算模块都采用 SODIMM 规范,Raspberry Pi Compute Module 4 则采用全新的外形设计,不再兼容原有插槽。该紧凑型模块凭借独特的优势,获得了诸如自动售卖机系统和医疗监测设备等工业领域的广泛应用。
    的头像 发表于 04-25 16:08 810次阅读

    AOSP源码定制-内核驱动编写

    有时候为了分析一些壳的检测,需要在内核层面对读写相关的操作进行监控,每次去修改对应的内核源码编译重刷过于耗时耗力,这里就来尝试编写一个内核驱动,载入后监控读写。
    的头像 发表于 04-23 11:15 1309次阅读
    AOSP源码定制-<b class='flag-5'>内核</b>驱动编写

    STM32如何用HAL库进行内核复位?

    STM32如何用HAL库进行内核复位 普通的系统复位函数如下: / ** 简短的系统重置 详细信息发起系统重置请求以重置MCU。 * / __STATIC_INLINE void
    发表于 04-11 06:49

    请问ADAS实际道路在线评测系统需要采集什么数据?

    ADAS实际道路在线评测系统需要采集什么数据?
    发表于 02-01 06:01