public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
From: Benson Muite <benson_muite@emailplus.org>
To: Andre Vehreschild <vehre@gmx.de>,
	Damian Rouson <damian@archaeologic.codes>
Cc: Thomas Koenig <tkoenig@netcologne.de>,
	Jerry D <jvdelisle2@gmail.com>,
	Mikael Morin <morin-mikael@orange.fr>,
	Paul Richard Thomas <paul.richard.thomas@gmail.com>,
	GCC-Fortran-ML <fortran@gcc.gnu.org>,
	Lexi Pimenidis <lexi@badgersystems.de>
Subject: Re: Possible funding of gfortran work
Date: Thu, 1 Jun 2023 14:12:30 +0300	[thread overview]
Message-ID: <82fbd0b2-41d9-c2b7-1655-816d5681c7c4@emailplus.org> (raw)
In-Reply-To: <20230601111808.5ed7a9e3@vepi2>

On 6/1/23 12:18, Andre Vehreschild wrote:
> Hi Damian, all,
> 
> thank you for your input. I have incorporated most of it. Due to Germany
> stepping out of nuclear use, I have reduced the cites on these to a minimum. I
> don't know anything about the people evaluating the proposal and don't want to
> be rejected just because of ideological reasons. Here is the proposal so far.
> Has any one a good url for the FAST project?
> 
> ---
> - Title:
> 
> GFortran-Improvement
> 
> - Abstract:
> 
> Enable the free gfortran compiler to support contemporary language paradigms.
> 
> - Dependencies (on the project as well as projects that depend on the
>   technology; max 300 words)
> 
> Exemplarily these codes make use of language paradigms or want to, but can not
> due to lack of support in gfortran:
> 
> CP2K: https://www.cp2k.org/ -- Quantum chemistry and solid state physics
> ICAR: https://github.com/ncar/icar -- Simplified atmospheric model
> FEATS: https://github.com/sourceryinstitute/feats -- Asynchronous task
> scheduling framework FAVOR:
> https://www.nrc.gov/reading-rm/doc-collections/nuregs/staff/sr1795/index.html
> -- Reactor security NWChem: https://www.nwchem-sw.org/ -- Computational
> chemistry software FUN3D: https://fun3d.larc.nasa.gov/ -- Computational fluid
> dynamics software from NASA MSC NASTRAN:
> https://simulatemore.mscsoftware.com/category/products/msc-nastran/ --
> Structural engineering software from MSC Software WRF:
> https://www.mmm.ucar.edu/models/wrf -- Weather forecasting software from NCAR
> FAST: ??? -- Nuclear fuel performance software from the U.S. Nuclear Regulatory
> Commission (NRC)
> 
Maybe add Quantum Espresso:
https://www.quantum-espresso.org/

