Visual C++利用Intel C++ 编译器提升多核性能与多媒体指令支持获取更高的程序效率与缩小程序体积
2013-07-25 17:39
405 查看
Intel c++编译器有下列优点,建议VC++项目开发采用intel c++编译器取代VS自带c++编译器:
与 Microsoft Visual C++ 相兼容,可以嵌入 Microsoft Visual Studio 开发环境。
支持最新的多核处理器,并提供安全功能,可以通过执行堆栈桢运行时错误检查,使得缓冲区溢出安全漏洞更不易受到攻击。
支持多线程应用程序,支持 Open MP,拥有自动并行化功能。
遵循 ANSI C/C++ 及 ISO C/C++ 的标准。
包括Intel Debugger 和代码覆盖工具,支持优化代码和多线程应用的调试,减少代码缺陷,提高开发效率。
支持最新的多核处理器。支持最新处理器的优化功能能大大提高程序在这些处理器上的效能。
支持运行时对堆栈的检查,减少缓冲器益处导致的安全缺陷。
包含IA-32,Itanium(安腾)2以及支持64位内存扩展技术开发工具。
增强Intel Debugger对优化代码的支持
Intel c++编译器集成到 Microsoft Visual Studio* 2005 和 2008 中。使用英特尔 C++ 编译器、Microsoft Visual C++* 编译器或两者同时使用!
· 多线程应用支持包括 11.0 中的新特性、OpenMP 3.0(数据并行和当前任务并行)以及自动并行,以支持简单有效的软件线程。
· 自动矢量化可实现代码并行,从而利用我们最新的处理器中的 SIMD 流指令扩展(SSE)指令集架构(SSE、SSE2、SSE3、SSSE3 和 SSE4)。
· 高性能并行优化程序(HPO)将调整并优化循环,并确保自动矢量化、OpenMP 或自动并行能够最充分地利用高速缓存和内存访问,SIMD 指令集和多个内核。在单一通道中进行编译,能够缩短编译时间并产生更多可靠的代码。
· 过程间优化(IPO)能够动态地改进中小型函数的程序,特别是循环内包含调用的程序。IPO 分析可提供关于缺陷和编码错误的反馈信息(如未初始化的变量或 OpenMP API 问题),其它编译器不能探测到此类错误。
· 档案导引优化(PGO)通过降低指令快取置换(cache-thrashing)、重组代码布局、缩减代码长度并减少分支预测失误来提高应用程序性能。
· 英特尔® 线程构建模块是一个屡获殊荣的 C++ 模板库,能够为任务吸取线程,以创建可靠的、便携的、可扩充的并行应用。英特尔® TBB 是实施并行应用和释放多核平台性能的最有效方式。
· 英特尔® 数学核心函数库包括支持最出色性能的优化及可扩充的数学程序,同时无缝提供从当前到未来多核平台的前向扩充。
· 英特尔® 集成性能基元是一个广泛的多核就绪函数库,高度优化的软件功能可用于多媒体数据处理和通信应用。
那么我们来实际操作一下利用Intel C++编译器的使用吧
先安装,遵循下列流程,
1.安装初始化界面
2.进入安装流程
3.许可协议
4.许可协议后进行安装
5.选择试用
6.选择完全安装
8.进行安装
9.进行安装
10.安装完成
11.编译器属性设置
12 编译器前后路径设置
13.项目采用intel C++编译器进行优化编译
14.确认
15.intel C++编译器进行优化并输出
本人曾经2008-2009开发了8个VC项目,其中7个都用intel c++编译器可以大幅度提升程序性能,
尤其是多媒体性能,计算性能,以及多核条件下的性能要明显强于visual studio 自带C++编译器
同等条件下,intel c++编译器已经几乎无限接近汇编语言的执行效率了,同等条件下,速度更快,体积越小。
本人的7个项目都利用intel c++编译器提升了性能。推荐大家采用intel C++编译器。但是一个嵌入式项目例外,
但是在嵌入式平台,基于winCE,winmobile的MFC不推荐使用intel C++编译器,因为底层芯片基于ARM,无法发挥intel c++编译器的功效,反而不如VS自带的编译器。
与 Microsoft Visual C++ 相兼容,可以嵌入 Microsoft Visual Studio 开发环境。
支持最新的多核处理器,并提供安全功能,可以通过执行堆栈桢运行时错误检查,使得缓冲区溢出安全漏洞更不易受到攻击。
支持多线程应用程序,支持 Open MP,拥有自动并行化功能。
遵循 ANSI C/C++ 及 ISO C/C++ 的标准。
包括Intel Debugger 和代码覆盖工具,支持优化代码和多线程应用的调试,减少代码缺陷,提高开发效率。
支持最新的多核处理器。支持最新处理器的优化功能能大大提高程序在这些处理器上的效能。
支持运行时对堆栈的检查,减少缓冲器益处导致的安全缺陷。
包含IA-32,Itanium(安腾)2以及支持64位内存扩展技术开发工具。
增强Intel Debugger对优化代码的支持
Intel c++编译器集成到 Microsoft Visual Studio* 2005 和 2008 中。使用英特尔 C++ 编译器、Microsoft Visual C++* 编译器或两者同时使用!
· 多线程应用支持包括 11.0 中的新特性、OpenMP 3.0(数据并行和当前任务并行)以及自动并行,以支持简单有效的软件线程。
· 自动矢量化可实现代码并行,从而利用我们最新的处理器中的 SIMD 流指令扩展(SSE)指令集架构(SSE、SSE2、SSE3、SSSE3 和 SSE4)。
· 高性能并行优化程序(HPO)将调整并优化循环,并确保自动矢量化、OpenMP 或自动并行能够最充分地利用高速缓存和内存访问,SIMD 指令集和多个内核。在单一通道中进行编译,能够缩短编译时间并产生更多可靠的代码。
· 过程间优化(IPO)能够动态地改进中小型函数的程序,特别是循环内包含调用的程序。IPO 分析可提供关于缺陷和编码错误的反馈信息(如未初始化的变量或 OpenMP API 问题),其它编译器不能探测到此类错误。
· 档案导引优化(PGO)通过降低指令快取置换(cache-thrashing)、重组代码布局、缩减代码长度并减少分支预测失误来提高应用程序性能。
· 英特尔® 线程构建模块是一个屡获殊荣的 C++ 模板库,能够为任务吸取线程,以创建可靠的、便携的、可扩充的并行应用。英特尔® TBB 是实施并行应用和释放多核平台性能的最有效方式。
· 英特尔® 数学核心函数库包括支持最出色性能的优化及可扩充的数学程序,同时无缝提供从当前到未来多核平台的前向扩充。
· 英特尔® 集成性能基元是一个广泛的多核就绪函数库,高度优化的软件功能可用于多媒体数据处理和通信应用。
那么我们来实际操作一下利用Intel C++编译器的使用吧
先安装,遵循下列流程,
1.安装初始化界面
2.进入安装流程
3.许可协议
4.许可协议后进行安装
5.选择试用
6.选择完全安装
8.进行安装
9.进行安装
10.安装完成
11.编译器属性设置
12 编译器前后路径设置
13.项目采用intel C++编译器进行优化编译
14.确认
15.intel C++编译器进行优化并输出
本人曾经2008-2009开发了8个VC项目,其中7个都用intel c++编译器可以大幅度提升程序性能,
尤其是多媒体性能,计算性能,以及多核条件下的性能要明显强于visual studio 自带C++编译器
同等条件下,intel c++编译器已经几乎无限接近汇编语言的执行效率了,同等条件下,速度更快,体积越小。
本人的7个项目都利用intel c++编译器提升了性能。推荐大家采用intel C++编译器。但是一个嵌入式项目例外,
但是在嵌入式平台,基于winCE,winmobile的MFC不推荐使用intel C++编译器,因为底层芯片基于ARM,无法发挥intel c++编译器的功效,反而不如VS自带的编译器。
相关文章推荐
- Visual C++利用Intel C++ 编译器提升多核性能与多媒体指令支持获取更高的程序效率与缩小程序体积
- Visual C++利用Intel C++ 编译器提升多核性能与多媒体指令支持获取更高的程序效率与缩小程序体积
- [.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能
- Eclipse下利用VC编译器编写C/C++程序
- 利用C/C++编写程序以获取文件夹内所有子文件名,windows和Linux两个版本都有
- 在程序中利用C++支持多国语言
- 怎样在程序中利用C++支持多国语言(一种解决方案)
- [C++] 测试硬件popcnt(位1计数)指令与各种软件算法,利用模板实现静态多态优化性能
- 利用C++/CLI 封装Native C++ 提升.NET web game性能
- 主板支持更高的处理器速度,升级处理器可获得性能提升。
- 利用C++/CLI 封装Native C++ 提升.NET web game性能
- 使用Intel编译器(5)PGO(2)PGO性能的提升和一些tips
- SpiderMonkey-让你的C++程序支持JavaScript脚本
- Java中使用new Date()和System.currentTimeMillis()获取当前时间戳的区别(转)(Java进阶-性能提升)
- paip.提升性能--多核编程中的java .net php c++最佳实践 v2.0 cah
- 利用manifest提升程序为VISTA/WIN7管理员权限
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?----转
- 利用AS3编译器为让FLex程序成为多帧:Frame编译器参数
- 提升ASP.NET程序性能的20个技巧
- 在细节上提升你的程序的性能