英特尔
® 
Visual Fortran 编译器 9.1 Windows* 标准版和专业版
打印发送电子邮件告知好友支持新闻简报RSSDigg thisdel.icio.us
概述
英特尔® Visual Fortran 编译器 Windows* 版充分发挥下一代多核英特尔® 处理器的巨大潜力。

对于今天的软件开发人员而言,多线程处理并非难事,这使您能够从硬件技术的飞跃发展中获益。

产品简介 [PDF 646KB ]


购买产品 ›

免费评估版软件 ›

特性
英特尔® Visual Fortan 编译器 Windows 版本为所有基于英特尔® 处理器的平台提供快速的开发和卓越的性能。

它能够对软件执行自动优化和并行处理,从而充分利用英特尔多核处理器(包括双核移动平台、桌面平台以及企业平台)。

标准与专业版

英特尔 Visual Fortran Windows 标准版和专业版现已上市。标准版本包括众多功能组件,其中包括编译器和英特尔调试器。专业版本提供标准版本中许可的所有组件,还包括 Windows 版本的 IMSL* Fortran 库。

先进的优化特性概览

使用 Windows 版本的英特尔 Visual Fortran 编译器编译的软件具备高级优化的功能,在此将对一些功能进行简单的讲解,更为详尽的介绍见以下链接:

  • 多线程应用程序支持,包括用于简单且高效的软件线程技术的 OpenMP 和 自动并行处理。
  • 过程间优化 (IPO):对于包含许多常用中、小函数的程序,特别是循环内包含调用的程序,IPO 可以极大地提高应用程序性能。
  • 档案导引优化 (PGO) 通过降低指令快取置换 (cache-thrashing)、重组代码布局、缩减代码长度并减少分支预测失误来提高应用程序性能。
  • 自动矢量器对代码进行并行化处理,并调整数据,其中包含可以生成平衡负载的循环剥离技术,以及可以匹配整个缓存线预取情况的循环展开技术。
  • 高级优化 (HLO) 利用循环转换和预取实现更进一步的优化。
  • 英特尔® 调试器对于英特尔® 架构的优化代码,能够提升其调试过程的效率。


深入了解先进的优化特性

本部分内容详细描述了上一部份"先进的优化性概览"中特别强调的功能。

多线程应用程序支持

OpenMP 和自动并行能够帮助将串行应用程序转化为并行应用程序,它使您能够充分利用与英特尔® 酷睿™ 双核处理器和双核英特尔® 安腾® 2 处理器类似的多核技术,以及对称多处理系统:

  • OpenMP 是可移植多线程应用程序开发的行业标准。在细粒度(循环级别)与粗粒度(函数级别)线程技术上具有很高的效率。
  • 对于将串行应用程序转换成并行应用程序,OpenMP 指令是一种容易使用且作用强大的手段,它具有使应用程序因为在多核心与对称多处理器系统上并行执行而获得大幅性能提升的潜力。
  • 自动并行使用能自动将循环线程化的自动并行功能,提高多处理器系统上的应用程序性能。这个选项会检测能够安全地并行执行的循环,然后自动生成多线程代码。
自动并行功能使得用户不必处理迭代划分、数据共享、线程调度及同步等低级别的细节。它还能够提供多处理器系统与支持"超线程技术"的系统所具有的性能优势。

有关多线程应用支持的更多信息,请访问英特尔的线程开发人员中心

过程间优化 (IPO)

对于包含许多常用中、小函数的程序,特别是循环内包含调用的程序,过程间优化 (IPO) 可以极大地提高应用程序性能。这套技术可以用于英特尔编译器中的自动运算,它们不必关注各个独立的函数,而是利用多文件或整个程序来检测并执行优化。

图 1. 过程间优化流程


