fortran用编译器哪个好?
Fortran 主要的编译有1. gfortran 免费的编译器,Linux 和 Windows 下都可以用,GCC 众多编译器的一个,我主要用的就是这个。2. G95 免费的编译器,安装文件很小的编译器,相比gfortran 优势不明显。3. Watcom 的 Fortran 编译器, 现在是免费的,Watcom 跟 GCC 一样有很多语言的编译器,Watcom 的 C 编译器不错,Fortran 没感觉多好。4. Intel Visual Fortran(简称 IVF),原来叫 Compaq Visual Fortran(简称 CVF) 收费软件,不过可以先下载下来试用 30 天,编译出来的二进制文件针对 Intel CPU 优化过,所以会快一些,但不是很明显。5. PGI Visual Fortran (PVF), 是 Portland Group Inc. 出的,收费软件。另外还有 Salford FTN95,simply fortran 等。 推荐使用 gfortran 和 Intel Visual Fortran.
怎么编译运行这个fortran语言编译的程序?
入门fortran像入门其他所有语言一样,从最简单的装软件开始
【0】装软件
初学建议直接cbfortran,windows版本还自带mingw编译器,支持f77 f95 f2003,也不大,而且开箱即用,安装之后新建项目然后F5就Hello word了。
非常适合小东西,写个小计算单机跑跑之类的合适
然而,终究,学fortran就是为了速度,而mingw编译器本省优化是不足的,所以还是要装vs+parallel studio。用ifort编译会有mkl和mpi支持。但是安装起来比codeblocks麻烦多了
【1】变量,算符,代数运算,矩阵运算
这个推荐一个小repo,里面有很多小例子,结合书上讲的内容
Pjer-zhang/fortran-examples
跑跑小例子,语法很快就好了
【2】并行
并行是fortran的终极目的,用fortran终究还是为了fortran的速度
fortran的并行有单机多线程并行 openmp 以及 跨节点并行MPI,这个跨节点并行就要用到集群了
openmp【
Home
】是通过向程序中添加特殊注释符的形式来指示并行段的,这样在编译的时候如果添加flag [-omp] 那么最后程序跑的时候就会并行,如果不加这个flag那么久不会并行。
一个小例子:
【结语】
Fortran的能存在到今天完全是因为成吨的遗产代码,以及懒惰的研究生
不只是CFD,空间物理,计算等离子体,聚变数值计算等等这些学科里都有动辄几十万行的模式(大部分f77写的),这些模式只有模块介绍和对应的已发表paper,没有line-by-line注释,想要重构几乎没有可能,所以只能像黑盒一样调用。
我的原则是小规模的fortran遗产代码(10k行以下),重构到matlab或者如果性能需求很高的话就cuda/c。不能把毒瘤传给下一代
最后, 科大有开Fortran的课的哇,7系开的,我还当过助教呢
fortran语言可以用什么打开?
是Compiler,编译器(Compiler)就是把FORTRAN、C等高级语言翻译成机器码,从而使计算机能够执行并得出相应结果的软件。当然也有一些解释语言并不需要编译器就可以直接运行,例如Visual Basic、PHP、JavaScript等。