[SCore-users-jp] 計算ホストの台数によって計算誤差が変わる?

Keizo Hayashi k-hayashiatsogo-eng.co.jp
2002年 11月 22日 (金) 11:50:50 JST


林敬三@綜合技術コンサルタントと申します。
よろしくお願いします。

SCore5.2で並列計算を実行させたとき、計算ホストの台数に
よって計算結果が変わることがあり、疑問に思いましたので
質問させていただきます。

具体的には、共立出版の「Linuxで並列処理をしよう」という
書籍で紹介されている、2次元ラプラス方程式を差分法で解く
プログラムを実行したとき、
計算ホストが1台の場合、計算結果(計算回数)は 1324、
計算ホストが2台の時も同様に結果は 1324 となりますが、
計算ホストが3台の場合だと、結果が 1323 となります。

それから、三角関数やべき乗を多用した計算を繰り返す簡易な
テストプログラムでも検証してみたところ、倍精度型の場合、
有効数字11〜12桁のレベルですが計算ホストの台数によって
計算結果がわずかに異なることがありました。

そこで質問というのは、
・ 計算ホストの台数に起因する計算誤差はあるのだろうか
・ 台数が増えれば増えるほど、誤差も大きくなってしまうのだろうか
というものです。

上記の内容によっては、大規模な計算を行ったとき、誤差が蓄積
されて、単一CPU+普通のプログラムの計算結果とSCoreクラスタ
システム+並列化(mpi化された)プログラムの計算結果がかけ離
れてしまう可能性があるのではないか?
という点が気になります。

原因として、ハードウェア、OS、コンパイラ、MPIライブラリ、プログラム
の書き方、などいろいろありそうですが、どのような情報でも結構です
ので、ぜひ教えていただきたく思います。

簡単ですが使用環境は以下の通りです。
サーバ専用ホスト1台+計算ホスト3台(全4台)
計算ホスト台数は、scrunコマンドでノード数を指定することにより
切り替えています。
ソフトウェアは、Redhat Linux7.3+SCore5.2の構成です。

では、以上よろしくお願いいたします。
=================================
(株)綜合技術コンサルタント IT管理室
林 敬三   k-hayashi at sogo-eng.co.jp
=================================



SCore-users-jp メーリングリストの案内