图 1 中描绘了 IPO 流程,首先需要利用 IPO 选项对源文件进行编译,然后借助编译器创建包含中间语言 (IL) 的对象 (.o) 文件。根据链接,编译器结合所有 IL 信息并对其进行分析,以便实现优化。典型的优化作为 IPO 流程的一部分,包括程序内联和重排、删除无用(无法获得)的代码、常数传播或已知常量值的代入。与在程序内部提供的优化相比,IPO 所支持的优化更加先进,因为多个程序具有更多上下文,能够确保这些比较先进的优化更加安全。

档案导引优化 (PGO)

通过档案导引优化 (PGO) 编译过程,英特尔 C++ 编译器能够更好地利用处理器微体系结构,更加有效地使用指令调度与高速缓存,更好地执行分支预测。通过重新组织代码布局,可以减少指令快取置换、缩减代码长度并降低分支预测失误,从而帮助提高应用程序性能。

PGO 为一个三阶段的流程,如图 2 所示。这三个阶段包括:1) 利用增加的工具对应用进行编译,2) 文件生成阶段,在该阶段中执行并监视应用,3) 针对第一阶段中收集的数据加入优化,进行重新编译。下面是几种影响档案导引优化的代码长度说明:

  • 基本模块和函数排序 - 将频繁执行的程序块和函数放置在一起,便于充分利用指令缓存空间
  • 辅助内联决策 - 将频繁执行的函数进行内联,这样,代码长度的增加就会在性能受到最大影响的区域内发生。
  • 辅助矢量化决策 - 对循环次数较高和频繁执行的循环进行矢量化,这样,代码长度的增加就会随着性能的增加而缓解。

图 2 档案导引优化
图 2. 档案导引优化

自动矢量器

矢量化会自动对代码进行并行化处理,以便最大限度地利用处理器的潜在能力。这种先进的优化功能对循环进行分析,并确定何时可以安全有效地利用 MMX™、SSE、SSE2 和 SSE3 指令并行地执行几种反复循环。图 3 以图形方式显示矢量化的循环,在一次 SSE2 运算中计算四次迭代。

使用矢量化功能可以优化应用程序代码,在英特尔® 处理器上运行时,可以充分利用这些新的扩展功能。提供的功能包括支持先进的动态数据调整策略,其中有可以生成平衡负载的循环剥离技术,以及可以匹配整个缓存线预取情况的循环展开技术。

图 3 运行中的矢量器
图 3. 运行中的矢量器


高级优化 (HLO)

数据预取是规避内存访问延迟的一种有效技术,它可以显著提高许多计算密集型应用程序的性能。数据预取在程序中的特定点上为所选数据引用插入预取指令,使引用的数据项在实际使用之前就已尽可能地移近处理器(放入高速缓存)。

循环体展开将两个或更多个循环体迭代合并到一起,以减少循环计数。虽然循环展开通常会导致代码长度增加,但它通常可以减少必须执行的指令数。下面是一个非常简单的循环展开示例,它从循环中删除了一个分支:

删除前删除后
do i=1, 1000

a(i) = b(i) * c(i)
end do
do i=1, 1000, 4

a(i) = b(i) * c(i)
a(i+1) = b(i+1) * c(i+1)
a(i+2) = b(i+2) * c(i+2)
a(i+3) = b(i+3) * c(i+3)
end do

使用英特尔 调试器针对已优化代码进行调试

英特尔® 调试器支持对已优化代码进行调试(即,针对已为在特定硬件体系结构上获得最佳执行效果而大幅改动过的代码进行调试)。对于已优化代码的调试,英特尔编译器生成符合标准的调试信息,所有支持英特尔编译器的调试器均可使用这些信息。通过启用对多线程应用程序进行调试,英特尔® 调试器支持多核架构,并提供以下相关功能:

  • 全停止/全执行 (all-stop/all-go) 模式(即,当一个线程停止时,所有线程都停止;一个线程恢复执行时,所有线程都恢复执行)
  • 列出所有已创建的线程
  • 在线程之间切换焦点
  • 查看详细的线程状态
  • 为所有线程或线程子集设置断点(包括全停止、跟踪和观察变化)并显示堆栈的后备跟踪
  • 内置的 GUI 中包含一个"线程"面板(位于"当前源"窗格中),创建线程时,系统将激活该面板,使得操作人员能够选择线程焦点,然后显示相关详细信息。最新增强的 GNU 项目调试器(GDB 调试器)还可以用于并行应用程序。有关其他信息,请参阅英特尔® 调试器技术白皮书
