第6回 HPF合同検討会 議事録

  1. 日時: 1997年4月16日(水) 13:00〜16:30
  2. 場所: 財団法人 高度情報科学技術研究機構(中目黒) 大会議室
  3. 出席者: 以上31名
  4. 配布資料
  5. HPF仕様の検討議事
    1. 手続き境界でのマッピングについて
      [提案の趣旨説明](太田氏)
         
      1. 手続き境界における再マッピングを、非同期で行なえる機能を追加したい (JAHPF独自拡張)。  
      2. DYNAMIC属性を持つ実引数の手続き戻り時のマッピングを、呼び出す前の 状態に戻すようにしたい(HPF2公認拡張からの仕様変更)。
      3.  RANGE指示行については前回説明済み。

      [討議内容]
      1. について
        • 呼び側の interface block 中にも ASYNC 宣言が必要なのか?
          → 必要。
        • 呼び出し時だけでなく、戻り時の転送は非同期にならないのか?
          → 今後詰める必要あり。
        • 一般に、手続き入り口から実際に変数が参照されるまでに それほど間があるのか?
          実効性が疑わしいのでは?
        • 転送開始が呼び側で行なわれるとするならば、 ASYNC 宣言されていたところで いつ転送開始できるかは結局コンパイラが見切らなくてはならないのでは?

      2. について
        • 手続きは、呼び側からの独立性を高く作るべきものであり、変数の 分配などを変更して戻るのはそもそもおかしい。
          → しかし F90 では他に allocatable array などの例がある。
        • DYNAMIC文ひとつのあるなしで挙動が劇的に変わるのは危険すぎる。
        • 太田提案を入れると、再分配した状態のまま戻す手段が完全に なくなってしまう。
          性能を追求する手段としてあった方がよいのでは?
        • 代替手段として、呼ぶ前に再分配すればいいだけなのでは?
        • 再分配した状態を返す返さないは、変数に対する属性として与えるのでは なく、手続きの個々の引数に対する属性とすべきではないか?
        • inline との関連はどうなるのか?
        • HPF2になってから入れられた機能ということは、経験上必要だということが わかったか らなのではないか?
      3. について ・ユーザは、わざわざこのような記述をしてくれるのか? → 明らかに速くなるのであればする。面倒な人は使わないだけ。


      [採決]
      1. について
        • 引き続き検討を進める(賛成25/反対0/棄権3)。
      2. について
        • DYNAMIC属性を持つ実引数も手続き戻り時にはマッピングを戻す(20/3/5)。
        • マッピングを戻さない方法を別途考える(20/0/8)。
      3. について
        • 採決は行なわない。indirect分散等と絡めて引き続き検討を進める。


    2. データ並列とタスク並列の記述について
      [提案の趣旨説明](太田氏)
      1. REDUCTION種別を明示できるようにしたい(JAHPF独自拡張)。
      2. RESIDENTなしのON文は有効性が疑問なので仕様から外したい (HPF2公認拡張からの仕様変更)。
      3. RESIDENTの構文が美しくないのをなんとかしたい (HPF2公認拡張からの仕様変更)。
      4. TASK_REGIONの採否。
      5. 部分プロセッサへのマッピング機能の採否。


      [討議内容]
      1. について
        • 種別を誤って書くと誤った結果がでるのか?
          → yes。
        • 最大値と同時に、それを与えるときの添字を求める」ような演算は?
          → 今のままの仕様では書けない。
        • HPF2公認拡張のREDUCTIONはそのまま使えるのか?
          → そのまま使える。ここでの提案は機能の拡張。
        • HPF2策定過程においてももっと柔軟な書式が検討されたが、 ややこし過ぎて捨てられた。太田提案あたりが実用的な線ではないか。
      2. について
        • ONをなくしてしまうと計算マッピングをユーザが明示する方法が 完全になくなってしまう。計算マッピングをコンパイラが完全に見切れるかは疑問。
        • ONに必ずRESIDENTが必要となると、なぜそういう文法なのか理解できない。 RESIDENTなものだけをならべて書く方がわかりやすい。
        • ループのインデックスを直接分配する手段があればONはいらない?
          → 適当なテンプレートに対するONを書く方が結局は簡単。
        • コンパイラでONの実装が難しいとする理由がよくわからない。
      3. について
        • RESIDENT対象として、本当は「この式中のこの参照」という指定が したいが、うまい方法がないため、HPF2では「字面の一致」が採用されている。
        • RESIDENT対象に変数名しか指定できない、という案ではきめが 粗過ぎて書けないパターンが出てくる。
        • 単文のRESIDENT指示行で対応してはどうか。
      4. について
        • ベクトル長などの関係で、一つのループを全プロセッサに分配するよりも、 一部のプロセッサだけに分配して他は別の処理をしていたほうがよいこともある。


      [採決]
      1. について
        • REDUCTION種別を書けるよう拡張する(24/1/5)。
      2. について
        • 検討を継続/検討を打ち切りHPF2をそのまま採用/棄権(13/10/7)。
        • → HPF2公認拡張通りか仕様変更かも含め、検討を継続する。
        • → 検討継続を支持した人は、次々回までに提案資料を用意する。
      3. について
        • HPF2公認拡張をそのまま採用する(25/2/3)
      4. について
        • HPF2公認拡張をそのまま採用する(23/1/6)


    3. 非同期転送について
      時間切れのため、次回に。


  6. その他の検討議事  
    1. 新規参入希望者について
      地球シミュレータ研究開発センタ・谷氏(三好氏より紹介)の新規入会について、 出席者全員の賛成を得た。
      → 欠席者の賛否をメールで確認(事務局)後、入会承認。

    2. スケジュールについて
      次回の会議は9:30からとする(出席者には実費にて昼食を用意)。 次々回以降は様子を見てから改めて決定する。

      今後の予定
      第7回 4月21日 9:30〜
      第8回 5月14日 時刻未定
      第9回 5月28日 時刻未定
  7. 事務連絡
以上