From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by sourceware.org (Postfix) with ESMTPS id 9C83F3853D20 for ; Wed, 31 May 2023 12:23:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9C83F3853D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1685535783; x=1686140583; i=vehre@gmx.de; bh=M3AaaOntfdJwHCL/kCpF3lhKOvcXohJ+X2EjIP/u+zs=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:In-Reply-To:References; b=Na77fWq++0vhYZJD2+lCPDDMZTGwHMvz6U8xMu8zp7Ok6/vXZ1EFqoPAYLvY6c4xVy/0NiQ Qu0v6RMolR+kzzYmOtriHGDw7c/blqn091Y+6OQixrshD8V69bmyPWPcFFKGrFHARqavqrYjf UNrql97382Pe32Qk9/0vqcH4jN7Va8l75BbJAtbCsvnEf6A+g7rmnZGYfikNBKPnq5lxmcjfd O+fd6LJ+EaWZlZgHSQYv40LGrf3oD/btNGbzAAHLt68NBH6KJl0LFDNB3tM/4cSKpjr+9trh5 JPxkN62ra85BSrbx1O+l+wByuZC7cR93HviEgXtvvbwxeJWMabyg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from vepi2 ([62.155.204.128]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M8ygO-1pyGa83mUg-0068U3; Wed, 31 May 2023 14:23:03 +0200 Date: Wed, 31 May 2023 14:23:02 +0200 From: Andre Vehreschild To: Thomas Koenig Cc: Benson Muite , Jerry D , Mikael Morin , Paul Richard Thomas , GCC-Fortran-ML , Lexi Pimenidis Subject: Re: Possible funding of gfortran work Message-ID: <20230531142302.75ec742d@vepi2> In-Reply-To: <2f95809c-8f0b-7d75-ca62-aeee11c6bee0@netcologne.de> References: <4697f7be-ac3e-8c5d-f27c-3aec89b5b03f@protonmail.com> <0d923990-0b7a-a1ea-8389-bf3837e73ed0@gmail.com> <737bbf36-04a8-c1e4-b3aa-31121df66013@netcologne.de> <20230527132414.50184389@vepi2> <105c761a-5030-aee5-6587-2783a794f469@gmail.com> <20230530153242.54728d4d@vepi2> <2fa3240f-fbb8-23b6-2a10-24f9a415f729@netcologne.de> <5bde7c1f-3524-7f2e-fd48-a4b97734e2b9@emailplus.org> <2f95809c-8f0b-7d75-ca62-aeee11c6bee0@netcologne.de> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:TXKppkKbu36lNwdylLmJr53PXOCb2uFyxm2YxUrD18M0CWyDamt pHu/wyah7tizf9+leZB5sz5hwpo80BhV25OTKSBe9D1MTNaMTDk+rrl9GR/iiF+lPAco2BC QY9RluAC6C3waD4wzSX+EFMU1FeXzh7XyIO6DkgePEDYLCB8c9SOCs5fpHptaFynwYFk6y3 csYtxWiuGfjDdtxKWOSZQ== UI-OutboundReport: notjunk:1;M01:P0:zQi6zazwIOc=;fUJ8qnBQT56AgCsSKAVUnWagDLX ANJ5MtynLfO6fgzAjQx+Fk+nUsIM4K9f8YG4ktIyFjTvLGd0blc8+/vI/PWhD0uuFEOggyNGh fzclL7Bexu2WEk5s/9OdLYCPk/lFD6lr+I5ISHU7BOduFAThScpQZXrlAR3Lb+Ssdtw+qzjO7 GfvIv1YCbb8MdIKnpW2HKO/JbAvxctz2ShjEa6/4jEUsJohvVgwNAR8U81VB5PWZdfjDKNwYP CEo8+f5pD6ce83BYcATvzxYtD0hwSJwwALn03G6lju/kdfCg5fe/O8JkDFTvSh/qoj/c2BdcV A97bk9sxQ82qXajo5odoTPuW3KaBxDzrt2YC4wIUCP5kKOEzCeki1i1DRQRIp+FYdxGFLvvTg QYw629ZdpberIbWJnh9HWhWCXM+o64EUcVPJOQgTxb0sPTvFVqXtj7xxs6ZfW+c3c8jv620pR ak5COO3VS27X8rPbYylM9zpFy3Ur3SVIbjIRs9sP7ula4n5V/Y4ciJwA5SB+obrpotGjYROMn tOzN8hczV4yzhMMbHIFzDfe/idoXNoA4wYvH8N+dfM9ZRGTeVMrLjEqcxV9v7t27Qiibfglk7 ynbu6BSbXLr/dRd+HNrURLiigXWzFpLn+ZlUTtxuMWeEt6LnlSGp1ZNp5CvkJp+QXh26H8Zkb QB6pUxQTpTYE9KiNru3vWMXp+dBPoMflpxBheJDzRlppwmBS7yl7x+zE3vfe0y9NDdTPhy/86 5mU6ee36OLTO1DgBJwh1Z8wK8IM0UQt9Us39/NR1RZyKrX1Gi65BwbW1W8EGRDlNKKqCgypx5 uxnN/P5qByGvOSz2xsqLgPsJ70Ie+ZaFndzOvdPez0pf9eCbiroxTWqeJZ9ogfIX78HbA9cGb xTKb7FMEPNdVF1PGcZ/25RlejJB9kyqV0HZ5/nspbk8IJGUqHvUbXvQURCMFpo3HTdbxSV4qe 2qqtBA0KlEWeLiTZeaNmQHWvaZM= X-Spam-Status: No, score=2.6 required=5.0 tests=BAYES_05,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,KAM_SHORT,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,WINNER_SUBJECT autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi Thomas, I have revamp the proposal a bit more. Thank you for your input. I took so= me of it "as is", but I also rephrased some of it. I hope you are ok with that. = Here is what I have so far: =2D-- - Title: GFortran-Improvement - Abstract: Enable the free gfortran compiler to support contemporary language paradig= ms. - Dependencies (on the project as well as projects that depend on the technology; max 300 words) CP2K https://www.cp2k.org/ - 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. gfortran is the default Fortran compiler on many Linux systems, and lack o= f features and bugs in gfortran hinder adoption of more modern, safer and mo= re 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 som= e gfortran experienced developers to implement some of missing/incomplete features, that are too large to tackle for a single volunteer. Payed devel= opers are to contribute a significant part of the features. - Target of the projects in the sense of users (max 300 words) High-performance computing community, esp. but not limited to fluid and th= ermo dynamics, wheater forecasting - How was the project funded in the past (max 300 words) - Project goal (max 900 words!): * Fortran has a safe and intuitive method for parallel execution, coarrays. There is currently no complete and efficient implementation fo= r 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 structu= res provided modules that have not been compiled with coarray support (or ar= e distributed in binary form only). Research and prototypical implementati= on 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 in coarray 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 su= pport is rather basic and shall be made usable to a level where the most popul= ar calls work. * Enhance standard compliance from Fortran 2003 onwards. Esp. fixing finalization of partially derived types (PDTs) and issues in the associa= te command. * Ensure maintainability of gfortran by cleaning up/refactoring APIs inclu= ding 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? =2D-- The questions in there are more or less the questions that have to be answ= ered for the proposal. The following is still open: * I would be nice to have some more dependencies. * Estimates for Nicolas and Mikael work would be good. (You can do them al= so as private mail if you like). * Any polishing. Feel free to comment. - Andre On Wed, 31 May 2023 08:08:49 +0200 Thomas Koenig wrote: > On 31.05.23 05:46, Benson Muite wrote: > > On 5/30/23 23:08, Thomas Koenig via Fortran wrote: > > > >>> * Complete language intrinsic parallel programming paradigm coarray= s. > >>> This > >>> includes completing native coarray support (thread based). As > well as > >>> refactoring of the library based coarray approach to support > >>> coarrays in > >>> modules. I.e. research on how to support the use of coarrays in > >>> modules that > >>> are not aware of coarrays (not compiled with its support enable= d). > >> > > Is distributed memory support for co-arrays of interest as well? Ther= e > > is a lot of code that uses MPI (for which there is some push for usin= g > > more modern Fortran features), and there are also other libraries suc= h > > as GASPI. > > We already support OpenCoarrays via -fcoarray=3Dlib, which is MPI-based > (or at least can use MPI). I guess that OpenCoarrays could be modified > to use GASPI, but this would likely be a separate (if related) project. > > We would have to check about license requirements, though - I'm not sure > if the implementation of GASPI is free enough for the Soverereign Tech > Fund (at least Wikipedia claims it's "pay for commercial users", > which would be consistent with the business model of the Fraunhofer > Institutes.) > > > >> (There is Intel, which is dog-slow, and there is NAG, which costs > >> money). > > Is this also expected in Flang? See: > > > https://crd.lbl.gov/divisions/amcr/computer-science-amcr/class/research/= caffeine/ > > > https://crd.lbl.gov/divisions/amcr/computer-science-amcr/class/research/= caffeine/ > > Probably good to make a case for two open source compilers. > > We're concerned with gfortran here. A lot of work and money has gone > into flang that I sometimes think would have been better spent on > gfortran, then we would be in a better position overall today. > > But I am hoping that this initiative can cure at least part of that. > > >> Fortran remains one of the premier language for science, especially = for > >> high-performance computing and fields like quantum chemistry or > >> computational fluid dynamics. > >> > >> gfortran is the default Fortran compiler on Linux systems, and lack = of > >> features and bugs in in gfortran hinder adoption of more modern, saf= er > >> 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. Funding will motivate experienced > >> gfortran developers who have reduced their contributions to return > >> to the project and advance it substantially. > >> > >> > > Any possibilities for new contributors to participate? > > We should avoid bringing people in who spend all the money just > familiarizing themselves with the compiler, producing no useful > output in the end. > > I think that contributors should have demonstrated that they are > capable of working productively with gfortran, and the best way > to demonstrate that is to already have a track record of accepted > patches (preferably gfortran, but also gcc in general). That does not > mean that this track record needs to be years or decades old, but it > should exist. > > Also, people recommended by a current contributor should be able > to participate; but we should probably discuss people who apply > on a case-by-case basis. > > (The above is my personal opinion, please discuss if anybody has > a different opinion). > > Best regards > > Thomas =2D- Andre Vehreschild * Email: vehre ad gmx dot de