本次发行的新内容
符合标准,广泛兼容

英特尔® Visual Fortran 编译器 9.1 Windows 版本在本质上遵从一致的标准,包括支持从 Fortran 2003 选出的新功能和通过 OpenMP* 进行的并行。

它还集成了 Microsoft Visual Studio* 2005 和 Visual Studio .NET* 2002 和 2003,可提供扩展的 32 位和 64 位多核处理器支持。

它同康柏 Visual Fortran* 具有广泛的兼容性,包括语言扩展功能、预先定义的模块和库程序。附上康柏 Visual Fortran 6.x 项目的项目转换向导。

跨应用领域实现卓越的性能

面向 Windows 的英特尔® Visual Fortran 编译器具有卓越的性能、实用性以及商业优势,适用于广泛的软件市场。



下一代数据密集型应用程序开发人员将受益于英特尔编译器的动态性能优化,从而降低延迟和处理时间,而且软件设计人员添加其他功能特性也不会对性能带来太大影响。
科学、研究及相关应用程序能够在快速的编译次数、高性能执行以及强大的技术支持中受益。大量密集型软件能够出色利用基于英特尔® 处理器的平台的并行功能。
兼容性和灵活性
符合标准,广泛兼容

英特尔® Visual Fortran 编译器 9.1 Windows 版本在本质上遵从一致的标准,包括支持从 Fortran 2003 选出的新功能和通过 OpenMP* 进行的并行。

它还集成了 Microsoft Visual Studio* 2005 和 Visual Studio .NET* 2002 和 2003,可提供扩展的 32 位和 64 位多核处理器支持。

它同康柏 Visual Fortran* 具有广泛的兼容性,包括语言扩展功能、预先定义的模块和库程序。附上康柏 Visual Fortran 6.x 项目的项目转换向导。

跨应用领域实现卓越的性能

面向 Windows 的英特尔® Visual Fortran 编译器具有卓越的性能、实用性以及商业优势,适用于广泛的软件市场。



下一代数据密集型应用程序开发人员能够利用英特尔® 编译器在动态的性能优化中受益,从而降低延迟并减少次数,同时还能够在不影响性能的情况下支持软件架构添加其他特性。
科学、研究及相关应用程序能够在快速的编译次数、高性能执行以及强大的技术支持中受益。大量密集型软件能够出色利用基于英特尔® 处理器的平台的并行功能。
系统要求
本页内容讲述为多硬件平台开发应用程序的系统要求:



主机硬件要求
组件最低要求建议配备
处理器

(需要的
任意型号)



英特尔® 奔腾® II 或更强大的
处理器
450 MHz
  • 英特尔® 酷睿™ 双核处理器
  • 英特尔® 奔腾 4 处理器
  • 英特尔® 奔腾® D 处理器,或者
  • 英特尔® 至强® 处理器
英特尔® 安腾® 2
处理器
带有英特尔®
EM64T 的处理器
内存
  • IA-32:256 MB
  • 其他:512 MB
  • IA-32:512 MB
  • 其他:1 GB
磁盘空间300 MB 可用硬盘空间,外加 300 MB 用于在安装过程中下载和存储临时文件的硬盘空间。

100 MB 硬盘空间,用于存储虚拟内存页面文件。必须至少使用操作系统建议的最少虚拟内存数。



