Fortran

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(书籍)
(项目)
 
(未显示1个用户的6个中间版本)
第26行: 第26行:
 
* 广泛地应用于并行计算和高性能計算领域。
 
* 广泛地应用于并行计算和高性能計算领域。
 
* Fortran 90,Fortran 95,Fortran 2003的相继推出使Fortran语言具备了现代高级编程语言的一些特性。
 
* Fortran 90,Fortran 95,Fortran 2003的相继推出使Fortran语言具备了现代高级编程语言的一些特性。
 +
*[https://www.cs.rpi.edu/~szymansk/OOF90/F90_Objects.html Fortran 90 的面向对象概念介绍]
 
* 其矩阵元素采用列式存储优先(Column first),MATLAB也效仿这点,目前最多使用的C语言则采用行式存储优先(Row first)。
 
* 其矩阵元素采用列式存储优先(Column first),MATLAB也效仿这点,目前最多使用的C语言则采用行式存储优先(Row first)。
  
第61行: 第62行:
 
==项目==
 
==项目==
 
[[文件:gtk-fortran-logo.png|right|gtk-fortran]]
 
[[文件:gtk-fortran-logo.png|right|gtk-fortran]]
 +
[[文件:fortran-wrf-model.jpeg|right|Weather Research and Forecasting Model]]
 
*[https://github.com/rabbiabram/awesome-fortran Awesome Fortran] [[image:awesome.png]]
 
*[https://github.com/rabbiabram/awesome-fortran Awesome Fortran] [[image:awesome.png]]
 
*[[GNU Fortran]]
 
*[[GNU Fortran]]
 +
*[https://www.openradioss.org/ OpenRadioss]
 +
*[https://github.com/flang-compiler/flang Flang] Front-end for [[LLVM]]
 +
*[[LLVM]] [https://github.com/llvm/llvm-project/tree/main/flang Flang] is a ground-up implementation of a Fortran front end written in modern C++
 +
*[https://lfortran.org/ LFortran] Modern interactive [[LLVM]]-based Fortran [[compiler]]
 
*[https://fortran-lang.org/packages/ Fortran Packages] A rich ecosystem of high-performance code
 
*[https://fortran-lang.org/packages/ Fortran Packages] A rich ecosystem of high-performance code
 
*[https://github.com/fortran-lang/stdlib Fortran Standard Library (stdlib)]
 
*[https://github.com/fortran-lang/stdlib Fortran Standard Library (stdlib)]
第73行: 第79行:
 
*[https://github.com/jerryd/gtk-fortran/wiki GTK-Fortran] 用Fortran来实现GUI
 
*[https://github.com/jerryd/gtk-fortran/wiki GTK-Fortran] 用Fortran来实现GUI
 
*[[Code::Blocks]]
 
*[[Code::Blocks]]
*[[LLVM]] [https://github.com/llvm/llvm-project/tree/main/flang Flang] is a ground-up implementation of a Fortran front end written in modern C++
 
*[https://lfortran.org/ LFortran] Modern interactive [[LLVM]]-based Fortran [[compiler]]
 
 
*[https://github.com/Fortran-FOSS-Programmers/FOODIE FOODIE] Fortran Object-Oriented Differential-equations (ODE, PDE) Integration Environment
 
*[https://github.com/Fortran-FOSS-Programmers/FOODIE FOODIE] Fortran Object-Oriented Differential-equations (ODE, PDE) Integration Environment
 +
*[[Code::Blocks]] IDE for [https://cbfortran.sourceforge.io/ Fortran]
 +
*[https://github.com/wrf-model Weather Research and Forecasting Model]
  
 
==领域==
 
==领域==
第87行: 第93行:
  
 
==培训==
 
==培训==
 +
*[https://www-uxsup.csx.cam.ac.uk/courses/moved.Fortran/ Introduction to Modern Fortran] 完整的幻灯片资料
 
*[https://github.com/scivision/fortran2018-examples Fortran 2018 Examples]
 
*[https://github.com/scivision/fortran2018-examples Fortran 2018 Examples]
 
*[https://www.cs.rpi.edu/~szymansk/OOF90/main.html High Performance Object-Oriented Concepts in Fortran 90]
 
*[https://www.cs.rpi.edu/~szymansk/OOF90/main.html High Performance Object-Oriented Concepts in Fortran 90]
第92行: 第99行:
 
*[https://github.com/tkoenig1/coarray-tutorial/blob/main/tutorial.md Coarray tutorial]
 
*[https://github.com/tkoenig1/coarray-tutorial/blob/main/tutorial.md Coarray tutorial]
 
*[https://fs.hlrs.de/projects/par/par_prog_ws/ Parallel Programming Workshop]
 
*[https://fs.hlrs.de/projects/par/par_prog_ws/ Parallel Programming Workshop]
 +
*[https://www.mcs.anl.gov/~itf/dbpp/ Designing and Building Parallel Programs]
 +
*[https://coarrays.sourceforge.io/doc.html Parallel programming with Fortran 2008 and 2018 coarrays]
 +
*[https://www.ecmwf.int/sites/default/files/elibrary/2008/15361-combining-object-oriented-techniques-co-arrays-fortran.pdf Combining Object-Oriented Techniques with Co-arrays in Fortran 2008]
  
 
==社区==
 
==社区==
第99行: 第109行:
 
*[https://cyber.dabamos.de/programming/modernfortran/ 《Programming in Modern Fortran》]A HyperText-based introduction to programming in Fortran 2003, 2008, and 2018 on Unix.
 
*[https://cyber.dabamos.de/programming/modernfortran/ 《Programming in Modern Fortran》]A HyperText-based introduction to programming in Fortran 2003, 2008, and 2018 on Unix.
 
*《Numerical Recipes in Quantum Information Theory and Quantum Computing: An Adventure in FORTRAN 90》 M.S. Ramkarthik, Payal D. Solanki, 2021
 
*《Numerical Recipes in Quantum Information Theory and Quantum Computing: An Adventure in FORTRAN 90》 M.S. Ramkarthik, Payal D. Solanki, 2021
*[https://www.ce-fortran.com/ 《Introduction to Computational Economics Using Fortran》] Fehr, H. and Kindermann, F.. 2020.
+
*[https://www.ce-fortran.com/ 《Introduction to Computational Economics Using Fortran》] Fehr, H. and Kindermann, F.. 2020.[https://github.com/fabiankindermann/ce-fortran/ ce-fortran @ github]
 
*[https://netlib.org/lapack/lug/ 《LAPACK Users' Guide Third Edition》]
 
*[https://netlib.org/lapack/lug/ 《LAPACK Users' Guide Third Edition》]
 
*《Modern Fortran: Building Efficient Parallel Applications》 Curcic, M.. 2020.
 
*《Modern Fortran: Building Efficient Parallel Applications》 Curcic, M.. 2020.

2023年6月22日 (四) 14:50的最后版本

Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 Fortran Thanks, Wikipedia.

Fortran

Fortran

目录

[编辑] 简介

在数值计算和高性能计算领域,Fortran语言仍然不可替代。

Lisp 和 Fortran 是目前仍在使用中的两门最古老的编程语言。可能更有意思的是,它们在语言设计的哲学上代表了截然相反的两个极端。Fortran 被发明出来以替代汇编语言。Lisp 被发明出来表述算法。如此截然不同的意图产生了迥异的两门语言,Fortran 使编译器作者的生活更轻松;而 Lisp 则让程序员的生活更舒服。

Fortran是高性能计算开发人员使用的一种主要编程语言。在众多领域中,它是首选编程语言,这些领域包括计算流体动力学(包括天气与海洋建模)、有限元分析、分子动力学以及量子化学。

许多流行的高性能计算软件包最初都是用Fortran语言开发出来的,这些软件随着时间的推移不断得到增强。Fortran编译器让开发人员能够以其母语(Fortran语言)进行编程,从而能够重新编译这些代码,以利用全新的性能与架构特性。

[编辑] 历史

[编辑] 特性

  • Fortran是为了满足数值计算的需求而发展出来的。
  • Fortran语言的最大特性是接近数学公式的自然描述,在计算机里具有很高的执行效率。
  • 易学,语法严谨。
  • 可以直接对矩阵和复数进行运算,这点MATLAB有继承。
  • 自诞生以来广泛地应用于数值计算领域,积累了大量高效而可靠的软件包。
  • 很多专用的大型数值运算计算机针对Fortran做了优化。
  • 广泛地应用于并行计算和高性能計算领域。
  • Fortran 90,Fortran 95,Fortran 2003的相继推出使Fortran语言具备了现代高级编程语言的一些特性。
  • Fortran 90 的面向对象概念介绍
  • 其矩阵元素采用列式存储优先(Column first),MATLAB也效仿这点,目前最多使用的C语言则采用行式存储优先(Row first)。

[编辑] 标准

ISO/IEC JTC1/SC22/WG5 (Fortran)- WG5工作组负责开发和维护Fortran语言标准

主要版本:Fortran 77, 90, 95, 2003, 2008, 2018, 2023

  • Fortran Proposals
  • Draft Fortran 2023 J3/22-007r1
  • Fortran 2018
  • Fortran 2015 Fortran 2008的增强:与C的互操作和并行处理。
  • Fortran 2008 新功能:Co-array Fortran –并行处理模式,BIT数据类型
  • Fortran 2003 标准引入了与C的标准接口。标准委员会的这个决定释放出明确的信息:Fortran只是作为底层计算密集型任务的编程语言,上层的UI, IO还是由C/C++来做吧。Fortran2015标准将强化与C/C++的接口功能。
  • Fortran 95
  • Fortran 90
  • Fortran 77 1980年,Fortran 77被ISO接纳为国际标准。
  • Fortran 66

[编辑] Fortran包

Fortran Package:List of Fortran numerical libraries

[编辑] HPF

High Performance Fortran(有时简称:HPF)是一种编程语言,它延伸自Fortran 90编程语言,高效能Fortran是为了支援并行计算所创设的编程语言,它使用一种SIMD的运算型态,使运算工作能够进行分拆,并以扩散方式发派到运算阵列中的各颗处理器上,以此达到高效能运算。

HPF有一种forall语法可以同时更新并行计算中的整组阵列派项,这项语法自Fortran 95之后开始具备,除此之外forall语法也提供建议(或称:提示、指点),建议在并行计算系统中处理器间应如何协同工作。

Internet Parallel Computing Archive

[编辑] 项目

gtk-fortran
Weather Research and Forecasting Model

[编辑] 领域

[编辑] GPU

[编辑] 培训

[编辑] 社区

[编辑] 书籍

  • 《Programming in Modern Fortran》A HyperText-based introduction to programming in Fortran 2003, 2008, and 2018 on Unix.
  • 《Numerical Recipes in Quantum Information Theory and Quantum Computing: An Adventure in FORTRAN 90》 M.S. Ramkarthik, Payal D. Solanki, 2021
  • 《Introduction to Computational Economics Using Fortran》 Fehr, H. and Kindermann, F.. 2020.ce-fortran @ github
  • 《LAPACK Users' Guide Third Edition》
  • 《Modern Fortran: Building Efficient Parallel Applications》 Curcic, M.. 2020.
  • 《Modern Fortran Explained Incorporating Fortran 2018》 Michael Metcalf, John Reid, and Malcolm Cohen
  • 《Fortran for Scientists and Engineers Fourth Edition》 Stephen J. Chapman
  • 《Fortran 2018 with Parallel Programming》 Subrata Ray
  • 《 Parallel Programming with Co-arrays》Numrich, R. W.. 2018.
  • 《Numerical Methods of Mathematics Implemented in Fortran》 Bose, Sujit Kumar
  • 《Scientific Software Development with Fortran》 Dr. Drew A. McCormack
  • 《FORTRAN程序设计权威指南》 白海波

[编辑] 图集

[编辑] 链接

Fortranwiki.png
分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