Intel® Parallel Advisor 2011来了

最近Intel新发布的产品Intel® Parallel Studio 2011是以前Intel® Parallel Studio的升级版。除了以前的三个组件:Intel® Parallel Composer, Intel® Parallel Inspector 和Intel® Parallel Amplifier, 另外增加了一个新组件Intel® Parallel Advisor. 当然所有的组件都已增加“2011”后缀名

Intel® Parallel Advisor 2011其实是被用于代码的设计阶段。一个具体的应用就是:当用户要把以前的串行代码进行并行化,以提升在多核平台上的性能。但是有可能又无从着手,Intel® Parallel Advisor 2011 不仅帮你找出可以热点代码,而且帮你预估了一旦被优化后,可能得到的性能提高的具体量化指标。这样,用户可以了解哪些串行代码是值得去并行化,或者说是被优先考虑的。

打开Advisor的工作流程

 

整个使用过程大致分为四步:

1. Survey Target (调查目标对象)

 

类似与VTune™ Performance Analyzer寻找热点代码,一般在循环中

2. Annotate Source (增加额外代码,参加编译)

增加的额外代码,其实就是调用Advisor 的库函数

 

3. Check Suitability (检查适应性)

经过重新编译,再作适应性检查,可知并行化后大概的性能提升幅度 (对循环而言,二核下Site 的最大性能提升空间是1.89倍,去掉一些额外开销,最终是1.87倍)

 

4. Check Correctness (检查潜在的风险)

将来完成并行化工作时,多个线程难免会对共享资源的操作发生冲突。这里列出了所有的潜在风险。

 

其实还有最后一步,对目标串行代码的优化实现。一般采用多线程实现,除传统方法外,可用OpenMP, TBB, Cilk等方法。这个不在Intel® Parallel Advisor 2011的讨论范围。

posted @ 2010-09-17 07:05  blockcipher  阅读(300)  评论(0)    收藏  举报