开发 IA-32 应用程序的主机软件要求
操作 系统

  • Microsoft Windows* 2000
  • Windows XP,或者
  • Windows Server* 2003

    注意: Microsoft Windows 98、Windows 98 SE、Windows Millennium Edition 和 Windows NT 不支持产品开发,但支持应用程序部署。
其他 软件

必须安装以下 Microsoft 开发产品之一:

  • Microsoft Visual C++* .NET 2002 或 2003 标准版或更高版本
  • Microsoft Visual Studio* .NET 2002 或 2003(任何版本)并安装了 Visual C++ 组件
  • Microsoft Visual Studio 2005 装有 Visual C++ 组件。Visual Studio 2005 Express 版本仅支持命令行开发
  • 注意:建议要使用 Win32 APIs 的 Express 版本用户安装 Microsoft Platform SDK
  • 注意:如果在 Windows XP Professional x64 版本或 Windows Server 2003 x64 版本上开发 IA-32 应用程序,仅支持 2003 和 2005 版的 Microsoft 开发环境。


为支持英特尔® EM64T 的处理器开发应用程序的主机软件要求

操作 系统

  • Microsoft Windows* 2000
  • Windows XP,或者
  • Windows Server* 2003
其他 软件

  • 如果使用 Visual Studio 环境或命令行工具进行开发,需要安装 Microsoft Visual Studio* 2005 标准版或更高的版本以及"X64 编译器和工具"组件
  • 如果仅使用命令行工具进行开发,需要使用 Windows Server 2003 SP1 的 Microsoft Platform SDK(Build 1289 或更高版本 - 之前的版本不适用)。


开发基于安腾® 的应用程序的主机软件要求

操作 系统

  • Microsoft Windows* 2000
  • Windows XP,或者
  • Windows Server* 2003
其他 软件

  • 如果使用 Visual Studio 环境或命令行工具进行开发,需安装带有 visual C++ 和"X64 编译器和工具"组件的 Microsoft Visual Studio* 2005 标准版或更高的版本(Visual studio 2005 标准版不需要另外选择 X64 组件)。
  • 如果仅使用命令行工具进行开发,Windows Server 2003 SP1 Platform SDK *。请单击"平台 SDK 下载"站点上的链接,然后运行 PSDK-amd64.exe 以开始 PSDK 安装。仅要求安装"Core SDK"。
注意:可能在运行时还需要使用位于平台软件开发包目录 c:\Program files\Microsoft SDK\redist\win64 下的 DLL 文件。



运行应用程序的目标系统要求

平台

要求
IA-32 系统

运行 Windows* 98、Windows Millennium Edition、Windows NT、Windows 2000、Windows XP 或 Windows Server* 2003 的 IA-32 系统(某些应用程序可能要求旧版本的 Windows 系统中没有的 Windows 功能)。

采用英特尔® EM64T 技术的系统

基于英特尔 EM64T 处理器的系统,运行 Windows Server 2003 x64 Edition 或 Windows XP Professional x64 Edition。

基于安腾® 的系统

基于英特尔® 安腾® 2 处理器的系统,运行 Windows Advanced Server* 或 Windows Server 2003(企业版或数据中心版)



注意:

以上并未列出全部处理器型号名称 - 如果其他处理器型号能够正确支持所列出的指令集,则也可以使用并达到预期效果。如果您对特定处理器型号有任何疑问,请与"英特尔® 首要支持"联系。

有些优化选项可能对运行应用程序的处理器类型有限制。要了解更多信息,请参阅这些选项的文档。

高级优化选项或大型系统可能需要其他资源,如更大的存储器和磁盘空间。

某些文档需要使用 Adobe Acrobat Reader* 4.0 或更高版本才能查看。

应用程序开发人员有责任确保应用程序运行的操作系统和处理器支持应用程序中包含的机器指令。



英特尔® 软件   
网络
英特尔® 软件网络
  • 成员注册步骤简单且免费,马上 加入吧!