[flang-dev] Flang Biweekly Sync - Notes from the May 27, 2020 call

Bryan Chan via flang-dev flang-dev at lists.llvm.org
Fri May 29 12:12:45 PDT 2020


> I'm working on some build scripts that Would be of general use in Flang.
> Once I have those validated and running in our Jenkins environment here,
> we will be steadily streaming changes back into current Flang. I'll be
> documenting the process on the wiki as well.

Great, I'm looking forward to any new development and bug fix in classic
Flang! :-)

> The community would definitely be interested in this. I believe there
> are changes to flang-compiler/flang-driver and flang-compiler/llvm that
> might need to be pulled forward as well. Are you referring to that? Or
> pull requests into flang itself for LLVM 10?

I was referring to porting the flang-compiler/flang-driver and
flang-compiler/llvm patches to LLVM 10; some changes were needed to make
everything work. IIRC flang-compiler/flang itself didn't need a lot of
changes.

If the Flang team is interested in moving towards LLVM 10 and monorepo,
I am happy to clean up my fork and post it on GitHub for review.

- Bryan

From: Gary Klimowicz [mailto:gklimowicz at nvidia.com]
Sent: Friday, May 29, 2020 3:00 PM
To: Bryan Chan <bryan.chan at huawei.com>
Cc: flang-dev on LLVM <flang-dev at lists.llvm.org>
Subject: RE: [flang-dev] Flang Biweekly Sync - Notes from the May 27, 2020 call


> From: flang-dev <flang-dev-bounces at lists.llvm.org<mailto:flang-dev-bounces at lists.llvm.org>> On Behalf Of Bryan Chan via flang-dev
> Subject: Re: [flang-dev] Flang Biweekly Sync - Notes from the May 27, 2020 call

> > We pushed one pull requests to the stage branch. Continuing to work on a
> > process for proposals, testing, approvals and merge.
> > [...]
> > Nick Romero asked about any upcoming binary release. None has been done
> > recently. It hasn't seemed like a priority from the community. NVIDIA can
> > do one at any time.

> What is the latest status on the process for proposals, testing, approvals
> and merge? Huawei is interested in an updated release of classic Flang,
> preferably one based on LLVM 10, and would like to help if possible.

I'm working on some build scripts that Would be of general use in Flang.
Once I have those validated and running in our Jenkins environment here,
we will be steadily streaming changes back into current Flang. I'll be
documenting the process on the wiki as well.

I believe the folks at Arm have made sure that classic flang is up to date
with LLVM 9.

> Has anyone worked on porting classic Flang to LLVM 10? I have ported the
> patches to LLVM 10, and I am wondering if it is something that the community
> would be interested in. However, I can't just submit a pull request as there
> currently isn't a monorepo-based repo for classic Flang.

The community would definitely be interested in this. I believe there are changes
to flang-compiler/flang-driver and flang-compiler/llvm that might need to be pulled
forward as well. Are you referring to that? Or pull requests into flang itself for LLVM 10?

Let me know if you have other questions.

Thanks!

Gary

From: flang-dev [mailto:flang-dev-bounces at lists.llvm.org] On Behalf Of Gary Klimowicz via flang-dev
Sent: Wednesday, May 27, 2020 5:12 PM
To: flang-dev on LLVM <flang-dev at lists.llvm.org<mailto:flang-dev at lists.llvm.org>>
Cc: Greg Branch <gbranch at nvidia.com<mailto:gbranch at nvidia.com>>; Kim Mish <kdmish at sandia.gov<mailto:kdmish at sandia.gov>>; Rob Neely <neely4 at llnl.gov<mailto:neely4 at llnl.gov>>; Vicki Little <vlittle at nvidia.com<mailto:vlittle at nvidia.com>>; Douglas Miles <dmiles at nvidia.com<mailto:dmiles at nvidia.com>>
Subject: [flang-dev] Flang Biweekly Sync - Notes from the May 27, 2020 call

Flang team,

Here are the notes from the May 27th, 2020 Flang biweekly call.

