fortran66のブログ

fortran について書きます。

【ニュース】Intel Fortran v.19 update3 出た!

Intel® Parallel Studio XE Composer Edition for Fortran Windows* 2019

Version: Update 3 Eng/Jpn

Overview:

  • Added strict CNR mode in Intel® Math Kernel Library for bitwise reproducibility on certain functions and certain instruction sets.
  • Extended Roofline Compare feature in Intel® Advisor with automatic matching of dots between results.
  • Added ability to generate HTML-based rank-to-rank communication diagram by message volume in Application Performance Snapshot.

インテル® ソフトウェア・ツールにおける浮動小数点結果の再現性 不確実性の払拭

http://www.isus.jp/wp-content/uploads/pdf/TheParallelUniverse_Issue_34_02.pdf

少し前の記事ですが、ビットレベルでの結果の再現性を求めるとスピード 1/10 位まで落ちる場合もあると。

そもそも機械語レベルで積和計算がレジスタ上で連続して行われたら、IEEE754 に忠実な演算ごとの丸め処理が行われないので、IEEE754 計算上での再現性を出すには機械語レベルで相当のろいコードを出さねばならないでしょう。Intel CPU 間での再現性に限れば条件は緩和されそうですが。

浮動小数点数の計算では結合則が成り立たないのだから、原理的にほとんどの最適化は出来ないし、実数計算からズレた結果を再現性をもって計算しても、チェックという点では意味があっても、計算という点では意味がないと思います。相応の分散を持った答えを返す方が素直。

昔の帆船時代に、気圧計をもっていくなら1個か3個にしておけ、2個だとどっちを信じていいか分からないから、という言い伝えを思い出します。

Fortran ハンドブック

Fortran ハンドブック

C/C++、FortranプログラマーのためのインテルParallel Stud―Windows、LinuxおよびMac OS 10

C/C++、FortranプログラマーのためのインテルParallel Stud―Windows、LinuxおよびMac OS 10

Modern Fortran Explained: Incorporating Fortran 2018 (Numerical Mathematics and Scientific Computation)

Modern Fortran Explained: Incorporating Fortran 2018 (Numerical Mathematics and Scientific Computation)