[J3] (SC22WG5.6060) Draft 2018 minutes

Steve Lionel steve at stevelionel.com
Thu Jul 12 09:03:23 EDT 2018


Attached is David's current draft minutes from the Berkeley meeting. 
Please let David and myself know by the end of Monday if you see any 
errors or omissions. Thanks.

Steve

-------------- next part --------------
                                        ISO/IEC JTC1/SC22/WG5 N2158-4

Minutes of Meeting of ISO/IEC JTC1/SC22/WG5
Hosted by ANSI, the USA Member Body for JTC1/SC22
in Berkeley, CA, USA
June 11-15, 2018

List of Participants:

Steve Lionel (self, USA) convenor
Dan Nagle (NCAR, USA) PL22.3 chair

Reinhold Bader (Leibniz Supercomputing Centre, Germany and DIN)
Kiran Chandramohan (Arm, UK)
Daniel Chen (IBM, Canada)
Tom Clune (NASA, USA)
Malcolm Cohen (NAG, UK)
Bob Corbett (self, USA)
Salvatore Filippone (Cranfield University, UK)
Brian Friesen (Lawrence Berkeley National Laboratory, USA)
Gary Klimowicz (NVIDIA, USA)
Bill Long (Cray, USA)
Divya Mangudi (Intel, USA)
Jeanne Martin (former convenor, USA, Monday only)   
Lorri Menard (Intel, USA)
David Muxworthy (British Standards Institution, UK)
Vipul Parekh (Resenex, USA, Tuesday to Thursday)
Craig Rasmussen (DOE, USA, Monday to Thursday)
Soren Rasmussen (Cranfield University, UK)
John Reid (JKR Associates, UK)
Larry Rolison (self, USA, Monday only)
Damian Rouson (Sourcery, USA)
Anton Shterenlikht (University of Bristol, UK)
Nathan Sircombe (Arm, UK)
Van Snyder (Caltech/JPL, USA)
Masayuki Takata (Edogawa University, Japan)


Notes:
1.  This was a joint meeting of SC22/WG5 and INCITS/PL22.3.  These
    minutes record only the parts of the meeting in WG5 mode.
2.  WG5 papers are referenced as Nnnnn. They are available from
    https://wg5-fortran.org/documents.html
3.  INCITS/PL22.3 is abbreviated throughout to PL22.3 and its papers
    are referenced as J3/18-nnn. They are available from
    https://j3-fortran.org/

1. Opening of the Meeting
The meeting opened at 09:00 on Monday, June 11th 2018.

2. Opening business
2.1 Introductory remarks from the Convenor
The convenor welcomed participants, especially those who were
attending WG5 for the first time.  He noted that this was his first
meeting as WG5 convenor.

2.2 Welcome from the Host
Brian Friesen welcomed participants on behalf of Lawrence Berkeley
Laboratory.

2.3 Local arrangements
Brian Friesen as co-host described local arrangements including action
to be taken in the event of an earthquake. Damian Rouson, co-host,
described the social arrangements for the week and local possibilities
for dinner.

2.4 Appointments for this meeting
The drafting committee would be Reinhold Bader, Daniel Chen, David
Muxworthy (chair), Dan Nagle and Masayuki Takata. David Muxworthy
would act as secretary and Steve Lionel as librarian and as editor of
the Disposition of Comments document in response to the DIS ballot.

2.5 Adoption of the agenda [N2150]
The agenda was adopted.

3. Matters arising from the minutes of the Garching 2017 Meeting [N2132]
There were no items not otherwise on the agenda.

4. Status of Garching 2017 Resolutions [N2131]
No matters were raised.

5. Reports
5.1 SC22 Matters (Convenor)
The convenor reported that SC22 continued to disallow line numbers in
standards documents.  An SC22 working party had recommended a more
timely procedure to distribute corrections and updates to existing
standards via a JTC1 website.

