2024年6月13日发(作者:)

从CompaqVisualFortran到IntelVisualFortran的过渡

现在

64

位的计算机已经越来越普遍了,

Intel

公司的

CORE

处理器也从酷睿

双核升级为

i3

i5

直到现在的主流

i7

,微软的

Windows7

系列的

64

位系统用起

来感觉也挺不错的。但正是这

64

位,最近给我但来了些许的纠结。本文结合今

天自己学习

IntelVisualFortran

(以下简称

IVF

)的内容,分析了

IVF

的优势、相

关软件的安装要求、从

CompaqVisualFortran

(以下简称

CVF

)向

IVF

的转换以

IVF

下简单

Fortran

计算程序的编译执行的操作过程,以期能对碰到类似情况

者提供点思路。

IVF

较之

CVF

优势:

我的戴尔

Inspiron

系列机子是

64

位,

Windows7

系统也是

64

位的。在我的

硕士研究生阶段学习中需要用到

Fortran

程序设计语言,以前我习惯使用

CVF

编写、调试和运行

Fortran

程序,但现在看来不行了。

CVF

不支持

64

位,因为

2005

年以前

Fortran90/95

Win32

开发环境多采用

CompaqVisualFortran6.x

HP

宣布其

CVF6.6

截至

2005

年但在

2005

CVF

开发团队加盟到

Intel

公司,

12

31

日,

IVF9.0

将作为其新一代后继编译器。

IVF

是在

CVF

的基础上开发的

Fortran

编译器,它将

CVF

前端与英特尔处

理器后端相结合,拥有

CVF

丰富的语言功能和英特尔处理器的代码生成及优化

功能,使运行在英特尔平台上的程序能得到大幅度提高。而且随着计算规模的增

大,对计算内存的要求必须采用

64

位的程序才能够满足我们的要求,但

CVF

有提供

64

位系统的编译平台。另外程序并行功能的实现可以用

Intel

MKL

提供的函数库,这些函数库采用了共享内存并行计算的

OpenMP

,但以前的

CVF

没有提供对

OpenMP

的支持,所以无法调用

MKL

的并行函数库。所以,从

CVF6.x

转移到

IVF9.0

已是势在必行,选用

IVF

Fortran

编译程序也是很有必要的。

IVF

相关软件的安装说明:

在使用

CVF6.5/6.6

编写运行

Fortran

程序时,只需要安装

CompaqVisual

Fortran6.5/6.6

即可。

VisualFortran

已经被组合这是因为在这个安装源程序中,(集

成)在

MicrosoftVisualStudio

(以下简称

VS

)的图形接口开发环境中了,所以

可以直接安装使用。这与

VC/VC++

类似,故用户看到的

CVF

程序编写界面与

VC/VC++

的基本是一致的。

而采用

IVF

来编写运行

Fortran

程序则稍微麻烦些。网上下载到的

IntelVisual

FortranCompiler10/11

版本都只是编译器,它需要放到集成开发环境(

Integrated

DevelopmentEnvironment

,以下简称

IDE

)中去才能使用。故而

IVFComplier

还需要

VS6.6

以上版本的

IDE

的支持,所以必须事先安装好

VS

后,才能安装编

译器。我就是在安装

VS2005

后再安装

IVF10

的。具体安装方法参见本文后的链

接部分说明。

IVF

CVF

的兼容性:

IVF

编译器支持所有的

CVF

语法,包括

DigitalEquipmentCorporation(DEC)

Fortran

MicrosoftFortranPowerStation4.0

的语言扩展;支持所有的

CVF

库例

程,包括可移植库,

QuickWin

以及所有的系统接口模块。

IVF

不支持的

CVF

特征有:

1

CompaqExtendedMathLibrary(CXML)

。可以使用

IntelMathKernel

Library

IMSL

NAG

等第三方数学库来替换。

2

)跨引用的源代码浏览器。

3

COM

服务器向导。假如要转换由

CVF

COM

服务器向导创建的组

件工程,需要在

IV

下重新构建;假如要调整组件接口,比如增加新的接口,则

需要在

CVF

下进行。

CVF

IVF

的转换:

CVF

转换到

IVF

,所有的

Fortran

源文件都需要在

IVF

下重新编译。

IVF

编译器不能直接使用

CVF

编译的对象、模块和静态链接库;但只要不在两个环

IVF

编译的应用程序可以使用

CVF

建造的动态链接库。境下共享输入

/

输出单元,

大多数情况下无须改变

Fortran

源文件,只在

IVF

下重新建造现存的

CVF

程即可;但有些工程需要改变小量源代码,有些则需要对建造方法做出适当调整。

IVF

编译器提供有工程转换向导,以方便

CVF

IVF

的转换。转换可以分

两步进行:

1

)打开

CVF

项目空间。可以直接双击

CVF

项目空间(

*.dsw

)打开之(如

1

所示文件)。

1

在随后出现消息框,如图

2

,点击“全是”按钮,将

CVF

项目空间下的每一项

工程转换为

IVF

解决方案下对应的

VisualC++.NET

工程。

2

2

)提取

Fortran

工程项目。在上一步执行完毕,会展示

MicrosoftVisual

开发环境,待转换的

CVF

工程作为

MicrosoftVisualC++

工程出现