There will be a special Flang LLVM technical call on alias analysis Thursday, May 28th at 7:00 AM Pacific time.

The next Flang Technical Community will be Monday, June 1st, 8:30 AM Pacific time.

The next Flang biweekly call will be Wednesday, June 10th, 2020 at 8:30 AM Pacific time.

Information for joining these calls and the Slack channel is at the end of this email.

Let me know if you have any topics you would like covered in the next call.

Thank you.

Gary Klimowicz


Agenda

  *   Follow-on meeting to discuss LLVM alias analysis tomorrow
  *   International Fortran Conference
  *   LLVM Flang development update

Highlights


  *   Alias analysis teleconference

     *   The follow-on call for LLVM alias analysis is Thursday, May 28th at 7:00 AM PDT. The goal is to get ideas on interim next steps and longer-term items.
     *   Meeting URL: https://bluejeans.com/643493129?src=join_info
     *   Tarique Islam of IBM recommends some resources to review before the call. These are listed below.


  *   International Fortran Conference

     *   Ondřej Čertík (LFortran) and NVIDIA (Flang) have submitted abstracts.
     *   Deadline for abstracts is June 1.


  *   LLVM Flang update

     *   Arm stood up a flang buildbot for Arm AArch64 at lab.llvm.org - see http://lab.llvm.org:8011/builders/flang-aarch64-ubuntu. They plan to add another.
     *   NERSC and ANL are working to set up buildbots as well.
     *   Arm's submission regarding OpenMP IR will be submitted to LLVM soon.
     *   Patch submitted for throwaway driver to handle libraries better.
     *   Flang/clang LLVM driver refactoring work continues; working on an RFC to describe refactoring to llvm/Frontend.
     *   New implementation for constraints Clause 7 (Type) C741-C750 reviewed and merged.
     *   Continued work on lowering for I/O statement branching and loops in I/O data lists.
     *   Refactoring callee/caller interface lowering into a single utility based on Fortran subprogram characteristics.
     *   Implemented most of the lowering for DATA statements. Worked on compiling all DATA statement initializations for each symbol and converting to a single initialization constant for lowering. Still work to do on pointer initialization and equivalenced variables.
     *   Worked on runtime support for allocatables and finalization.



  *   Original Flang Dev news and updates

     *   We've pushed a simple change to the stage branch of flang.
     *   Is a binary release planned? None has been done recently, but it hasn't seemed like a priority from the community.


  *   Flang Community Technical Biweekly Call

     *   The last call was Monday, May 18th. We discussed the current status of flang and some places where people can look to contribute.
     *   The next technical call is scheduled for June 1. Craig Rasmussen and Kate Rasmussen will discuss experience with source-to-source translation using flang.
     *   Hal Finkel encourages people to add both small and large technical topics to the Google Doc for the technical call. The link to the Google Doc can be found in the notes below.


Details (Updates below are in bold)

1.       Flang on GitHub
*         F18 has moved to https://github.com/llvm/llvm-project/tree/master/flang.
*         There have been 2378 commits for flang encompassing over 141,000 lines of code, documentation, CMakefiles and tests.
*         There have been 1,676 total commits to github.com/flang-compiler/flang (no change since the previous update).
*         There are 528 people who have "starred" that flang repo and 78 forks.

2.       Flang Community Technical Call (Hosted by Hal Finkel)

  *   The last call was May 18, 8:30 AM PT.

     *   We discussed current status of the project and places where others can contribute tests and tools.


  *   The next call will be Monday, June 1, 8:30 AM PT.

     *   Next call: Source-to-source translation (June 1, Craig Rasmussen and Kate Rasmussen; they have been looking at flang for Fortran source-to-source translation. This is in conjunction with the work to do semantic analysis and support of coarrays).


  *   Alias Analysis call Thursday May 28th at 7:00 AM PT.