There was some concern about a possible delay in the provision of the
Summary of Voting in the SC22 DIS ballot but in fact the document
(SC22N5273) appeared on the SC22 website on the first morning of the
meeting and was copied for convenience to PL22.3 paper J3/18-168.

5.2 National Activity Reports 

Canada:   The quarterly SCC meeting was held in March with
          representatives of other programming language working groups
          such as C, C++, COBOL and ADA. The Fortran 2018 DIS was approved.
Germany:  Reinhold Bader is a member of DIN NA 043-01-22 AA
          "programming languages" subcommittee and participated in the
          yearly meeting, held in Berlin on November 27, 2017. He gave
          a talk about the state of Fortran standardization. Nine of
          the 17 registered members were present at the meeting.
Japan:    The chair of ITSCJ/SC22/Fortran WG has been changed from Minoru
          Tanaka (Fujitsu) to Hidetoshi Iwashita (Fujitsu).
          Translation of F2008 had been abandoned and that of F2018
          would officially start, at the earliest, in April 2019.
          Preparation for the 2019 Tokyo meeting was in progress, and
          the preliminary local arrangements (N2151) would soon be
          available.
UK:       The BSI Fortran panel had 19 members, including observers,
          having gained four new members and lost three during the
          year. The UK voted "approval with comments" on the Fortran
          2015/2018 second CD and DIS.  The UK voted in favour of
          Steve Lionel as WG5 convenor.
USA:      The US had collected comments and requirements for future
          developments from around the world.  It was considering
          criteria for the next revision, again open to world-wide
          contributions.  Steve Lionel had taken over as WG5 convenor
          and established new WG5 (and PL22.3) websites.

5.3 Report from Primary Development Body (INCITS/PL22.3 Chair)
PL22.3 was charged with developing the draft standard and had done so.
 
5.4 Reports from other Development Bodies (Editors/Heads)
There were no contributing development bodies at present.

5.5 Liaison Reports:

NCITS/J11 (C): Dan Nagle
     Work was proceeding as usual.  CPLEX had been included in the
     main standard.

MPI: Bill Long
     MPI Forum was meeting in the same week - June 11-14
     see https://www.mpi-forum.org/meetings/2018/06/agenda

     The tickets concerning persistent collective operations were up
     for a formal vote. It looks like this is going to make it this
     time.  There is some progress on MPI Sessions. Sessions is a very
     large topic -- they are making slow progress on different pieces
     for now.  There is some talk about reviving ULFM by splitting it
     some manner.

UPC: Damian Rouson
     Nothing to add.

IFIP/WG2.5: Van Snyder
     Van Snyder could not get funding to attend last year's meeting in
     Oslo; the 2018 meeting was to be the following week in Sydney. He
     believed that there were no new projects, or old projects upon
     which new work has been done during the last two years, that
     would affect Fortran.

     A meeting had been proposed for this summer but would not take
     place.

OpenMP: Bill Long
     See Appendix A.
     
WG9 (Ada): Van Snyder
     The primary organizations in the Ada community were WG9, the
     Ada Rapporteur Group (primarily compiler vendors), and Ada
     Europe. They usually met once per year in conjunction with the
     International Conference on Reliable Software
     Technologies. This year, 18-22 June in Lisbon, was the 23rd
     conference. There were five presentations on reliable software
     technology, three on Ada 202x, three on handling implicit
     overhead, two vendor presentations, two on real-time
     scheduling, and three on application domains -- on the first
     day. There were at least thirteen sponsors (SigAda, SigPlan,
     and eleven commercial sponsors).

     Ada took a page out of the Fortran playbook and published a
     corrigendum recently.

     Further details are in http://ae2018.di.fc.ul.pt/meetings.html.

WG23 (Vulnerabilities): Dan Nagle
     Dan Nagle would continue work in this project.

