[SCore-users-jp] Fortran でWRITE文使用すると発生する問題について

Masayasu Iida iida @ st-systems.co.jp
2005年 4月 12日 (火) 10:37:45 JST


お世話になります。STSの飯田です。

RedHat9+SCore5.8.2+Intel Compiler Ver8.1(C++/Fortran)
の環境を構成し使用しているのですが、

Fortranのコード内にWRITE文を記述すると出力された
ファイルに以下の異常が発生します。(標準出力では問題が
起こりません。)

・ls -lでファイルサイズを見ると異常に大きな
  サイズになります。テストコードは000.datという
  ファイルにssssssssssssssssssssssと出力するだけなのですが、
  ls -lの実行結果では92GBのファイルサイズになっています。

-rw--w-r--    1 root     root     98784247807 Apr 12 09:39 000.dat
                                  ^^^^^^^^^^^
  ところがdu -skの実行結果は、
4       000.dat
  のように4KBでしかありません。
  また、dfコマンドでファイルシステムの使用量を確認しても、
  使用量は4KBしか使用していません。ファイルシステムはext3です。

  ファイルの内容ですがheadコマンドで確認すると正常な出力結果
(ssssssssssssssssssssss)を確認することができるのですが、
  後ろに何か入っているのかviやtailを実行するとシェルが固まって
  しまいます。(もしかすると92GBのファイルをロードしようとして
  時間がかかっているだけかもしれません。)

上記の問題について切り分けを行なったのですが、
(1)mpif77 -compiler=gnuでコンパイルすると問題は発生しません。
  → テスト用のソースコードの問題ではないと判断しました。
(2)Intel Compilerでmpich-1.2.6をコンパイルし、SCoreを用いない
  MPIで検証したところ問題は発生しませんでした。
  → Intel Compilerの問題ではないと判断しました。
(3) (2)の検証をSCore用のカーネル(2.4.21)とRedHat9のカーネル
  (2.4.20-8smp)で行なったところ、どちらのカーネルも
  問題は発生しませんでした。
  → カーネルによる問題ではないと判断しました。
(4)SCoreのmpif77でコンパイルした実行バイナリをReiserFS
  パーティションに配置し、実行結果の出力先もReiserFS上に
  出力したところ、同様の問題が確認されました。
  → ファイルシステムの問題ではないと判断しました。
(5)SCoreのmpichのバージョン1.2.5と1.2.4で検証を行ないましたが、
  同様の問題が発生しました。
  → SCoreのMPICHのバージョンの問題ではないと判断しました。
(5)別のマシンにFedora Core1をインストールし、PCCのサイトで
  公開されているFedora Core1用のisoイメージから新たに
  SCoreクラスターを構築し検証を行ないましたが、
  SCoreのmpichを利用すると問題が再現しました。
  → 現在使用している環境(RedHat9 + SCore5.8.2 + Intel Ver8.1)
     の構築手順の問題ではないと判断しました。

以上の結果から、SCoreのMPICHとIntel Compiler Ver8.1を
使用した場合にのみ問題が発生しているようです。

テストに使用したコードは以下の通りです。
      IMPLICIT REAL*4(a-h,o-z)
c
      include 'mpif.h'
c
c
      call mpi_init(ierr)
      call mpi_comm_size(mpi_comm_world,npe,ierr)
      call mpi_comm_rank(mpi_comm_world,id,ierr)
c
      open(unit=10,file='000.dat',status='unknown')
      write(10,*) 'ssssssssssssssssssssss'
      close(10)
c
      call mpi_finalize(ierr)
c
      stop
      end

Fortran77はバックエンドコンパイラにGNUを使用することで
回避できるのですが、Fortran90の環境を使用するため
Intel Compilerを導入しており回避策を検討しております。
アドバイス頂けますと幸いです。

※以前、石川様からご連絡頂きましたPCCへの加入の件ですが、
  4月8日に準会員として申し込ませて頂きました。

------------------------------------------------
飯田 昌康
サイエンス・テクノロジー・システムズ株式会社
東日本営業部 営業技術グループ
マネージャー
Tel:03-5774-6833 Fax:03-5774-5180
E-mail: iida @ st-systems.co.jp
Web: http://www.st-systems.co.jp
〒150-0002 東京都渋谷区渋谷1-20-1 三進ビル4F
------------------------------------------------





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