Meeting URL: https://bluejeans.com/643493129?src=join_info.
Recommended resources from Tarique Islam at IBM include the following:

     *   LLVM codebase for Metadata operations and discuss about the technical details related to the scalability. In that case, we can start with the following.
    ./llvm/include/llvm/IR/Metadata.h
   ./llvm/lib/IR/Metadata.cpp
   ./llvm/lib/Analysis/ScopedNoAliasAA.cpp
     *   Regarding the hierarchical representation, we can start with your patch for scoped-noalias metadata: https://github.com/llvm/llvm-project/commit/9414665a3b0bd525f84d76e24048ca60ebe6c7101.
     *   (IBM) Represent Fortran alias information in LLVM IR - http://lists.llvm.org/pipermail/llvm-dev/2020-April/140945.html
     *   (Jeroen et al.) RFC: Full 'restrict' support in LLVM - https://lists.llvm.org/pipermail/llvm-dev/2019-October/135672.html


  *   Future Topics and tentative dates:

     *   Build times for the compiler.
     *   Please feel free to add agenda topics to the Google Doc: https://docs.google.com/document/d/1Z2U5UAtJ-Dag5wlMaLaW1KRmNgENNAYynJqLW2j2AZQ/

3.       Flang community

  *   Website: www.flang-compiler.org<http://www.flang-compiler.org> redirects to http://github.com/flang-compiler/flang.
  *   Wiki: https://github.com/flang-compiler/flang/wiki is the Flang wiki page where the most up-to-date build instructions and news can be found.


  *   Issues:

     *   Bug reports for LLVM flang should be reported in Bugzilla: https://bugs.llvm.org/. Use the "flang" tag for flang-related issues, please.
     *   Bug reports for current Flang can be reported to https://github.com/flang-compiler/flang/issues.


  *   LLVM mailing lists: There are now two mailing lists hosted by llvm.org:

     *   The flang-dev mailing list has been set up. Subscribe at https://lists.llvm.org/cgi-bin/mailman/listinfo/flang-dev. These biweekly notes are now sent to this email list.
     *   The flang-commits mailing list has been set up. Subscribe at https://lists.llvm.org/cgi-bin/mailman/listinfo/flang-commits.


  *   Slack: flang-compiler.slack.com is used for informal real-time communication in the Flang community. The invitation link can be found at the end of this email.


  *   International Fortran Conference

     *   FortranCon 2020 is the first International Conference targeting the development for and with the Fortran programming language and will take place on July 2 - 4 in Zurich, Switzerland.
     *   Virtual participation has always been part of their plan for the conference.
     *   The web site is at https://tcevents.chem.uzh.ch/event/12/.
     *   NVIDIA submitted an abstract for a talk on the status of Flang.
     *   Ondřej Čertík submitted an abstract for "LFortran: Interactive LLVM-based Fortran Compiler for Modern Architectures".
     *   The submission deadline for abstracts is June 1.

4.       What we're up to with the llvm-project/flang Fortran 2018 compiler
o    On GitHub: The source code LLVM Flang is available on https://github.com/llvm/llvm-project/tree/master/flang. It's recommended to start in the "documentation" directory.

o    Public plan: The team maintains a plan for upcoming Flang work at https://github.com/orgs/flang-compiler/projects/. This reflects current LLVM Flang priorities and context for the project and its long-term goals.

o    Status: We continue development. Recent work includes:

        *   Arm stood up a flang buildbot for Arm AArch64 at lab.llvm.org - see http://lab.llvm.org:8011/builders/flang-aarch64-ubuntu. They plan to add another.
        *   NERSC and Argonne National Lab are working to set up buildbots as well. They face administrative issues mostly. Pat McCormick mentioned that LANL is also working on this, so they all should strategize on how to get this done.
