英特尔® 英特尔多核计算技术专区
图像
概论
图像 图像
Intel 软件工具 入门篇

软件优化的三个层次 打印打印
图像 图像

图像 Intel软件工具入门篇 图像
为了帮助应用开发商, 研究机构, 或者是独立的编程人员, 更好地利用Intel架构的优势, 发挥系统的全部性能, 提高应用运行的效率, Intel早就推出了一系列的软件开发工具, 包括编译器, 性能分析器, 高性能函数库, 群集工具等等...

为了适应多核时代的到来, 原有的一系列工具进行了大量的更新和优化, 又新推出了线程分析工具, 成为多核编程的好帮手.


常见问题:

Q: 我是最终用户, 使用这些工具是否能提高系统性能??
A: 这里提到的所有工具都是帮助软件开发人员的, 它不同于驱动程序或者其它系统优化工具. 请和你的软件提供商联系, 询问他们是否使用了这些工具.

Q: Intel多核编程工具是否是免费软件(Freeware)??
A: 所有的软件工具都是商业软件, 您支付的费用包括一年内的Intel专家的在线技术支持, 以及一年内免费升级到最新版本. Intel Thread Building Block (TBB)目前已经Open Source, 但您还可以通过付费获得技术支持.??

Q: 所有的Intel工具是否可以下载试用 有效期多长?
A: 可以通过Intel的网站获取免费评估软件试用, 期限基本上是一个月. 你需要通过电子邮件注册获取许可文件(License File), 并且下载相应的软件安装包. 具体的下载地址, 请参见下面的常用链接

Q: 所有的Intel工具支持哪些硬件架构平台?
A: 支持的硬件架构有:
-- 基于 IA-32 架构的处理器, 或者指令集兼容
-- 基于 Intel 64 (EM64T) 架构的处理器,或者指令集兼容
-- 基于 IA-64 架构的处理器
具体的平台支持, 请参考各工具的发行说明(Release Notes)和安装说明(Installation Guide)

Q: 所有的Intel工具支持的操作系统呢?
A: 支持的主要操作系统有:
-- Windows, 包括XP, 2003, Vista;
-- Linux, 包括RedHat, SuSE, Asianux, Turbo, Ubuntu等
-- Mac OS X 10
具体的版本支持, 请参考各工具的发行说明(Release Notes)和安装说明(Installation Guide)

Q: 所有的Intel工具支持哪些编程语言?
A: 支持的编程语言有C, C++, Fortran. 其它语言和运行环境可以通过调用模块(DLL, LIB)的形式支持. VTune性能分析器可以与 C、C++、Fortran、C#、Java、.NET 等等一起使用。

 


图像 软件优化的三个层次 图像

当我们试图去调试软件的性能时,要从什么出发点来考虑呢?

其实通常软件的优化分为三个层次的方法:系统层面,应用层面及微架构层面。

1.首先需要考虑的是系统层面:是否有其他的程序较多的消耗着系统的资源;有无I/O的瓶颈问题;频繁的磁盘读写及响应;网络的速度;系统的配置(增加内存及选用高性能处理器,缓存)。可用Intel(R) VTune(TM) Performance Analyzer中Counter Monitor来收集此类信息。

2.其次考虑应用层面的优化:是否可以改进程序的算法,例如把单线程的程序修改成多线程的程序,在多核或超线程平台上获得性能的提升。Intel(R) Thread Checker可以帮你解决线程的出错定位, Intel(R) Thread Profiler 可以帮你解决线程的性能瓶颈。

3.再次考虑的是微架构层面的优化:比如程序中分支的跳转(误测)引起的指令缓存的命中率下降,程序中地址分配不当引起数据缓存的命中率下降,流水线上相邻指令对同一变量存取依赖,双核上对共享的L1缓存行刷新影响正在使用该缓存另一核,等等。。