ERmod0.3.4 slvfeの出力について

281 views
Skip to first unread message

Toru Ekimoto

unread,
Aug 2, 2016, 2:01:56 AM8/2/16
to ermod-users
ermod-users様、

横浜市大の浴本です。お世話になっております。

ERmod0.3.4を使っていると、slvfeの出力に

cumulative average & 95% error for solvation free energy
  1 -1801.1143
  2 -1814.7599    27.2912
  3 -1818.9268    17.8248
  4 -1822.3054    14.3011
  5 -1825.4917    12.7797
  6 -1824.4444    10.6427
Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG IEEE_DIVIDE_BY_ZERO IEEE_UNDERFLOW_FLAG
  7 -1826.1201     9.5988
  8 -1827.6194     8.8371
  9 -1828.1683     7.8705
 10 -1827.3700     7.2184

といったように、Note:が出ます。Noteの意味について詳しく知りたいのですが、ご教示いただけませんでしょうか。

また、ブロックの途中にNoteが出力されるのは、意味のある仕様と推測しますが、できれば、10ブロックの後あたり、メッシュエラーの部分あたりに出力されるとうれしいです。

よろしくお願いいたします

浴本亨
横浜市立大学 生命医科学研究科

Nobuyuki MATUBAYASI

unread,
Aug 2, 2016, 3:52:46 AM8/2/16
to ermod-users
標記の件ですが

とか
の一番下に書いていることと関係しますか?
これらは、MacOSXやCygwinなら、何故か出るメッセージです。
もしそうなら、無視しても良いですよ

ERmodのプログラムには、このような出力をするような設定はしていませんよ

松林

Toru Ekimoto

unread,
Aug 2, 2016, 9:54:04 PM8/2/16
to ermod-users
松林先生、

浴本です。返信をありがとうございます。

これらは、MacOSXやCygwinなら、何故か出るメッセージです。
もしそうなら、無視しても良いですよ

ERmodのプログラムには、このような出力をするような設定はしていませんよ

松林

横浜市大のスパコンでメッセージが出たので、上記のwikiを見逃していました。申し訳ありません。
こちらのスパコンの管理者に聞いてみます。

ありがとうございました

浴本亨

Nobuyuki MATUBAYASI

unread,
Aug 3, 2016, 10:32:13 PM8/3/16
to ermod-users
浴本さん

今回のメッセージですが、CygwinやMac OSXでも、無害とは言え、何故出るか分かりません。
なので、市大のスパコン管理者が、メッセージの意味とそれが出る理由が分かれば、教えてもらえますか?

松林

Shun Sakuraba

unread,
Aug 3, 2016, 11:09:13 PM8/3/16
to ermod...@googlegroups.com
皆様

当該のメッセージは一部の処理系で、浮動小数演算での例外(c.f. http://www.msi.co.jp/nuopt/glossary/term_f2c92d56d87e6155205262df1721568b1d5afeb3.html )が出たことを
伝えるメッセージだと思います(が、自分が遭遇したことはなかったので、どういう経緯で出ているかは不明です)
Divide by 0 (ゼロ除算)については、以前調べた限りでは、slvfeの中で出力はしないもの"1"の行に対応する95%信頼区間を計算しているのが主な原因だったと思います。
--
Shun SAKURABA, Ph.D.
Project Assist. Prof. @ Asai Lab,
Grad School of Frontier Sciences, U Tokyo

Nobuyuki MATUBAYASI

unread,
Aug 3, 2016, 11:39:54 PM8/3/16
to ermod-users
当該部分なんですが、ver 0.3.4のslvfe.F90のLines 1675-1692では

    do cntrun = 1, numrun
       recnt = real(cntrun)
       do pti = 0, numslv
          slvfe = wrtdata(pti, cntrun)
          runcp(pti) = runcp(pti) + slvfe
          runer(pti) = runer(pti) + slvfe ** 2
          avecp = runcp(pti) / recnt
          shcp(2 * pti + 1) = avecp
          if(cntrun > 1) then
             factor = runer(pti) / recnt - avecp ** 2
             if(factor <= zero) then
                shcp(2 * pti + 2) = 0.0
             else
                shcp(2 * pti + 2) = (2.0 / sqrt(recnt) ) &
                                  *sqrt(recnt / (recnt - 1.0)) * sqrt(factor)
             endif
          endif
       end do

というわけで、"1" (cntrun == 1)の場合のゼロ割算(や変なsqrt)は無くなっています。
ちょっと謎です

Shun Sakuraba

unread,
Aug 4, 2016, 12:44:40 AM8/4/16
to ermod...@googlegroups.com
皆様
なるほど、となると謎ですね。
一応ticketを発行しておきます。
https://sourceforge.net/p/ermod/tickets/42/

>浴本さん
とりあえずの回避策として、ジョブを投げるときに標準出力と標準エラー出力を分けると、
Note: は標準エラー出力に出ると思うので回避できるかもしれません(自分の環境で起きたことが無いので半ば勘で言っていますが……)。

Toru Ekimoto

unread,
Aug 7, 2016, 9:51:53 PM8/7/16
to ermod-users
松林先生、

浴本です。現在、ERmodを複数人で使っておりますので、もう一度、計算の状況を確認の上、スパコン管理者にも問い合わせてみます。

浴本亨

2016年8月4日木曜日 11時32分13秒 UTC+9 Nobuyuki MATUBAYASI:

Toru Ekimoto

unread,
Aug 7, 2016, 9:54:01 PM8/7/16
to ermod-users
桜庭さん、松林先生、

原因部分の情報、回避できそうな策を教えていただき、ありがとうございます。こちらで情報が集まり次第、ご報告させていただきたいと存じます。
よろしくお願いいたします

浴本亨

2016年8月4日木曜日 13時44分40秒 UTC+9 Shun:

Toru Ekimoto

unread,
Nov 25, 2016, 12:38:40 AM11/25/16
to ermod-users
松林先生にご対応いただき、
slvfe.F90の最後から2行目のstop文をコメントアウトする事で、IEEE errorのメッセージが出なくなりました。
(0.3.5では、上記が反映されているようです。)
どうも、ありがとうございました。

結局のところ、スパコンの管理者に相談しても原因がわかりませんでした。

浴本亨
Reply all
Reply to author
Forward
0 new messages