Fortran是最早的计算机高级语言之一,至今已经有40年左右的历史了,其中经历了Fortran 66、Fortran 77、Fortran 90和Fortran 95。Fortran 200x目前还在草案过程中。在科学计算领域,Fortran具有十分强大的生命力,例如在大型科学计算中还有HPF(High Performance Fortran)等。
主流的Fortran 90/95编译器有PGI Fortran、HP Fortran Compiler(由Fortran PowerStation进化过来的)和Intel Fortran Compiler等。
本文主要介绍其中的两款软件在Linux下的安装,即Intel Fortran Compiler 8.0和F Compiler。选取它们的原因是,前者是一个Intel提供的免费的Non-Commercial版本;后者则是Fortran 90/95的一个子集的实现,学习起来非常容易。
Intel Fortran Compiler 8.0
Intel Fortran Compiler这个编译器性能极佳。它的发行版有Windows和Linux两种。这两种都分别提供Non-Commercial版免费下载,但不提供技术支持。下面介绍整个的安装过程。
1.下载Non-commercial版Fortran编译器,有两种方式。一是登录http://www.intel.com/software/products/global/eval.htm,选择 Intel(r) Fortran Compiler for Linux*下的第二项Non-Commercial Unsupported Version,点击进入。二是直接登陆http://www.intel.com/software/products/compilers/flin/noncom.htm。整个下载过程需要好几步。首先单击“Continue”按钮进入下一页;第二页有个调查表,填好之后进入下一页;第三页是软件协议页面,看过之后单击“Accept”按钮进入下一页;第四页是注册页面,其中E-mail栏一定要填好,填完后单击“Submit”按钮进入下一页;这是最后一页,说明已经注册成功,Intel会给用户发一封电子邮件,其中包含一个协议附件。
剩下的工作是收取邮件,然后根据邮件中提供的地址下载软件。这里下载的软件是l_fc_p_8.0.034.tar.gz,大约84MB。另外用户需要把邮件中的附件另存在刚才下载的软件的同一目录下,这里的文件名是l_for_70909049.lic。每个人的文件名可能不同,它是一个协议文件。
接下来以root用户进行以下的安装工作,假设前面的两个文件存放在/usr/src/intel目录下,这也是笔者的工作目录。
2.解压安装文件,命令如下:
#tar xzvf l_fc_p_8.0.034.tar.gz
3.安装并指定协议。编译器是安装在/opt/intel_fc_80目录下,协议则在该目录下的licenses文件夹中。最后还要指定licenses的位置。具体命令如下:
#mkdir -p /opt/intel_fc_80/licenses#cp /usr/src/intel/*.lic /opt/intel_fc_80/licenses# export INTEL_LICENSE_FILE=opt/intel_fc_80/licenses |
4.安装程序,命令如下:
#cd /usr/src/intel/l_fc_p_8.0.034#./install.sh |
如果正确就会看到下面的提示:
The following Intel(R) products and related products are installed.Intel(R) Fortran Compiler for 32-bit applications, Version 8.0Linux Application Debugger for 32-bit applications, Version 7.3.1Which of the following would you like to install?1. Intel(R) Fortran Compiler for 32-bit applications, Version 8.02. Linux Application Debugger for 32-bit applications, Version 7.3.1x. Exit |
先选择“1”,安装Intel Fortran Compiler,默认安装即可,默认目录就是/opt/intel_fc_80。
安装编译器完成之后,继续可以安装Linux Application Debugger for 32-bit applications, Version 7.3.1,选择“2”即可,它默认安装在/opt/intel_idb_73下。最后选择“x”退出安装程序。
5.安装完成可以删掉安装文件。命令如下:
#cd /usr/src#rm -rf intel |
6.以一般用户登录,登录以后修改用户根目录下的.bash_profile文件,在最后一行加入下面一行:
. /opt/intel_fc_80/bin/ifortvars.sh
注意,上面的语句中点号之后有空格。然后重新登录或执行下面的命令:
$source .bash_profile
这样一切安装与配置就完成了,可以简单的测试一下。编辑一个简单的源文件first.f90,内容如下:
program firstprint *, "Hello World!"print *, sin(123.4)end program first |
然后编译,编译命令与以前版本的Intel Fortran Compiler不同,以前采用的是“ifc”命令,从这个版本开始将使用下面的命令:
#ifort first.f90 -o first
或者运行下面的命令:
#./first
这时显示如下:
Hello World!-0.7693915 |
上面显示说明一切正常,已经可以正常使用该编译器了。“ifort”的具体使用可以用“ifort -help”获得详细帮助。在/opt/intel_fc_80/doc下有详细的使用文档。
F编译器
F编译器是Fortran Company / NAGWare F Compiler。它是Fortran 90/95的一个子集的实现,支持Fortran 95和HPF的一些新的概念。对于Fortran 77程序员来说,F可以直接调用Fortran 77程序,支持与鼓励面向对象编程。关于F的详细资料可以到http://www.fortran.com/F查看。
安装F非常简单,F有Windows、Linux和Solaris三种发行版。这三种都需要GCC才可以工作,因此首先要保证系统安装了GCC环境。
首先下载安装文件。这里下载的是Linux版,下载地址是ftp://ftp.swcp.com/pub/walt/F,文件是f_linux_031017.tar.gz,大约2MB左右。文件下载后存放到/usr/src目录下准备安装。以下的工作需要root用户权限。解压文件,进入解压后文件的目录,安装编译执行文件、库文件和手册,具体命令如下:
#tar xzvf f_linux_031017.tar.gz# cd F_031017# cp bin/* /usr/local/bin# mkdir /usr/local/lib/F# cp -d -p lib/* /usr/local/lib/F#mkdir /usr/local/man/man1#cp doc/*.1 /usr/local/man/man1 |
安装完成后,进入examples目录进行测试,命令如下:
#cd examples#F sieve.f95 -o sieve |
如果成功,则会产生一个目标执行文件sieve,执行下面的命令,结果如下:
#./sieve There are 25 prime numbers less than 1002 3 5 7 1113 17 19 23 2931 37 41 43 47…… |
上面显示说明已经安装成功,可以正确使用了。另外,在examples目录下还有众多的例子用户可以查看。在doc目录下还有其它的相关文档,包括F的编译选项等。