fortran66のブログ

fortran について書きます。

【寝言】プリキュア卒業!

もうプリキュア卒業する!

アイヤー! game.watch.impress.co.jp

リーナス・トーバルズが15年ぶりにメインマシンのCPUをIntelからAMD

gigazine.net

fortran66.hatenablog.com

15年ぶりくらいに AMD 機が欲しい気持ち?

わたしもそう思って書きましたが、まぁみんなそう思いますよねw avx512 は intel にしかありませんが、いいとこなしで AMD にもある avx256 二本立てで十分対抗できるようですし。

IntelがIce Lake世代のCPUに施した「目立たないパワーアップ」とは? - GIGAZINE

数値計算のためのFortran90/95プログラミング入門(第2版)

数値計算のためのFortran90/95プログラミング入門(第2版)

  • 作者:牛島 省
  • 発売日: 2020/01/28
  • メディア: 単行本(ソフトカバー)
Fortran ハンドブック

Fortran ハンドブック

bookwalker.jp

【寝言】NHK ラジオ

漢詩の時間 コロナで更新止まる

アニメ枠のように、漢詩の時間も何故か先週から第一話にもどってしまいました。時間がループしている!

皆川達夫氏 死去

日曜の朝、プリキュアが始まるまでの時間、DJ している音楽の泉をよく聞いていましたが、今期プリキュアを見ていなかったせいで、三月末の音楽の泉の引退宣言を聴き逃してしまいました。NHK-FM 早朝のバロック音楽の時間枠を確保した偉い人です。先日、バロック音楽枠でも追悼番組をやっておりました。

最近まで声の衰えなどは感じさせなかったのですが、引き際を見極めてサッと去る所が見事です。

かつての吉田秀和と同じく朝っぱらから大学の講義調を聞かせつつも、マニアックになりすぎない配慮のされた昔の NHK 風のよい番組でした。

www.nikkei.com

中世音楽研究の皆川達夫氏 古楽の普及・伝道に尽くす

    4月19日に92歳で死去した中世・ルネサンス音楽研究の皆川達夫氏は16世紀後半、キリスト教布教のため日本に伝わった聖歌や、長崎の隠れキリシタンに歌い継がれた「オラショ」の研究で大きな成果を残した。指揮者として合唱団を率い、ラジオ番組ではクラシック音楽、とりわけバッハ以前の音楽の魅力を柔和な語り口で解説していた。古楽の伝道師だった。

 

水戸藩士の流れをくむ家に生まれ、少年時代は能楽や歌舞伎に熱中しつつ、レコードで聴いたグレゴリオ聖歌ルネサンス期の宗教曲に衝撃を受ける。戦時中は学徒出陣を逃れるため音楽研究を諦めて医学の道を目指したが、終戦後の1948年に東京大文学部に入学。米国や欧州留学を経て68年、立教大教授に就任した。

 

実演にも熱心で、52年には「中世音楽合唱団」を結成し自ら指揮した。皆川氏と同じ時代の音楽を研究し、50年以上の交流があった国際基督教大の金沢正剛名誉教授は「研究した結果を現代譜の形で出版し、自らの合唱団や全国の合唱団を指導した。研究成果を音楽ファンに還元した功績は大きい」と振り返る。

 

その功績の最たるものが長年にわたるラジオ解説だ。65~85年には「バロック音楽のたのしみ」、88年からは「音楽の泉」とNHKの番組に出演。「武家出身らしく、優しいけど句読点がはっきりとした話し方」(金沢氏)でクラシック音楽ファンの耳を楽しませた。

 

古楽への意欲は晩年になっても衰えなかった。箏曲「六段」のルーツがグレゴリオ聖歌の「クレド」にあるとする説を提唱。2012年にローマで開催された国際音楽学会大会で、同合唱団と箏の同時演奏で披露した。「音楽の泉」の最後の放送は今年3月。「ごきげんよう、さようなら」というおなじみの言葉で締めくくった。

 

(西原幹喜)

【乞食速報】Manning の無料 Fortran 本(試供品)

Exploring Modern Fortran Basics (chapters selected by Milan Curcic)

www.manning.com

Milan Curcic 著の本から、第 2,3,4 章が抜粋されて無料本として公開されています。 www.manning.com

急げ!ルンペン・インテリゲンチャ

大室家

いつの間にかお姉ちゃんが修羅場展開にw

【ニュース】ニール・ファーガソン問題で Fortran 間一髪非難を逃れるw

「ロックダウン教授」と呼ばれた男 (英コロおじ)

いま、英国の封鎖政策の科学的根拠となった数理疫学者のニール・ファーガソン教授[インペリアル・カレッジ・ロンドン@いつの間にかロンドン大学から独立していた]ですが、様々なことで話題の中心にいます。とくに直近では、英国封鎖政策の根拠となったモデル計算用のプログラムの糞コードで話題沸騰です。