*         Andzrej Warzynski and Carol Concatto continue to work on the flang driver. They are working on an RFC to describe refactoring into llvm/Frontend. This feels like it's still a couple months away from completion.
*         Camille Coti at the University of Oregon submitted a patch to get the current throwaway driver to handle libraries better.
*         Continued work on semantic checking for TYPE (F2018 Clause 7). New implementation for constraints C741-C750 reviewed and merged.
*         Continued work on lowering for I/O statement branching and loops in I/O data lists.
*         Refactoring callee/caller interface lowering into a single utility based on Fortran subprogram characteristics.
*         Implemented most of the lowering for DATA statements. Worked on compiling all DATA statement initializations for each symbol and converting to a single initialization constant for lowering. Still work to do on pointer initialization and equivalenced variables.
*         Worked on runtime support for allocatables and finalization.
*         Continued work on MLIR and FIR; more to come. We continue to balance the size of the commits against the fairly large amount of code that needs to be merged. We continue to follow the plan outlined in flang-dev http://lists.llvm.org/pipermail/flang-dev/2020-January/000162.html.


5.       What we're up to with current Flang

     *   We pushed one pull requests to the stage branch. Continuing to work on a process for proposals, testing, approvals and merge.
     *   We are using the Slack channel #classic-flang-pull-requests to coordinate among the contributors.
     *   Recent fixes pushed to Flang stage

        *   #875<https://github.com/flang-compiler/flang/pull/875> Spelling fixes (a simple change)

     *   Recent fixes pushed to Flang master

        *   None

     *   Outstanding pull requests: https://github.com/flang-compiler/flang/pulls for the current list of pull requests.

     *   Outstanding issues: Please refer to the Issues section on GitHub for flang-compiler/flang<https://github.com/flang-compiler/flang/issues> and flang-compiler/flang-driver<https://github.com/flang-compiler/clang/issues>.



  *   OpenMP 4.5 support:
o    No update. OpenMP effort is now directed toward LLVM Flang.


  *   Debug Metadata:

     *   The outstanding review at https://reviews.llvm.org/D54114 [CHARACTER intrinsic data type] is stale and has been canceled. It will be replaced when there is an appropriate update for LLVM Flang.


  *   Packaging and Binary Releases:
o    Spack: Spack packages for Flang have been updated. There is also a spack package for f18, based on the flang-compiler/f18 repository.
o    Nick Romero asked about any upcoming binary release. None has been done recently. It hasn't seemed like a priority from the community. NVIDIA can do one at any time.


  *   Current Flang Fortran 2008 features
Current status of Fortran 2008 features can be found at https://github.com/flang-compiler/flang/wiki/Fortran-2008.


6.       Logistics
Flang Community Biweekly Call
*         General updates on the Flang project, both LLVM Flang and current Flang.
*         Biweekly WebEx hosted by NVIDIA (which these notes cover).
*         The meeting link for this biweekly call is https://nvmeet.webex.com/nvmeet/j.php?MTID=mb4edb8c799f69ec2dc0554acc969a162.

Note: If you are having difficulty connecting your audio, try using the "Call Me" option on WebEx to connect audio to your telephone.


Flang Community Technical Biweekly Call
*         Technical topics call.
*         Hal Finkel hosts this call on Bluejeans<https://bluejeans.com/625064848>, Mondays 8:30 Pacific Time, on the weeks alternating with regular Flang biweekly call. The notes for all these calls can be found in Google Docs here<https://docs.google.com/document/d/1Z2U5UAtJ-Dag5wlMaLaW1KRmNgENNAYynJqLW2j2AZQ/>.
Meeting URL: https://bluejeans.com/625064848?src=join_info
Meeting ID: 625 064 848
Want to dial in from a phone? Dial one of the following numbers:
+1.408.317.9254 (US (San Jose))
+1.866.226.4650 (US Toll Free)
(see all numbers - https://www.bluejeans.com/premium-numbers)
Enter the meeting ID and passcode followed by #
Connecting from a room system?
Dial: bjn.vc or 199.48.152.152 and enter your meeting ID & passcode

Flang Slack Channel
*         There is a Slack channel dedicated to Flang.
*         Add yourself via the invitation link https://join.slack.com/t/flang-compiler/shared_invite/zt-2pcn51lh-VrRQL_YUOkxA_1CEfMGQhw

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/flang-dev/attachments/20200529/d6968940/attachment-0001.html>


More information about the flang-dev mailing list