读书频道 > 网站 > 网页设计 > 高性能CUDA应用设计与开发:方法与最佳实践
3.5.2 NVTX跟踪支持库
12-12-21    奋斗的小年轻
收藏    我要投稿   
本书是广受推崇的系统学习高性能CUDA应用开发与设计的经典著作,是美国国家安全实验室资深高性能编程专家多年工作经验结晶,橡树岭国家实验室资深专家鼎力推荐!本书不仅从硬件角度深入解读了CUDA的设计理念和GP...立即去当当网订购

NVXT支持库提供了一种可以在计算过程上做标记的强大功能,通过这些标记很容易了解代码的实际运作情况。在Parallel Nsight跟踪上添加标记极大地帮助了开发人员理解程序的执行细节,通过它可以了解到那些被其他CUDA跟踪工具忽略的信息。

NVTX中有两个最简单的方法,分别是:

?nvtxRangePushA(char*):该方法向NVTX栈中压入一个字符串,该字符串会显示在时间表上。可以使用嵌套方式标记异步事件。

?nvtxRangePop():从栈顶弹出一个标记,这样该标记就不会在跟踪时间表上一直延续。

使用NVTX支持库的源代码需要包含nvToolsExt.h头文件。此外,可执行文件还需要连接相应的32位或64位版本的nvToolsExt库文件。调用该支持库的代码很简单,如例3.10所示。该示例注释了nlpcaNM.cu中对thrust::transform_reduce的调用。

例3.10 NVTX提交Transform_Reduce

 

图3.7是一幅跟踪时间表的屏幕截图,其中包含了大量可用的细节跟踪信息。该时间表上显示了三次transform_reduce操作。中间的一次操作以灰色突出显示用来区分三个被标记的操作。屏幕上方的一些跟踪展示了GPU的活动信息和API的调用;屏幕下方的一些跟踪信息则显示了系统以及各处理器核心中有关该应用程序的活动情况。

Parallel Nsight巧妙地使用了不同的颜色来帮助编程者理解,但本书的黑白图片中暂时无法呈现丰富的色彩。笔者推荐在大尺寸显示器上使用Parallel Nsight,这样时间表上就可以包含更多的跟踪信息,如标签、滚动标签、互动区域等。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站