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++
工程出现


发布评论