前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何轻松了解深度学习模型中使用了混合精度?

如何轻松了解深度学习模型中使用了混合精度?

作者头像
GPUS Lady
发布2019-04-29 10:44:32
2.2K0
发布2019-04-29 10:44:32
举报
文章被收录于专栏:GPUS开发者GPUS开发者

混合精度在计算方法中结合了不同的数值精度。NVIDIA Volta架构和Turing架构的GPU引入了TensorCore,它在单精度数学管道上提供了显著的吞吐量加速。通过将梯度张量和激活张量上的存储需求和内存流量减半,可以以较低的精度对深度学习网络进行训练,以实现高吞吐量。以下Nvidia工具可以让您分析您的模型是否最大限度地利用TensorCore。

Nsight Systems

Nvidia Nsight Systems为开发人员提供了一个全系统的性能分析工具,提供了一个完整和统一的视图,说明他们的应用程序如何利用计算机的CPU和GPU。该工具使开发人员能够可视化应用程序的算法,以确定优化和优化算法的最大机会。

开发人员可以使用NVTX(NVIDIA工具扩展库)注释源代码,在nsight系统的时间线查看器中轻松突出显示函数调用。在识别出瓶颈之后,可以使用nsight计算对单个内核进行分析。

Nsight Compute

Nsight Compute是CUDA应用程序的下一代交互式内核分析器,可从CUDA 10.0工具包获得。它通过用户界面和命令行工具为内核提供了详细的性能指标和API调试。

您可以收集关于每个执行的内核的低级统计信息,并比较多个运行。它可以直接在命令行上打印结果,或者将结果存储在报告文件中。

您可以使用命令行接口直接使用profiler启动一个训练脚本,它让您了解是否使用了张量核。表1显示了关键参数。

Command Line Option

Description

–csv

为输出指定逗号分隔的值

–nvtx

启用NVTX支持(这意味着如果python代码使用NVTX注释进行插装,那么分析器将支持指定范围内的数据收集

-o

指定内核protobuf报告的输出文件

–metrics

指定要收集的指标

sm_uu inst_executed_pipe_hmmafp32_sum metric显示执行了hmma指令,在每次内核启动时捕获nvtx堆栈。非零值表示使用了一些TensorCore。

举例:

Nvprof and NVVP

nvprof和nvvp分析工具已被CUDA开发人员广泛用于分析。

您可以在VisualProfiler中分析应用程序。探查器最初显示时间线。然后使用菜单选项 “Run->Collect Metrics and Events” 再选择“Metrics->Multiprocessor” 下的 “Tensor-Precision Function Unit Utilization” ,如图所示:

下面的图显示了在可视分析器中使用TensorCore的内核。

此外,nvprof还支持tensor_precision_fu_utilization度量,它显示了模型每个内核中TensorCore的利用率水平。这个指标首先出现在9.0版CUDA工具包中。

tensor_precision_fu_utilization:在0到10的尺度上执行Tensor Core指令的多处理器功能单元的利用率。

如果要查看哪个内核正在使用tensorCore,请使用以下命令行选项:

./nvprof -m tensor_precision_fu_utilization ./app_name

这将返回执行Tensor cores指令的多处理器函数单元的利用率级别,范围从0到10。任何显示非零值的内核都使用Tensor cores。

注意,只有通过nvprof的volta体系结构才支持度量和事件的分析。图灵体系结构nvprof只支持跟踪功能。使用nsight compute代替在Turing上显示分析度量。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nsight Systems
  • Nsight Compute
  • Nvprof and NVVP
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档