使用Intel® Parallel Studio优化程序性能实例分析

摘要(Abstract):
       Media SDK是一个软件开发库,包含解码、视频处理和编码三大模块。利用Intel®平台的硬件加速能力, Media SDK为低端用户提供了优秀的高清视频质量,极大的降低了播放高清视频的硬件门槛。此外,强大的视频APIs也减轻了程序开发者的工作负担,使他们能够集中精力去处理程序的逻辑模块,而不必关心于Media SDK内部的复杂编解码逻辑及其如何提高效率。本篇文章将着重讲述如何利用Media SDK提高程序的效率,面对的读者主要是视音频程序开发人员。

      很多程序开发人员知道或者已经使用过英特尔软件开发工具,例如:编译器,VTuneTM性能分析器,性能库,线程分析工具Thread Profiler,Thread Checker等。这些工具功能多且强大,都支持windows*和Linux*操作系统,它们可以用于从串行到并行程序的优化中。基于过去25年软件开发和性能优化的经验,英特尔最近发布了最新的开发工具集“Intel® Parallel Studio”。这个工具集为在微软Windows操作系统下进行C/C++开发的程序员提供了一个界面友好,功能强大的调试,优化环境。Intel Parallel Studio可以无缝集成在微软Visual Studio 2005 and 2008中。这个工具集非常容易学习和使用。通过简单点击,程序员就能完成代码编译或者调试的任务。

      Intel® Parallel Studio包括Intel® Parallel Composer,Intel® Parallel Inspector,Intel® Parallel Amplifier以及Intel® Parallel Advisor Lite。对那些已经熟悉了传统英特尔开发工具的程序员来说,这些新工具的名字是陌生的。但是这些工具的功能却似曾相识。事实上,Parallel Composer 集合了传统的Intel® C++ compiler, Intel®线程构建模块(Threading Building Blocks), Intel®集成性能库(Integrated Performance Primitives)以及Intel® Parallel Debugger Extension。Parallel Inspector 包括了Intel® 线程检查器(Thread Checker)以及内存检查的功能。这两个工具集帮助开发人员提高生成代码和查找错误的效率。

      Parallel Amplifier是一个并行程序性能分析和调试工具。其功能类似于原来Intel® VTune和Intel® Thread Profiler的集合。于VTune能够基于时间或者事件采样不同的是Amplifier只能基于时间采样。Amplifier去掉了各种可能让部分程序员感到困惑,难于理解的事件,比如L2 cache miss或者Branch miss-prediction。Amplifier可以帮助开发人员找到他们程序执行的热点在源代码中的位置,这些热点就是需要性能优化的地方。除此以外,Amplifier能够让程序员知道他们的多线程程序并行执行是否高效。

      本文以一个图像处理中经常会用的到卷积计算小程序为例子,介绍了Intel® Parallel Composer,Intel® Parallel Inspector,Intel® Parallel Amplifier的主要功能以及在程序开发中从代码生成,查找错误到程序性能优化各个阶段如何挑选合适的工具和如何使用这些工具。

亮点(Highlights):
- Intel Parallel Studio

- 并行程序开发及性能调优
- Parallel Program development & Performance Tuning

作者简介(Instructor Bio)

sky.JPG


宋志凯毕业于武汉大学计算机科学与技术学院并获得硕士学位。他目前在英特尔公司担任资深应用软件工程师,负责英特尔嵌入式平台技术推广和性能调优的工作。他对视频相关特别是视频编解码器性能优化方面拥有丰富的经验。同时,他熟悉各种基于英特尔平台的软件性能调优方法,包括多线程优化,SSE汇编语言编写以及英特尔软件调优工具的使用,例如Intel Parallel Studio, VTune,Thread Profiler 和 Thread Checker等。



点击下载使用Intel® Parallel Studio优化程序性能实例分析  (该白皮书附属实例程序项目文件

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.