R and Octave may also be good examples of use cases.
> Some references:
> 
> Mozdzynski, G., Hamrud, M., & Wedi, N. (2015) A Partitioned Global Address
> Space implementation of the European Centre for Medium Range Weather
> Forecasts Integrated Forecasting System. International Journal of High
> Performance Computing Applications.
> 
> Garain, S., Balsara, D. S., & Reid, J. (2015) Comparing Coarray Fortran
> (CAF) with MPI for several structured mesh PDE applications. Journal of
> Computational Physics.
> 
> Preissl, R., Wichmann, N., Long, B., Shalf, J., Ethier, S., & Koniges, A.
> (2011) Multithreaded global address space communication techniques for
> gyrokinetic fusion applications on ultra-scale platforms. In Proceedings of
> 2011 International Conference for High Performance Computing, Networking,
> Storage and Analysis (p. 78). ACM.
> 
> - Why is it critical to fund this project (300 words max)?
> 
> Fortran remains one of the premier language for science, especially for
> high-performance computing and fields like quantum chemistry or
> computational fluid dynamics.
Perhaps computational chemistry rather than just quantum chemistry.
> 
> gfortran is the default Fortran compiler on many Linux systems, and lack of
> features and bugs in gfortran hinder adoption of more modern, safer and more
> efficient language features. The project has been almost entirely
> volunteer-driven so far, but is currently suffering from a lack of active
> developers for larger features. Funding will enable the project to pay some
> gfortran experienced developers to implement some of the missing/incomplete
> features, that are too large to tackle for a single volunteer. Payed developers
> are to contribute a significant part of the features.
> 
> - Target of the projects in the sense of users (max 300 words)
> 
> This project targets the high-performance computing community, esp. but not
> limited to fluid and thermo dynamics, wheater forecasting and climate models.
wheater->weather
add computational chemistry as well
> Most if not all of those are Fortran codes. Maintaining them using explicit
> parallelism is tedious and deviates from the domain to address. Other users are
> aerospace, e.g. NASA or SpaceX, as well as aircraft and automotive
> manufacturers.
> 
Would expect for aerospace and automotive industry, it would mostly be
for in house codes. Maybe someone for DLR may have input on this?
Having end industry users involved in actively evaluating may be helpful
in sustaining future improvements since they may be willing to support
developer time.
> - How was the project funded in the past (max 300 words)
> 
> Foundational work on the coarray implementation was funded by Sourcery
> Institute. Small extensions and selected bug fixes have been donated by
> companies having a minor impact only. Most of the work was done on a
> voluntary basis.
> 
Some gfortran work has been done as company sponsored in that
individuals using the compiler needed it for company work and could work
on the compiler on company time.  If a large proportion is voluntary and
companies only sponsor small extensions and bug fixes, one might assume
that if the funding is given, once it is finished, the chances of
further work will be very limited.  Maybe one can tie into the GNU
compiler collection as well, emphasizing the longevity of the project
and usefulness of the funding in adding additional capabilities and
cleaning up code contributions. Then indicate that new parts that this
proposal addresses have primarily been voluntary because they are not
yet ready for production use, and this project would make them ready for
production use so that in future maintenance efforts can be made by the
community (both voluntary and sponsored).
> - Project goal (max 900 words!):
> 
> * Fortran has a safe and intuitive method for parallel execution,
>   coarrays. There is currently no complete and efficient implementation for
>   multi-core CPUs on a freely available compiler. The goal is to bring
>   the existing, process-based shared memory implementation on a branch
>   into gfortran mainline as a feature for further evaluation and hardening.
> 
> * GFortran's coarrays for distributed memory lack support for data structures
>   provided by modules that have not been compiled with coarray support (or are
>   distributed in binary form only). Research and prototypical implementation
>   in gfortran and the OpenCoarrays library shall be conducted with the goal to
>   find a general and well performing solution. This could become an outstanding
>   feature for a free compiler.
> 
> * Enhance the support for teams and failed images in coarrays to a level where
>   it gets usable. Teams in coarrays allow for grouping workers logically. These
>   then can colaborate without interference or the user needing to take care.
>   The support is rather basic and shall be made usable to a level where the
>   most popular calls work. The failed images concept allows a program to react
>   on one of its processes failing without terminating the program. The present
>   support shall be extended to enable the restart of the process instead of
>   just reporting the fail and then having to quit anyway as it is currently.
> 
> * Enhance standard compliance from Fortran 2003 onwards. Esp. fixing
>   finalization of partially derived types (PDTs) and issues in the associate
>   command.
> 
> * Ensure maintainability of gfortran by cleaning up/refactoring APIs including
>   the scalarizer. Improve the single responsibility pattern's (SRP) use by,
>   e.g., ensuring the parser does no longer parts of the resolve stage. The goal
>   is not only to separate responsibilities but also to get clearer error
>   messages and with that improve user-friendliness.
> 
> - How many FTEs are you requesting?
> 
> - What is the amount of funding you are requesting, approximately?
> 
> - In what timeframe will you perform the activities?
> 
> - Who (maintainer, contributor, organization) would be most qualified to
>   implement this work/receive the support and why?
> ---
> 
> Any input welcome.
> 
> Regards,
> 	Andre
> --
> Andre Vehreschild * Email: vehre ad gmx dot de


  parent reply	other threads:[~2023-06-01 11:12 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-26  4:34 Jerry DeLisle
2023-05-26 17:09 ` Bernhard Reutner-Fischer
2023-05-26 21:22 ` Jerry D
2023-05-27  8:08   ` Thomas Koenig
2023-05-27 11:24     ` Andre Vehreschild
2023-05-27 16:19       ` Paul Richard Thomas
2023-05-28 14:26         ` Nicolas König
2023-05-28 15:07         ` Thomas Koenig
2023-05-28 19:25         ` Mikael Morin
2023-05-28 20:53           ` Jerry D
2023-05-30 13:32             ` Andre Vehreschild
2023-05-30 20:08               ` Thomas Koenig
2023-05-31  3:46                 ` Benson Muite
2023-05-31  6:08                   ` Thomas Koenig
2023-05-31  8:42                     ` Benson Muite
2023-05-31 12:23                     ` Andre Vehreschild
2023-05-31 14:08                       ` Damian Rouson
2023-06-01  9:18                         ` Andre Vehreschild
2023-06-01 10:56                           ` Bernhard Reutner-Fischer
2023-06-01 10:59                           ` Mikael Morin
2023-06-04  8:23                             ` Thomas Koenig
2023-06-05  8:08                             ` Andre Vehreschild
2023-06-05 11:44                               ` Mikael Morin
2023-06-06 13:06                                 ` Andre Vehreschild
2023-06-08 12:38                                   ` Mikael Morin
2023-06-14  8:28                                     ` Andre Vehreschild
2023-06-14  9:40                                       ` Mikael Morin
2023-06-14 18:48                                         ` Bernhard Reutner-Fischer
2023-06-01 11:12                           ` Benson Muite [this message]
2023-06-04  7:49                             ` Thomas Koenig
2023-06-05 10:12                               ` Andre Vehreschild
2023-06-05 10:07                             ` Andre Vehreschild
2023-06-05 12:16                               ` Thomas Koenig
2023-06-05 12:21                                 ` Andre Vehreschild
2023-06-08  5:34                               ` Benson Muite
2023-06-14  8:00                                 ` Andre Vehreschild
2023-06-02  0:53                           ` Jerry D
2023-06-05 10:09                             ` Andre Vehreschild

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=82fbd0b2-41d9-c2b7-1655-816d5681c7c4@emailplus.org \
    --to=benson_muite@emailplus.org \
    --cc=damian@archaeologic.codes \
    --cc=fortran@gcc.gnu.org \
    --cc=jvdelisle2@gmail.com \
    --cc=lexi@badgersystems.de \
    --cc=morin-mikael@orange.fr \
    --cc=paul.richard.thomas@gmail.com \
    --cc=tkoenig@netcologne.de \
    --cc=vehre@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).