その前は、外出制限を訴えつつ自分はちゃっかり人妻の元に通うという、伊勢物語在原業平の如きスキャンダルが暴露され、委員を辞任してニュースとなりました。これは、その直前にボリス・ジョンソン英首相が封鎖解除を進めようとしたことにファーガソンが反対したので、その排除に暴露されたのだとも噂になっておりました。こわいですねー。

www.kochinews.co.jp

外出制限中に既婚者と密会、英国 政権助言の疫学者辞任

(2020.05.06 10:27)

 【ロンドン共同】ジョンソン英政権に新型コロナウイルス対策を助言する諮問委員会メンバーの著名学者が、英市民に厳しい外出制限が課されているさなかに、自宅で既婚者の女性と密会していたことが分かり、委員を引責辞任した。英紙デーリー・テレグラフ電子版が5日、報じた。

 辞任したのは理系の名門大インペリアル・カレッジ・ロンドンの疫学者、ニール・ファーガソン教授(51)。英政府がロックダウン(都市封鎖)を実施しなければ数十万人が死亡するとの分析を発表し、市民が外出制限に従う必要性を主張。メディアにたびたび登場し「ロックダウン教授」と呼ばれていた。

糞コード

ところが、追及の手は下半身にとどまらずに、頭部にまで及びました。研究用のシミュレーションをするコンピュータ・プログラムが公開され、これがバグだらけで同じ入力に対して結果の再現性が無い出力をする糞であるなどと暴露されてしまいました。

このコードは C++ で書かれていたようですが、一万五千行のプログラムが1個のファイルに入っていたらしく、糞味噌に叩かれています。ところが、新聞によりますと元々は Fortran で書かれていたらしいのです。まぁ FORTRAN77 では、コンパイラのプロシジャー間最適化や引数チェックを利用するために、全プログラムを1個のファイルに入れるのはざらなので(分割コンパイルすると最適化が弱くなるし文法チェックも緩くなる)その名残の様な気がしなくもありません。ともかく、どこかの時点でオサレ野郎が C++機械翻訳してくれたおかげで、またぞろ Fortran が罵倒されるのを間一髪で逃れることが出来ましたw

with some parts looking “like they were machine translated from Fortran”, an old coding language,

www.telegraph.co.uk

Imperial's model appears to be based on a programming language called Fortran, which was old

www.telegraph.co.uk

(乱数の部分が見るからに FORTRAN77 で C++ なのにラベルが沢山あって goto 文で飛びまわっていますw) github.com

まとめ記事など

自然科学分野のソフトウェアの問題などと絡めたまとめブログ記事が出ています。結構真っ当なことを言っていますが、これがもし件のコードが Fortran で書かれていたとしたら、建設的な提言がされる前に往時スペインの異端審問よろしく Fortran が辱めを受けた上で焚刑に課せられていたことでしょう。

blog.khinsen.net

自然科学界のソフトウェアについて:

always keeping in mind that scientists are not software engineers, and have neither the time nor the motivation to become software engineers.

C++等に関して;

“Unless you are willing to train for many years to become a software engineer yourself, this tool is not for you.”

C++ を理学部・工学部などの非情報系の学生に勧めるのは、老人に催眠商法で高級羽毛布団一式を売りつけるのと同レベルの無責任な行為の気がします。まぁイギリス国民なら、エリザベス女王キツネ狩りの途中に道に迷ってお茶を一杯ご所望になられるかもしれないから、銀の食器セット一式と磁器のティーセット一式をフォートナム&メイソンの紅茶葉と一緒に借金して揃えるノリで行けるかもしれませんw

Modern Fortran: Building Efficient Parallel Applications

Modern Fortran: Building Efficient Parallel Applications

  • 作者:Curcic, Milan
  • 発売日: 2020/10/06
  • メディア: ペーパーバック

bookwalker.jp

【メモ帳】gfortran-10 インストール

gfortran-10 インストールからの約数和 σ

非標準リポジトリからインストールします。

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gfortran-10
sudo add-apt-repository --remove ppa:ubuntu-toolchain-r/test
$gfortran-10 --version
GNU Fortran (Ubuntu 10-20200416-0ubuntu1~18.04) 10.0.1 20200416 (experimental) [master revision 3c3f12e2a76:dcee354ce56:44b326839d864fc10c459916abcc97f35a9ac3de]
Copyright (C) 2020 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.

おまけ

$ gfortran-9 --version
]GNU Fortran (Ubuntu 9.3.0-11ubuntu0~18.04.1) 9.3.0
Copyright (C) 2019 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.

$ gfortran-8 --version
GNU Fortran (Ubuntu 8.4.0-1ubuntu1~18.04) 8.4.0
Copyright (C) 2018 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.

