fortran66のブログ

fortran について書きます。

【メモ帳】Collins Dictionary 用例数にみる Fortran の盛衰

Collins Dictionary Trends

ネット字引きに、何らかのコーパス調査による用例数グラフがありました。

www.collinsdictionary.com

f:id:fortran66:20211012004539p:plain f:id:fortran66:20211012005556p:plain

興味深いのは、90 年代中葉から用例がガクッと落ちていることで、これは Fortran に関する論文数のグラフと軌を一にします。

http://liinwww.ira.uka.de/bibliography/Compiler/fortran.years.stats.png

fortran66.hatenablog.com

またグラフを見ると 19 世紀にも用例があるのが見て取れますが、人名ではないかと思われます。

先祖探索サイトの人名検索結果。 www.ancestry.com

www.rootssearch.io

【メモ帳】ifort bug; call by value 引数に定数式を入れると即死

call by value で定義した dummy argument

ifort で call by value で定義した仮引数に、実引数として定数式を与えて書き換えようとすると、segmentation fault が出て死にます。たんなる定数なら問題ないですし、変数のからんだ式でも大丈夫です。

やっぱり、引数は call by reference に限るw

なお次世代 llvm 版の ifx の release 版なら大丈夫。debug だと駄目。

lfortran を調べるつもりが ifort で死亡。

最小実行例

program bug
    implicit none
    print *, f(2)
    print *, f(2*2)
contains
    integer function f(n)
        integer, value :: n
        f = n
        n = 1
    end function f
end

ifort

(lf) hp8@HP8:~$ ifort --version
ifort (IFORT) 2021.1 Beta 20200827
Copyright (C) 1985-2020 Intel Corporation.  All rights reserved.

(lf) hp8@HP8:~$ ifort -traceback bug.f90
(lf) hp8@HP8:~$ ./a.out
           2
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source
a.out              0000000000403A1A  Unknown               Unknown  Unknown
libpthread-2.27.s  00007F57C7313980  Unknown               Unknown  Unknown
a.out              0000000000402B65  MAIN__                      4  bug.f90
a.out              0000000000402AC2  Unknown               Unknown  Unknown
libc-2.27.so       00007F57C6D2DBF7  __libc_start_main     Unknown  Unknown
a.out              00000000004029AA  Unknown               Unknown  Unknown

ifx

(lf) hp8@HP8:~$ ifx --version
ifx (IFORT) 2021.1 Beta 20200827
Copyright (C) 1985-2020 Intel Corporation. All rights reserved.

(lf) hp8@HP8:~$ ifx bug.f90
(lf) hp8@HP8:~$ ./a.out
           2
           4

(lf) hp8@HP8:~$ ifx -g bug.f90
(lf) hp8@HP8:~$ ./a.out
           2
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source
a.out              0000000000404B8A  Unknown               Unknown  Unknown
libpthread-2.27.s  00007FDD507D7980  Unknown               Unknown  Unknown
a.out              0000000000403CEA  Unknown               Unknown  Unknown
a.out              0000000000403C66  Unknown               Unknown  Unknown
a.out              0000000000403B82  Unknown               Unknown  Unknown
libc-2.27.so       00007FDD503F5BF7  __libc_start_main     Unknown  Unknown
a.out              0000000000403A6A  Unknown               Unknown  Unknown

lfortran

(lf) hp8@HP8:~$ lfortran --version
LFortran version: 0.14.0
Platform: Linux
Default target: x86_64-unknown-linux-gnu
(lf) hp8@HP8:~$ lfortran bug.f90
(lf) hp8@HP8:~$ ./a.out
2
4

gfortran

hp8@HP8:~$ gfortran-11 --version
GNU Fortran (Ubuntu 11.1.0-1ubuntu1~20.04) 11.1.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

hp8@HP8:~$ gfortran-11 bug.f90
hp8@HP8:~$ ./a.out
           2
           4

flang

hp8@HP8:~$ flang --version
flang version 13.0.0
hp8@HP8:~$ flang bug.f90
hp8@HP8:~$ ./a.out
           2
           4


www.youtube.com

【メモ帳】LFortran は三連符不調

LFortran 0.14.0

期待のコンパイラ

installation

conda に頼ってみました。

docs.lfortran.org

配列添え字三連符 array index triplet

コンパイルエラーは出ませんが、まだ機能していないようです。

また三連符の終端値を省略すると segmentation fault が出ます。

    program test
        implicit none
        integer, parameter :: n = 10
        integer :: i, m(n)
        m(1:n) = 2
        do i = 1, n
            print *, i, m(i)
        end do
    end program test
(lf) hp8@HP8:~$ cat lf2.f90
    program test
        implicit none
        integer, parameter :: n = 10
        integer :: i, m(n)
        m(1:n) = 2
        do i = 1, n
            print *, i, m(i)
        end do
    end program test
(lf) hp8@HP8:~$ lfortran lf2.f90
(lf) hp8@HP8:~$ ./a.out
1 0
2 0
3 0
4 0
5 9
6 0
7 1158370912
8 32585
9 -838967064
10 2
(lf) hp8@HP8:~$ lfortran --version
LFortran version: 0.14.0
Platform: Linux
Default target: x86_64-unknown-linux-gnu

進捗状況

docs.lfortran.org

【メモ帳】EU の スパコンセンターの Fortran 講座

Fortran for Scientific Computing

www.futurelearn.com

一応、無料で受けられるようなのですが、紹介動画に碇ゲンドウみたいなおじさんが出てきました。

f:id:fortran66:20211009002828j:plain

Fortran に乗るんだ! 嫌なら帰れ!」・・・・・とは言わず、最新の Fortran 2018 規格で話を進めると言っておられます。誰か講習を受けてみてください。

www.futurelearn.com

【ニュース】Tiobe 月旦評 10 月号 Fortran 18 位

Tiobe

残暑に鑑みて、18位。

www.tiobe.com f:id:fortran66:20211008001236p:plain f:id:fortran66:20211008002005p:plain

12 位以下は団子状態。

How to install Gfortran 9, 10 or 11 on Ubuntu 20.04 LTS

メモ帳

www.how2shout.com

intel oneAPI fortran apt install

software.intel.com

software.intel.com

【ニュース】Chapel 1.25 出る 他

HP Chapel Ver. 1.25

秋もやうやう深まり chapel の出る季節となりました。

chapel-lang.org

動画の再生回数も寂しく、何処も同じ秋の夕暮れ。

www.youtube.com

Fortran の coarray といい、PGAS 言語の春はこれからだ!

米 Exa 機 Frontier 今秋の Top500 に間に合うか?

米会計年度ギリギリの 9/30 に滑り込み設置した模様で、新会計年度予算枯渇による施設ロックダウンも回避できたようですが、ベンチマークは間に合うでしょうか。

【乞食速報】Nature Fortran 日本語訳記事 無料開放

ノーベル賞に鑑みて

スエーデンが温暖化にノーベル賞ということで政治目的を感じつつ・・・w

Fortran 大勝利を祝う。

科学を変えた10のコンピューターコード | Nature ダイジェスト | Nature Portfolio

元記事

www.nature.com

fortran66.hatenablog.com

音楽遊覧飛行 ▽エキゾチッククルーズ~伝統音楽の迷宮

www.nhk.or.jp

「秘密の夢」 Bolot Bairyshev (2分25秒) <King KICC5301>


www.youtube.com

この曲は良かった。よーがす、よーがす、よーがす・・・