Closed mnakao closed 5 years ago
報告者: 村井
部会向け資料を追加。 配列処理関数.pdf
報告者: 村井
よく考えると、array構文内のシャドウの扱いを決めるために、elemental という概念を無理に持ち出す必要はなかったので、再提案。 配列処理関数2.pptx
報告者:坂上
よく考えると、array構文内のシャドウの扱いを決めるために、 elemental という概念を無理に持ち出す必要はなかったので、 再提案。
さて,これは,基本的にグローバル変数を素で関数に書くときには,必ず配列代入文になるということが前提ですね? つまり,elementalという概念を定義しなくても,array構文でカバーできる.
私は,その前提にはずれるケースを思いつきませんが,本当に大丈夫でしょうか??
報告者:村井
次回までに
次回提案前に持っていきたい
報告者:村井
配列処理関数について、過去の議論と要検討事項をまとめました。仕様として新しい概念を導入することになり、検討しなければならない点がまだ多いので、「提案前」の段階には至っていません。
報告者:岩下
参考のため、Fortranの組込み関数の分類をEXCELにしました。添付します。
これを見ながら、村井さんの6/7付資料「配列処理関数」へのコメントです。
報告者:村井
以下の章を追加。ただし、7.8 の各関数の説明は未稿。
Fortran の集計関数(MAXVAL や SUM)は、loop の reduction 節で容易に代替できるので、除外した。
5.3 Built-in Functions for Array Section 7.6 [F] Array Intrinsic Functions of the Base Language 7.7 [C] Built-in Elemental Functions 7.8 Intrinsic/Built-in Transformational Procedures 7.8.1 xmp_scatter 7.8.2 xmp_gather 7.8.3 xmp_pack 7.8.4 xmp_unpack 7.8.5 xmp_transpose 7.8.6 xmp_matmul 7.8.7 xmp_sort_up 7.8.8 xmp_sort_down main.pdf
報告者: 村井
Intel C/C++ における配列値関数について調査した。
__attribute__((vector (clauses))) return_type elemental_function_name(arguments)
つまり、XMP では elemental function はビルトインのみで、仕様でそのリストを示す予定であるのに対し、Intel ではユーザが elemental function を定義することができる。
参考:
報告者:村井
(xmp-wg 610) を元に、以下を提案。
例:
[F] xmp_sort_up(a)
a と同じ型、形状、分散を持つグローバル配列のローカルセクションを返す。[C] void *xmp_sort_up(xmp_desc_t desc_a)
desc_a と同じ型、形状、分散を持つグローバル配列のローカルセクションへのポインタを返す。要検討:
という式は、Fortran では配列代入文、C ではポインタ代入文と解釈される。すなわち、Fortran では array 指示文が必要だが、C では不要。