Closed mnakao closed 5 years ago
修正箇所については、了承。次回、votingして、SC前のバージョンに入 れる予定。
Appendix D の XMP-IO の確認をお願いします。 特に確認して頂きたいのは今回追加した以下の2パラグラフです。 よろしくお願いいたします。
D.4.4
Accessing to the same file position by READ/WRITE statements may not occur in the same order in a program. In order to guarantee the order of READ/WRITE specied, the file should be closed or the file_ sync_all directive should be executed between these statements.
D.5.4
Accessing to the same file position by READ/WRITE functions may not occur in the same order in a program. In order to guarantee the order of READ/WRITE specied, the file should be closed or the file_sync_all function should be executed between these functions.
林さん,岩下さん
中村です。 ご指摘ありがとうございます。修正版を添付いたします。 ご指摘いただいたところはだいたい修正しました。Cも一部修正しています。
以下,林さんの質問に対する回答です。
D. 3. 1
とりあえず,F2003以降の仕様は考えない,ということで良いですか?
他のところでもご指摘がありましたが,なるべく整合性がとれているほうがいいとおもっています。 他にも整合がとれていないところがあれば,ご指摘ください。ただ,Local I/Oの標準入出力はシステム依存でいいとおもっています。
D. 4. 1
ACCESSの既定値はSEQUENTIALなので,省略するとFortranでの意味は順番探査となるので書けたほうがよいのでは? FORMも,順番探査の場合,既定値はFORMATTEDとなるので書けたほうが良いのでは?
ACCESSは指示文にdirectがあれば直接探査,それ以外では順番探査となるため,ACCESS指定子は必要ないと思っています。FORMは書けたほうが良いとおもうので,追加しました。
D. 4. 2
これはマスターノードの値が書かれるんでしたっけ?
違います。実行ノード内のある1つのノードの値です。 main.pdf
林です。
少しコメントを入れたものを添付します。(D.5の方もざっと目についたところだけ)
D. 3. 1
とりあえず,F2003以降の仕様は考えない,ということで良いですか?
他のところでもご指摘がありましたが,なるべく整合性がとれているほうがいいとおもっています。 他にも整合がとれていないところがあれば,ご指摘ください。 ただ,Local I/Oの標準入出力はシステム依存でいいとおもっています。
XMP coarray拡張の部分の仕様として、
In a READ statement, an io-unit that is an asterisk identifies an external unit that is preconnected for sequential formatted input only on the image whose primary image index is 1.
と書いています。これは、Fortran仕様の
In a READ statement, an io-unit that is an asterisk identifies an external unit that is preconnected for sequential formatted input on image 1 only.
に由来するもので、coarrayのI/Oというのは、要するに通常のFortran I/O つまり、XMPでは、local I/Oに相当すると思われるので、齟齬があるとまずいのではないか、ということです。
D. 4. 1
ACCESSの既定値はSEQUENTIALなので,省略するとFortranでの 意味は順番探査となるので書けたほうがよいのでは? FORMも,順番探査の場合,既定値はFORMATTEDとなるので書けたほうが良いのでは?
ACCESSは指示文にdirectがあれば直接探査,それ以外では順番探査となるため,ACCESS指定子は必要ないと思っています。
ちょっと問題なのは、ACCESS指定子なしでOPENされると、「Fortranの仕様上は」、すべて順番探査となるので、direct I/Oの仕様と合わないということです。
もちろん、XMPとしては、direct clauseがある場合は直接探査とする、という仕様にすることは可能ですが、その場合指示行の有無によって、ファイル接続の意味が変わってしまうのが、ちょっと気持悪い、ということです。
FORMは書けたほうが良いとおもうので,追加しました。 D. 4. 2
これはマスターノードの値が書かれるんでしたっけ?
違います。実行ノード内のある1つのノードの値です。
処理系が任意に選んだノード上の値が書かれる、と言う意味でしょうか?
報告者:中村
林さん,レビューありがとうございました。修正したものを添付いたします。
coarrayのI/Oというのは、要するに通常のFortran I/O つまり、 XMPでは、local I/Oに相当すると思われるので、 齟齬があるとまずいのではないか、ということです。
だいぶ議論して決めたことですが,Fortran仕様に合わせたいとおもいます。D.2.1はあまり自身がないので,確認よろしくお願い致します。
もちろん、XMPとしては、direct clauseがある場合は直接探査とする、という仕様にすることは可能ですが、その場合指示行の有無によって、ファイル接続の意味が変わってしまうのが、ちょっと気持悪い、ということです。
ACCESSも追加しました。
処理系が任意に選んだノード上の値が書かれる、と言う意味でしょうか?
はい。a node を any node に変えました。
中村さん
岩下です。
D. 4. 1
ACCESSの既定値はSEQUENTIALなので,省略するとFortranでの意味は順番探査となるので書けたほうがよいのでは? FORMも,順番探査の場合,既定値はFORMATTEDとなるので書けたほうが良いのでは? ACCESSは指示文にdirectがあれば直接探査,それ以外では順番探査となるため,ACCESS指定子は必要ないと思っています。
ちょっと問題なのは、ACCESS指定子なしでOPENされると、「Fortranの仕様上は」、すべて順番探査となるので、direct I/Oの仕様と合わないということです。もちろん、XMPとしては、direct clauseがある場合は直接探査とする、という仕様にすることは可能ですが、その場合指示行の有無によって、ファイル接続の意味が変わってしまうのが、ちょっと気持悪い、ということです。
ACCESSも追加しました。
direct I/Oの時はACCESS指定子は必須かつDIRECTでないといけない、他のglobao I/Oの時は省略またはSEQUENTIALを指定、がよいと思います。
つまり、指示文とFortran文の両方に書かなければならない、ということですが、大きな手間ではないし、この方が指示文を無視したときの逐次実行との意味が一致します。
仕様書の書き方ですが、表はspecifilerのdefalut値を書いている箇所なので、ここに書く内容ではないと思います。POSITION指定子と同じように下に書くのがいいと思います。
報告者:林
対応頂き有難う御座います。
だいぶ議論して決めたことですが,Fortran仕様に合わせたいとおもいます。 D.2.1はあまり自身がないので,確認よろしくお願い致します。
標準出力と標準エラー出力は処理系依存のままで良いと思います。
また、
It is also implementation dependent how the accesses to the files with the same name by multiple nodes behaves.
も残しておいて良いと思います。
ACCESSも追加しました。
すみません。 p.97
shall be appear → shall appear
に修正をお願いします(私のミスです)。 また、ACCESS指定子のところの文中の単語beginは要らないと思います。
はい。a node を any node に変えました。
on a node arbitrarily selected by the language processor from the executing node set
ぐらいが良いかと思います。
報告者:林
仕様書の書き方ですが、表はspecifilerのdefalut値を書いている箇所なので、ここに書く内容ではないと思います。 POSITION指定子と同じように下に書くのがいいと思います。
そうですね。
「表中のdefaultの箇所」 ACCESS SEQUENTIAL
FORM For direct access, UNFORMATTED. For sequential access, this specifier shall not be omitted.
「下に制約として」 For direct I/O, the ACCESS specifier shall appear and the value shall be evaluated to DIRECT.
For collective I/O and atomic I/O, the FORM specifier shall appear and the value shall be evaluated to UNFORMATTED.
で如何でしょう?
はやしです。
「下に制約として」 For direct I/O, the ACCESS specifier shall appear and the value shall be evaluated to DIRECT.
For collective I/O and atomic I/O, the value of the ACCESS specifier shall be evaluated to SEQUENTIAL if this specifier appears.
For collective I/O and atomic I/O, the FORM specifier shall appear and the value shall be evaluated to UNFORMATTED. For direct I/O, the value of the FORM specifier shall be evaluated to UNFORMATTED if this specifier appears.
も追加した方が、より明確で良いと思います。
担当者:中村
入出力における一貫性やatomicityの詳細について
XMP IO, consistency XMP-IO全体(現在、proposal)を含めて、次回確認、次々回votingの予定
2012/6/25に説明させていただきたい資料を添付します.英文は内容が承認されたあとにメールで確認させていただきたいとおもいます.
xmpio0625.pptx