OpenACC: Gary Klimowicz
     Information about OpenACC, including the current standard
     document, training materials, and upcoming events can be found
     at http://www.openacc.org/.

     The current OpenACC 2.6 standard includes support for manual
     deep copy of data structures to target processors. Discussions
     have begun on "true" deep copy, which allows data movement
     policies to be defined within the data types themselves, and
     referenced when needed in the accelerated code. Users can
     specify which parts of larger data structures are to be copied
     to targets. There is a technical report
     https://www.openacc.org/sites/default/files/inline-files/TR-16-1.pdf
     that describes the "true" deep copy requirements, beginning in
     Section 3.

     There are over 110 applications in production or development using
     OpenACC, including:
     - Gaussian 16
     - ANSYS Fluent
     - VASP
     - MPAS-A
     - COSMO
     - GAMERA for GPU
     - Quantum Espresso

     There are several "hackathons" coming up, where researchers
     bring their codes to work alongside with OpenACC experts to
     accelerate their applications. Event dates are posted at
     https://www.openacc.org/events.
     - September 10-14 NCSA
     - September 17-21 Brookhaven
     - October 1-5 CSCS
     - October 22-26 OLCF

Flang: Gary Klimowicz
       See Appendix B.

6. Consideration of the comments from the ballot of the DIS of the 
   Fortran standard and construction of responses.    

This agenda item occupied most of the meeting.  The ISO ballot
comments were discussed in PL22.3 mode and the detailed outcomes are
recorded in the PL22.3 minutes.  These are summarized in the resulting
Disposition of Comments document, N2153.

There follows an outline record in chronological sequence of
discussions in WG5 mode.

[PL22.3 plenary and subgroup sessions from 09:55 to 16:35]

The meeting adjourned at 16:35
...........................................................................
Tuesday

The meeting resumed at 09:00.

[PL22.3 plenary and subgroup sessions from 09:00 to 16:30]

Vipul Parekh, attending as an observer, was introduced.  He gave a short
description of his experience with Fortran.

The convenor reminded participants of the public survey on possible
new features in Fortran 202X which had run from September 2017 to
February 2018.  The results were summarized in N2147 and PL22.3 had
undertaken a preliminary review which was recorded in J3/18-156.  He
asked participants to review the documents over the following two days
with a view to discussing them on Thursday.  He particularly asked
other countries to contribute, so that by the time of the Tokyo
meeting in 2019 it should be possible to define the features to be in
the next revision.

[PL22.3 plenary session from 16:37 to 16:55]

The meeting adjourned at 16:55.
...........................................................................
Wednesday

The meeting resumed at 09:00.

[PL22.3 plenary and subgroup sessions from 09:00 to 16:30]

A photographer attended to take images of the group at 10:00.  The
photograph is at http://photos.lbl.gov/bp/#/folder/4398181/.

Brian Friesen led a tour of the Laboratory computing facilities at
lunchtime. 

The Convenor again reminded members to read N2147 to facilitate a
discussion under agenda item 10 later in the week.

[PL22.3 plenary session from 16:33 to 16:55]

The meeting adjourned at 16:55 and was followed by the meeting social
event at the Lake Chalet in Oakland.
...........................................................................
Thursday

The meeting resumed at 09:00.

[PL22.3 plenary and subgroup sessions from 09:00 to 16:50]

Damian Rouson, co-host, invited members to an informal 'Pizza in the
Park' evening in Dorothy Bolte Park, Berkeley.

The meeting adjourned at 16:50.
...........................................................................
Friday

The meeting resumed at 09:00.

[PL22.3 plenary session from 09:00 to 09:45]

7. Decide whether the comments from the DIS ballot require construction
   of a separate FDIS, or whether the FDIS step can be skipped.

There having been over 80 comments on the DIS, many of them generating
multiple edits to the document, it was clear that an FDIS would be
needed.  The Project Editor was to incorporate the amendments made at
the meeting and to make the draft FDIS available to WG5 members.  It
was anticipated that this would be done by July 7.  In particular a
subgroup consisting of Steve Lionel, Bill Long, Dan Nagle and John
Reid was delegated to check the document for correctness.  Other
members were welcome to contribute.

