怎么编译运行这个fortran语言编译的程序?

 我来答
猪八戒网
2023-06-06 · 百度认证:重庆猪八戒网络有限公司官方账号
猪八戒网
猪八戒网(zbj.com)创建于2006年,现已形成猪八戒网、天蓬网和线下八戒工场的“双平台+一社区”服务模式,是中国领先的人才共享平台。
向TA提问
展开全部

入门fortran像入门其他所有语言一样,从最简单的装软件开始

【0】装软件

初学建议直接cbfortran,windows版本还自带mingw编译器,支持f77f95f2003,也不大,而且开箱即用,安装之后新建项目然后F5就Helloword了。

非常适合小东西,写个小计算单机跑跑之类的合适


然而,终究,学fortran就是为了速度,而mingw编译器本省优化是不足的,所以还是要装vs+parallelstudio。用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系开的,我还当过助教呢

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式