$ gfortran --version
GNU Fortran (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 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.

割り算しないで求める約数和 σn

約数を求めるには剰余(mod)計算が必要な気がしますが、一気にたくさん求めるなら単なるループと和で求まります。基本的にはエラトステネスの篩と同じ原理で、表にバッテンを付ける代わりに数字の計算をします。

約数和からの完全数

10000までの整数の約数和を求めたうえで、そのなかから完全数を選びだします。

   program sigma_perfect
        implicit none
        integer, parameter :: nmax = 10000
        integer :: i, m(nmax)=0
        do i = 1, nmax
            m(i::i)=m(i::i)+i**1
            if (m(i) == 2*i) print *, i, m(i)
        end do
    end program sigma_perfect
$ gfortran-10 sigma.f90
$ ./a.out
           6          12
          28          56
         496         992
        8128       16256

素数

約数の 0 乗(すなわち1)の和 σ0 は、約数の個数なのでそれが2個のものは素数ということになります。これによって 100 までの素数を求めます。

    program sigma
        implicit none
        integer, parameter :: nmax = 100
        integer :: i, m(nmax)=0
        do i = 1, nmax
            m(i::i)=m(i::i)+i**0
            if (m(i)==2) print *, i 
        end do 
    end program sigma
          2
          3
          5
          7
         11
         13
         17
         19
         23
         29
         31
         37
         41
         43
         47
         53
         59
         61
         67
         71
         73
         79
         83
         89
         97

Modern Fortran: Building Efficient Parallel Applications

Modern Fortran: Building Efficient Parallel Applications

  • 作者:Curcic, Milan
  • 発売日: 2020/10/06
  • メディア: ペーパーバック

【ニュース】gfortran10 の新機能他

Gfortran v10.1

ニュースによりますと、「GNU Compiler Collection」v10.1 が出たようなので、新機能を見に行きました。 forest.watch.impress.co.jp

gcc.gnu.org 新機能で注目すべきは、OpenACC や OpenMP v.5 の導入によって GPU 対応が進んでいることだと思います。どの程度の性能なのか、そのうちベンチマークが出るでしょう。15年ぶりくらいに AMD 機が欲しい気持ち?Raspberry Pi4 64bit で ARM のコンパイラも試してみたい気持ちも?

その他、文法対応状況的にはあまり進展なし?

New Languages and Language-Specific Improvements

Version 2.6 of the OpenACC specification is now supported in the C, C++ and Fortran compilers. See the implementation status section on the OpenACC wiki page and the run-time library documentation for further information.

GCC 10 adds a number of newly implemented OpenMP 5.0 features on top of the GCC 9 release such as conditional lastprivate clause, scan and loop directives, order(concurrent) and use_device_addr clauses support, if clause on simd construct or partial support for the declare variant directive, getting closer to full support of the OpenMP 5.0 standard.

OpenMP and OpenACC now support offloading to AMD Radeon (GCN) GPUs; supported are the third-generation Fiji (fiji) and the fifth-generation VEGA 10/VEGA 20 (gfx900 or gfx906).

Fortran の項目より

use_device_addr of version 5.0 of the OpenMP specification is now supported.

アルゴンヌの次期スパコンの開発環境

www.hpcwire.com この記事長くて字が小さくて読む気がしなかったのですが、Ando さんのまとめがありました。 たしかハードウェアはインテルの新規GPUとか初物ばかりを集めて造る奴で、失敗しそうな感じがプンプンと漂っていますが、GPU 利用は data parallel C++ や Open/MP でいくようです。 CUDA ソフトは機械に書き直させるようです。

責任者の悪魔みたいな人は、C++おじさんで YouTube に講演が上がっていますが Fortran に冷たそうw

andosprocinfo.web.fc2.com

  2020年5月8日のHPC Wireが,Argonne国立研究所のコンパイラテクノロジとプログラム言語チームのリードを務めるHal Finkel氏のIWOCL/SYCLcon 2020での基調講演についての記事を載せています。

  プログラムの構造はMPIでノード間の処理分散を行い,ノード内の並列化はOpenMPを使います。CUDAで書かれたプログラムはツールでOpenMPに変換します。Fortranのプログラムも多いので,これらはOpenMPで並列化します。

【寝言】大室家

大室家の長女の撫子さんの相手は誰か?(ネタバレあり)

大室家をなんとなく読み返していたら、大室家の26話で相手が映画好きとなっていました。 f:id:fortran66:20200507020607p:plain

三巻の特装版付録で藍さんが映画好きそうな描写があったので、そう思って改めて本編を読み返すと撫×藍に見えてこなくもない気がしてきます。 f:id:fortran66:20200507021846p:plain

こうなると、もっとヒントがあったのかもしれないと思えて一二巻の特装版を買わなかったことが悔やまれまする。 

大室家はみなみけの三世代フォーマットが生きて、ゆるゆり本編より面白い気がします。若干常識寄りになって櫻子のウザさが増していますがw

大室家 (3) 特装版 (百合姫コミックス)

大室家 (3) 特装版 (百合姫コミックス)

  • 作者:なもり
  • 発売日: 2019/10/31
  • メディア: コミック
大室家: 1 (百合姫コミックス)

大室家: 1 (百合姫コミックス)

大室家: 2 (百合姫コミックス)

大室家: 2 (百合姫コミックス)