8. Consider the Fortran defect reports (interpretations) in J3/17-006.

Agenda item 8 was not pursued at this meeting.

9. WG5 Business and Strategic Plans
    9.1 Goals for 2018-2021

A draft Strategic Plan (N2154) was approved.  Members were asked to
comment on a draft Business Plan and Convener's Report for 2017-2018
which would be labelled N2156.
 
10. Start planning for the further revision of the Fortran standard. 

It was noted that most input to the survey on future development of
the standard had come from the USA and other countries were encouraged
to make contributions.

There followed a series of straw votes on topics highlighted in N2147.

- whether generics should be considered
  straw vote: yes: 14 - no:  4 - undecided:  3
- whether exceptions should be considered
  straw vote: yes:  7 - no:  5 - undecided:  9

The following items from N2147 had been left undecided in the review
in J3/18-156.

- += and *= syntax
  straw vote: yes:  3 - no: 11 - undecided:  5
- constructors for derived types
  straw vote: yes:  1 - no:  8 - undecided: 12
- allow a specification section in some constructs without block/endblock
  straw vote: yes:  4 - no:  8 - undecided:  7
- allow arrays in allocatables with coarray components
  straw vote: yes:  8 - no:  5 - undecided:  7

11. Closing Business
    11.1 Future meetings

    Makki Takata, host for the 2019 meeting, asked for an indication
    of the size of hotel rooms that members might prefer.  A straw
    vote went: spacious (and more expensive) 5 - smaller 8 - either 3.

    Bill Long offered a meeting in Minneapolis, supported by Cray, and
    described facilities.  Van Snyder offered a meeting in Pasadena
    and also described local facilities.  A straw vote went:
    Minneapolis 11 - Pasadena 2 - either 6.  The Minneapolis
    invitation was accepted.

    Nathan Sircombe offered a meeting in Manchester, UK, in 2021,
    supported by Arm.  He gave a short presentation on Arm, local
    facilities, and the city of Manchester.  The invitation was
    accepted.

    11.2 Any other business
     None was raised.

12. Adoption of Resolutions [N2152]
There was some discussion and minor editing of the draft proposed by
the Drafting Committee.  After editing, resolutions B1 to B3 and B9 to
B11 were approved by unanimous acclaim and resolutions B4 to B8 were
approved by unanimous consent

13. Adjournment
Members congratulated Steve Lionel for successfully chairing his first
meeting as WG5 convenor.

The WG5 meeting adjourned at 12:50 on Friday, June 15, 2018.

