英特尔 Visual Fortran 编译器 Windows 版为所有英特尔® 架构平台提供快速开发能力和卓越性能。它是一种全语言 Fortran 95 编译器,其中包含了来自 Fortran 2003 标准版的许多功能,还带有大量广泛使用的扩展。
它能够对软件执行自动优化和并行处理,从而充分利用英特尔多核处理器(包括双核及四核移动平台、桌面平台以及企业平台)。
现有三个编译器包可供选择
可供选择的英特尔 Visual Fortran 编译器 Windows 版有三种:专业版、含有 IMSL 的专业版,以及标准版。专业版将高性能编译器与英特尔数学核心函数库(英特尔 MKL)结合在一起。含有 IMSL 的专业版提供专业版中的所有许可组件,还包括用于 Windows 的 IMSL Fortran 库。标准版提供不含英特尔 MKL 或 IMSL 的编译器。所有版本都包括 Microsoft Visual Studio 2005 首选合作伙伴版(评估版和学生版许可证类型除外)。
性能
通过英特尔 Visual Fortran 编译器专业版,您可以选择所需要的工具,将 Fortran 编译器及其内置优化功能、线程和安全功能与高度优化的数学函数库(该函数库简化了强大且可扩充的多线程数学函数的引入)结合使用,最大限度地利用多核处理器。
先进的优化特性使用英特尔 Visual Fortran 编译器 Windows 版编译的软件受益于这些高级优化特性,此处简单说明其中若干特性,您可以通过链接获得更完整的说明:
- 多线程应用支持,包括用于简单有效的软件线程技术的 OpenMP 和自动并行处理。
- 自动矢量化功能对代码进行并行处理,以便利用最新处理器的单指令多数据流扩展 (SSE) 指令集体系结构(SSE、SSE2、SSE3、SSSE3 和 SSE4)。
- 高性能并行优化程序 (HPO) 重构并优化循环,以确保自动矢量化功能、OpenMP 或自动并行处理功能最大限度地将处理器功能用于高速缓存和内存访问、SIMD 指令集,以及用于多个内核。这一创新功能(对于版本 10 而言为全新功能)将矢量化功能、并行处理和循环转换组合成一个流程,与以前离散的多个阶段相比,该流程更快、更有效且更可靠。
- 过程间优化 (IPO):对于包含许多常用中、小函数的程序,特别是循环内包含调用的程序,IPO 可以极大地提高应用程序性能。此优化程序的分析功能还可以提供有关漏洞和编码错误(如未初始化的变量或 OpenMP API 问题)的反馈,即使是严格依赖于编译器前端提供的分析的编译器也无法检测到这些错误。
- 档案导引优化(PGO):通过降低指令缓存快取置换(cache-thrashing)、重组代码布局、缩减代码长度并减少分支预测失误来提高应用程序性能。
英特尔 Visual Fortran 编译器 Windows 版建立于卓越的基础之上。您可以针对下一代硬件亲自创建下一代软件。以下为自编译器版本 9 以来全新的特性。
| 新增内容 | 益处 |
| 独立产品包括 Microsoft Visual Studio 2005 首选合作伙伴版,包括编译器 10.1 版中改进的集成 | 开发要在基于 32 位英特尔® 处理器架构或 Intel® 64 架构系统上运行的 Fortran 应用,将不再需要单独购买 Microsoft 开发工具(有关详细信息,请参阅“系统要求”)。10.1 版增强功能包括增加的 Microsoft Visual Studio 自定义设置以及目标用户界面增强功能,可为处理英特尔编译器项目的用户带来提升的灵活性和效率。
|
| 其它 Fortran 2003 特性,包括输入/输出流 |
使用 C 互操作特性,可以更轻松地开发混合语言应用程序。异步 I/O 增强了读取和写入大型文件的应用程序的性能。有关可以支持的 Fortran 2003 特性的完整列表,请参阅编译器发行说明。
|
| 英特尔® COM 服务器向导 |
对广泛使用的 Compaq* Visual Fortran 特性的更新,通过它可以创建可从 Microsoft .NET* 管理的代码环境下使用的 Fortran 应用程序。
|
| 增强的性能和线程 |
为计算密集的应用程序(如图形/数字媒体、财务建模)提供更出色的应用程序性能,并为线程或非线程应用程序提供高性能计算。全新的高性能并行优化程序 (HPO) 提供了更为强大的功能,用于分析、优化和并行处理更多循环嵌套。
|
安全检查和诊断- 用于缓冲区溢出的静态验证程序
- OpenMP* API 验证。
|
能够创建更不易受安全漏洞(如缓冲区溢出)影响的代码。不管是初学者还是经验丰富的用户,诊断都能帮助他们捕获常见的代码错误,从未初始化的变量、不匹配的虚拟参数和实际参数,到 OpenMP API 编码问题。
|
| Windows Vista* 支持 |
可在最新的 Microsoft 操作系统上开发应用程序。
|
| 优化报告 |
对于希望使用我们的高级优化功能以帮助编译器在调试应用程序时可以更好地工作的用户,我们将提供更详细的优化诊断信息。新的 VTune™ 分析器 9.0 版可以筛选优化报告,以帮助引导所需要的优化过程。
|
| 支持未来英特尔处理器实施 SSE4 指令的代码生成和优化 | 利用 SIMD 流指令扩展 4 (SSE4) 为众多应用提供扩展的能力、增强的性能以及更高的能效。
|
|
用于为循环展开和流存储提供更高级的优化的选项 | 提升的应用性能。
|
| 演示 Win32 API 和 QuickWin 用法的其他示例程序 | 通过使用有效的已调试代码来加快开发速度。
|
支持最新多核处理器
英特尔 Fortran 编译器为最新的英特尔多核处理器提供优化支持,这些多核处理器包括:
- 英特尔® 酷睿™2 双核处理器
- 英特尔® 酷睿™2 四核处理器
- 四核英特尔® 至强® 5300 系列处理器
- 双核英特尔® 至强® 处理器 3000 系列
- 双核英特尔® 至强® 处理器 5000 系列
- 双核英特尔® 至强® 处理器 7000 系列
- 双核英特尔® 安腾® 2 处理器
|
英特尔编译器通过始终为每代处理器迅速提供顶级支持,确保您的投资以后也有回报。对于新硬件平台以惊人速度不断面世的现今社会,这是一个非常关键的优势。
通过对自动并行处理和 OpenMP* 的支持,您可以创建优化的多线程应用程序,这些应用程序会充分利用多核处理特性,从而提供卓越性能。
|
| 专业版 |
不仅包括编译器的高级功能,还包括用于数学处理的具有高度优化函数的英特尔数学核心函数库 (Intel MKL) 。
|
| 含有 IMSL 的专业版 |
包括编译器、英特尔 MKL 和来自 Visual Numerics* 的 IMSL Fortran Numeric Library 6.0 版。(持有当前支持许可证的英特尔® Visual Fortran 9.1 专业版的用户将自动升级到含有 IMSL 的专业版。) |
本节详细介绍编译器的高级优化功能。
多线程应用支持OpenMP 和自动并行处理能够帮助将串行应用程序转化为并行应用程序,使您能够充分利用多核技术,例如英特尔® 酷睿™ 双核处理器、双核英特尔安腾 2 处理器以及对称多处理系统:
- OpenMP 是可移植多线程应用开发的行业标准。在细粒度(循环级别)与粗粒度(函数级别)线程技术上具有很高的效率。
对于将串行应用程序转换成并行应用程序,OpenMP 指令是一种容易使用且作用强大的手段,它具有使应用程序因为在多核心与对称多处理器系统上并行执行而获得大幅性能提升的潜力。 - 自动并行使用能自动将循环线程化的自动并行功能,提高多处理器系统上的应用程序性能。这个选项会检测能够安全地并行执行的循环,然后自动生成多线程代码。
自动并行功能使得用户不必处理迭代分区、数据共享、线程调度及同步等低级别的细节。它还能够提供多处理器系统与支持超线程 (HT) 技术的系统所具有的性能优势。
如欲了解多线程应用支持的更多信息,请访问英特尔的
线程开发人员中心。
高性能并行优化程序 (HPO)
对于版本 10 而言为全新的这一创新功能将自动矢量化功能、自动并行处理功能和循环转换功能组合成一个流程。与以前离散的多个阶段相比,该流程更快、更有效且更可靠。
HPO 优化并重构程序循环,以确保自动并行处理功能、OpenMP 和自动矢量化功能彼此结合在一起平稳地运行。HPO 的优化技术利用独特的成本效益分析,为给定程序和循环结构做出正确的优化决策。它将执行许多转换(如循环展开、剥离、交换、拆分等)和其它优化,以确保充分利用处理器的高速缓存架构、SIMD 指令集和多个内核。这些循环转换是自动执行的,因此无需手动更改代码。
自动矢量器
矢量器可自动对代码进行并行化处理,以便充分利用处理器的潜在能力。这种先进的优化对循环进行分析,并确定何时可以安全有效地利用 MMX™、SSE、SSE2 和 SSE3 指令并行执行几种反复循环。图 1 显示了经过矢量化的循环,它在一次 SSE2 运算中计算了四个迭代。
使用矢量化功能可以优化应用程序代码,在英特尔® 处理器上运行时,可以充分利用这些新的扩展功能。这些特性支持先进动态数据调整策略,包括可以生成平衡负载的循环剥离技术,以及可以匹配整个缓存线预取情况的循环展开技术。
图 1. 运行中的矢量器。 过程间优化(IPO)对于包含许多常用中、小函数的程序,特别是循环内包含调用的程序,IPO 可以极大地提高应用程序性能。这套可用于英特尔编译器中自动运算的技术无需关注单独的函数,而是利用多文件或整个程序来监测并执行优化。
图 2. 过程间优化流程
图 2 中显示的 IPO 流程首先需要使用 IPO 选项对源文件进行编译,创建对象 (.o) 文件,这些文件包含编译器使用的中间语言 (IL)。根据链接,编译器结合所有 IL 信息并对其进行分析,以便实现优化机会。典型的优化作为 IPO 流程的一部分,包括程序内联和重排、删除无用(不能获得)的代码、常数传播或已知常量值的代入。与在程序内部提供的优化相比,IPO 所支持的优化更加先进,因为多个程序具有更多上下文,能够确保这些比较先进的优化更加安全。
IPO 的分析功能还可以提供有关漏洞和编码错误(如未初始化的变量)的反馈,即使是严格依赖于编译器前端提供的分析的编译器也无法检测到这些错误。
档案导引优化(PGO)
档案导引优化 (PGO) 编译过程使编译器可以更好地利用处理器微体系结构,更有效地使用指令调度与高速缓存,并可以更好地执行分支预测。通过重新组织代码布局以减少指令缓存反复、缩减代码长度并减少分支预测失误,它可以帮助提高应用程序的性能。
如图 3 所示,PGO 是一个三阶段的流程。这三个阶段包括:1) 利用增加的工具对应用进行编译,2) 文件生成阶段,在该阶段中执行并监视应用,3) 针对第一阶段中收集的数据加入优化,进行重新编译。下面是几种影响档案导引优化的代码长度说明:
- 基本模块和函数分类——将经常执行的模块和函数放置在一起,便于充分利用指令缓存定位。
- 辅助内联决策——将经常执行的函数进行内联,这样,代码长度的增加就会在性能受到最大影响的区域内发生。
- 辅助矢量化决策——对循环次数较高和经常执行的循环进行矢量化,这样,代码长度的增加就会随着性能的增加而缓解。
符合标准,广泛兼容英特尔 Visual Fortran 编译器旨在与 Microsoft 开发产品协同工作,它依赖于这些产品的特定组件。它与 Microsoft Visual Studio 2005 以及 Visual Studio .NET* 2003 相集成,并提供扩展的 32 位和 64 位多核处理器支持。
英特尔 Visual Fortran 编译器 Windows 版完全支持 Fortran 95 语言标准版以及以前的标准版 Fortran 90、Fortran 77 和 Fortran IV。它还包括来自 Fortran 2003 语言标准版的许多特性,以及大量广泛使用的语言扩展。支持的主要语言扩展程序包括:
- 四重精确 REAL 数据类型 REAL(16)
- 为用户定义的类型构造、记录、合并、映射语法
- 用以增强多语言应用程序开发的指令和函数
- 二进制流 I/O
有关语言特性的完整列表,请参见产品文档。
英特尔 Visual Fortran 编译器 10.0 Windows 版还通过如下功能增强编程人员的工作效率:
- 运行时间阵列和字符串限制检测
- 跨文件程序界面检测
- 未初始化变量运行时检测
- 使用文件名和行编号进行错误追踪
该编译器还具有一个特点,即它与 Compaq Visual Fortran* 高度兼容,包括语言扩展、预定义模块以及库例程。
跨应用领域实现卓越性能英特尔 Visual Fortran 编译器 Windows 版带来了杰出的性能与可用性,帮助您在诸多的软件市场中赢得业务优势。
 | 下一代数据密集型应用程序开发人员将受益于英特尔编译器的动态性能优化,从而降低延迟和处理时间,而且软件设计人员添加其它功能特性也不会对性能带来太大影响。 |