...........................................................................

                          APPENDIX A
                   Open MP report by Bill Long

     The OpenMP committee would release a comment draft for the OpenMP
     5.0 specification (TR7) in early July, which would cover all the
     new features that would be in the final specification. They have
     been working on voting in final features and fixes to the
     specification in the last three months, in preparation of that
     draft. The final OpenMP 5.0 release was scheduled for November
     this year.

     Here is a list of the major new features since the last draft
     release:

     - What was called the "concurrent" construct in TR6 has been
       renamed to the "loop" construct. It works similar to "acc loop
       independent" in OpenACC. It may be used in place of a
       distribute, worksharing-loop, or simd construct, and allows an
       implementation more flexibility in parallelization since it
       implies that the iterations of the loop are
       independent. Related to this, an order(concurrent) clause was
       added to distribute, worksharing-loop, and simd constructs to
       give more flexibility to the implementation on parallelization
       of the associated loops.

     - Improved lambda support when executing code on a target device.

     - Allow some flavours of non-rectangular loops to be parallelized.

     - A scan directive was added to support inclusive/exclusive scan
       (prefix sum) computations in a parallelizable loop.

     - A modifier was added to the reduction clause to define task
       reductions.

     - Support "reverse offload" from a target device back to the host
       (e.g. to do I/O or other things that a target device may not
       support).

     - Permit the teams construct to be used outside of a target
       construct, on the host.

     - API routines for defining task dependence objects.

     - To allow external asynchronous activities to interact with
       OpenMP synchronization primitives, a clause was added to allow
       an OpenMP task to stay live (in a "detached" state) beyond the
       completion of its structured block. The clause accepts a
       pointer to an omp_event_t object, and an API routine was added
       to satisfy that event, permitting the task to complete (and any
       OpenMP synchronization constructs waiting on the task's
       completion).

     - Context-based selection of function variants or directive
       variants. A directive was added for declaring function variants
       for functions called in an OpenMP program. The compiler may
       replace the call to a function with a call to its variant if it
       appears in a specified enclosing context. A meta-directive was
       added for specifying different directive variants that may be
       selected from according to the enclosing context. Context may
       be defined according to the enclosing OpenMP constructs, traits
       for the current device, or other implementation-specific
       traits.

     - Non-contiguous array sections may now appear in a target update
       directive (e.g. update an array with a non-unit stride that
       resides in a target device). The array section syntax for C/C++
       was updated to support a triplet notation.

     - The base pointer used in an array section may now be shaped
       with a new "pointer shaping" syntax.

     - New memory allocator traits were added for pinned memory and
       for specifying fallback behavior in case an allocation can not
       be satisfied.

     - Derived type variables with allocable components can now appear
       in a map clause. Deep-copy semantic is implied.

...........................................................................

                          APPENDIX B

                  Flang report by Gary Klimowicz

       Flang is an open source compiler for Fortran, sponsored by the
       US Department of Energy (particularly, LLNL, Sandia and LANL).

       The goals of the project are to
       - Create a new, open source Fortran 2018 compiler with Apache 2.0
         licensing,
       - that can be used for language and parallelization
         experimentation,    
       - that exists as a peer in the LLVM community of languages,
         like Clang,
       - that can rely on LLVM code generation and parallelism support
         for CPUs and GPUs.

       The initial version of Flang is derived from the PGI Fortran
       compiler, with some proprietary features removed (OpenACC
       support, inter-procedure analysis). It was published on GitHub
       in May 2017 at github.com/flang-compiler, and consists of
       several subprojects (including the Flang driver and compiler
       itself, and changes to LLVM to be upstreamed). The current
       compiler supports Fortran 2003 and some Fortran 2008
       features. Improvements in the PGI compiler are added to Flang
       as they pass NVIDIA QA.

       Flang is available for Linux on x86-64, OpenPOWER and Arm
       processors, and is the basis of the Arm commercial Fortran
       compiler. Members of the community are also working on ports to
       Windows and Mac OS X.

       There are flang-dev and flang-announce mailing lists you can
       join for discussion of Flang at
       http://lists.flang-compiler.org/ and a Slack channel,
       http://flang-compiler.slack.com/ for more interactive
       communication with the Flang community.

       The Flang project team recognizes that the older code base used
       to seed Flang is not going to meet the long-term goals of the
       project, and NVIDIA has begun a new project to rewrite the
       Fortran front-end in C++ to better align with the LLVM and
       Clang communities and to better leverage the existing tools and
       techniques from these communities. This front-end is based on
       parser combinators. It can currently parse all of Fortran 2018
       as of the DIS, producing abstract syntax trees. We are
       currently working on declaration and type processing,
       expression evaluation for compile-time expressions, and OpenMP
       directive parsing.

       The source code for this compiler is available on
       GitHub. NVIDIA and the DOE will produce a webinar in late June
       or early July to walk through the repository, documentation and
       code structure.

       There is a biweekly half-hour conference call providing status
       updates on Flang, every other Wednesday at 8:30 AM Pacific time
       (the next is June 27, 2018). If you are interested in
       participating in these calls, please let Gary Klimowicz
       (gklimowicz at nvidia.com) know and he will forward the meeting
       invitation.

...........................................................................


More information about the J3 mailing list