| |
 | 科学、研究及相关应用将受益于快速编译时间、高性能执行以及强大的技术支持。计算密集型软件可以充分利用英特尔架构平台中的并行功能所带来的优势。 |
凡购买英特尔® Fortran 编译器即可获得为期一年的技术支持服务并和来自于英特尔卓越支持(在线疑难问题管理和沟通网站)的产品更新。通过该优质的支持服务您可以提交问题,下载产品更新,和访问技术说明,应用说明和其他稳当。想要了解更多信息,请访问英特尔注册中心。
本节介绍了以下三种不同硬件平台上应用开发的系统要求。
架构术语
英特尔编译器支持三种平台:处理器和操作系统类型的常规组合。本节介绍了英特尔在其文档、安装程序和支持网站中描述平台的术语。
32 位英特尔® 处理器架构 (IA-32)——32 位英特尔® 处理器架构指基于 32 位处理器(通常与英特尔® 奔腾® II 处理器兼容,例如英特尔® 奔腾® 4 处理器或英特尔® 至强® 处理器)的系统,或指基于其他制造商提供的支持相同指令集的处理器,且运行 32 位操作系统的系统。
Intel® 64 架构——Intel® 64 架构指基于具有 64 位架构扩展的 32 位英特尔® 处理器架构 (IA-32) 的处理器(例如英特尔® 酷睿™2 处理器家族或英特尔® 至强® 处理器)且运行 64 位操作系统(例如 Microsoft Windows XP* Professional x64 版或 Microsoft Windows Vista* x64)的系统。但是,如果系统运行的是 32 位版本的 Windows 操作系统,那么 32 位英特尔® 处理器架构适用。针对 Intel® 64 架构应用的英特尔编译器还支持基于 AMD* Athlon64* 和 Opteron* 处理器,且运行 64 位操作系统的系统。
IA-64 架构——指基于英特尔安腾 2 处理器且运行 64 位操作系统的系统。
本地和跨平台开发
术语“本地”指构建一个应用程序,该应用程序将在构建其的同一平台上运行,例如,在 IA-32 架构上进行构建,以便在 IA-32 架构上运行。术语“跨平台”或“跨编译”指构建一个应用程序,构建该应用程序的平台与将运行该应用程序的平台的类型不同,例如,在 IA-32 架构上构建,在英特尔 64 架构上运行。不是所有的跨平台开发组合都受支持,某些组合可能要求安装可选工具和库。
下表说明了支持的编译主机(构建应用程序的系统)和应用程序目标(运行应用程序的系统)组合。
| 主机\目标 | IA-32 架构 | 英特尔 64 架构 | IA-64 架构 |
| IA-32 架构 |
是的
|
是的
|
是的
|
| 英特尔 64 架构 |
是的
|
是的
|
是的
|
| IA-64 架构 |
没有
|
没有
|
是的
|
本节提供了面向各种硬件平台进行应用开发的系统要求:
| 在采用基于 32 位英特尔® 处理器架构或 Intel® 64 架构的处理器,或 AMD 处理器的系统上运行应用的开发要求 |
| 主机硬件要求 |
| 组件 | 最低要求 | 推荐 |
| 处理器
(所需的任意处理器) | 基于 32 位英特尔® 处理器架构的处理器(至少为 450 MHz 英特尔® 奔腾® II 处理器或更高速度的处理器)的系统、基于 Intel® 64 架构处理器的系统或基于 AMD Athlon* 或 AMD Opteron 处理器的系统 | - 英特尔® 酷睿™ 处理器家族
- 英特尔® 至强® 处理器
|
| 内存 |
512 MB |
1 GB |
| 磁盘空间 |
1 GB
|
1 GB
|
| 主机软件要求 |
操作
系统
| - Microsoft Windows Vista*
- Windows XP*
- Windows Server* 2003
|
其它
软件
| 安装下面列出的其它 Microsoft 开发软件是可选或必需的,具体取决于您的许可证类型。如果新购买了 10.0 或 10.1 商业版许可证和教育版许可证或购买了其支持续订,那么它是可选的;对于持有当前支持许可证的英特尔 Visual Fortran 编译器 9.1 专业版或更早版本的用户,它也是可选的。而对于所有其它许可证类型(包括评估版、学生版),以及英特尔 Visual Fortran 编译器 9.1 标准版或更早版本的用户,必须在安装英特尔 Visual Fortran 编译器 10.0 或 10.1 版之前安装以下 Microsoft 开发产品之一:
- Microsoft Visual Studio 2005 标准版、专业版或 Team System 版(安装了 C++ 组件),或
- Microsoft Visual Studio .NET 2003(安装了 C++ 组件,仅适用于 32 位英特尔® 处理器架构),或
- Microsoft Visual C++ .NET 2003 标准版(仅适用于 32 位英特尔® 处理器架构)或
- Microsoft Windows Server 2003 R2 Platform SDK
或针对 Windows Vista* 的 Windows 软件开发套件更新(仅适用于 Intel® 64 架构)。如果已安装此平台 SDK,您便可利用命令行工具来为基于 Intel® 64 架构的平台开发应用。 - Microsoft Visual C++ 2005 Express 版(仅适用于 32 位英特尔® 处理器架构)。此版本仅支持通过命令行使用编译器;不支持可视开发环境,包括 Visual Studio 调试器。对于使用 Visual C++ 2005 Express 版进行的 Fortran 开发,您还必须安装 Microsoft Windows Server 2003 R2 Platform SDK 或针对 Windows Vista* 的 Windows 软件开发套件更新。如果选择此选项,则只需要下载并安装 w_fc_x_10.1.xxx_IA32.exe 程序包;无需安装包括 Microsoft Visual Studio 首选合作伙伴版在内的程序包。
在 32 位英特尔® 处理器架构和 Intel® 64 架构系统上,如果未找到 Microsoft Visual Studio,并且使用了 CD 或 w_fc_x_10.1.xxx.exe 下载安装程序,那么系统将安装 Microsoft Visual Studio 2005 首选合作伙伴版。针对单一架构的安装程序以及名称中包含 NOVSPPE 的安装程序不会安装 Visual Studio 2005首选合作伙伴版。
注:不支持 Microsoft Visual Studio .NET 2002*。
|
| 在采用基于 64 位英特尔® 处理器架构的处理器(英特尔® 安腾® 处理器)系统上运行应用的开发要求 |
| 主机硬件要求 |
| 组件 | 最低要求 | 推荐 |
| 处理器
(所需的任意处理器) | 基于 32 位英特尔® 处理器架构的处理器(至少为 450 MHz 英特尔® 奔腾® II 处理器或更高速度的处理器)系统、基于 64 位英特尔® 处理器架构的处理器系统、基于 64 位英特尔® 处理器架构的处理器系统或基于 AMD* Athlon* 或 AMD Opteron* 处理器的系统 | |
| 内存 |
512 MB |
1 GB |
| 磁盘空间 |
500 MB
|
1 GB
|
主机软件要求
|
|
操作系统
| - Microsoft Windows Vista
- Windows XP
- Windows Server 2003
|
其它
软件
| |
运行应用程序的目标系统要求
|
| 平台 | 要求 |
| 基于 IA-32 架构的系统 |
基于 IA-32 架构且运行 Windows XP、Windows Vista 或 Windows Server 2003 的系统。某些应用程序可能在较旧版本的 Windows 上运行,由您负责测试这些应用程序的兼容性。基于 IA-32 架构的应用程序还可以运行在如下所述的基于英特尔 64 架构的系统上。
|
| 基于 64 位英特尔® 处理器架构的系统 |
基于英特尔® 安腾® 处理器且运行 Windows XP 64 位版本或 Windows Server 2003(Enterprise 版和 Datacenter 版)的系统
注:
- 在未安装英特尔® Visual Fortran 编译器的系统上运行应用时,可能会要求在目标系统上安装某些可再发行的 DLL。
- 对于利用跨编译方法构建于不同平台上的应用,目标系统上的 Microsoft 运行时 DLL 必须与用于构建该应用的平台 SDK 提供的 DLL 相同或更新。
|
| 基于 IA-64 架构的系统 |
采用基于 IA-64 架构的处理器且运行 64 位 Windows XP 或 Windows Server 2003(Enterprise 版和 Datacenter 版)的系统
|
注:以上并未列出全部处理器型号名称——如果其它处理器型号能够正确支持所列出的指令集,则也可以使用并达到预期效果。如果您对某个处理器型号存在疑问,请与英特尔® 卓越支持联系。
有些优化选项对运行应用的处理器类型有所限制。如欲了解更多信息,请参阅这些选项的相关文档。
高级优化选项或超大型系统可能需要其它资源,如更大的存储器和磁盘空间。
某些文档需要使用 Adobe Acrobat Reader* 7.0 或更高版本才能查看。
对于确保运行应用程序的操作系统与处理器均支持应用程序所含全部机器指令,应由应用程序开发人员负责。