Prashanth N R via llvm-dev
2020-Feb-17 17:19 UTC
[llvm-dev] FC : A MLIR+LLVM based Fortran front end
Hi Petr- 1. We compile SPEC benchmarks bwaves and xchange currently. We are close to compiling fotonik at this point. 2. We released the source as experimental for the community to take a look. Soon we will open source the entire history of development(we are working on the script to upload the history). thanks, -Prashanth On Mon, Feb 10, 2020 at 4:20 AM Petr Penzin via llvm-dev < llvm-dev at lists.llvm.org> wrote:> > *FC* > https://github.com/compiler-tree-technologies/fc > Not related to any of the above, but seems to be in some ways similar to > Clang/(old)Flang/Fort. Recursive descent parser; emits MLIR. Does not use > tablegen, has a different way of throwing errors, has no builtin > diagnostics, also no driver. Project has only seven commits to this date. > Not clear on the Fortran standard support (has flags to support f77 and > f95), the claim that it can compile a couple of larger application from > SPEC, but I can't find which ones. > > > On 1/13/20 9:02 AM, James Y Knight via llvm-dev wrote: > > Neat, another fortran compiler option. > > Does anyone have a list/comparison of all the LLVM fortran compilers? I'm > not really tracking this, since Fortran isn't really my area of expertise, > but I've seen the following. Perhaps there are even more? > > "Flang". The original of the name, I think? Abandoned. > https://github.com/llvm-flang/flang > "Fort" -- fork of the above flang, renamed. Seems active. > https://github.com/llvm-fortran/fort/ > > "Flag". Different from the other "flang". Active, but deprecated in favor > of f18. > https://github.com/flang-compiler/flang > "f18". Rewrite-from-scratch (?) of adjacent "flang". Active, but not > fully-functional yet (I think?). > https://github.com/flang-compiler/f18 > > "FC". Newly-developed, independent of the other compilers. Active. (But > this source-code dates from the previous announcement, not yet updated with > latest developments): > https://github.com/compiler-tree-technologies/fc > > I don't know how any of these compare with each other, nor why we have so > many. I have no opinion on which or whether any of these should be > "blessed", nor do I really want to become educated enough on this topic to > gain such an opinion personally. > > But, given that there appear to be at least 3 fortran compilers under > active development by different people, I would love to be reassured that > such a comparison has been done, and that we are selecting one of them for > good reasons. It'd be great if someone (or multiple someones) could post a > summary/comparison of what these things all are, and why one is the right > path forward vs another. > > On Mon, Jan 13, 2020 at 2:46 AM Prashanth N R via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hi Chris- >> We are mostly cleaning up the code for open sourcing. Early code drop >> will happen in a day or two and will continue through this week. We would >> love to work with the rest of the community on this. >> >> thanks, >> -Prashanth >> >> On Mon, Jan 13, 2020 at 11:17 AM Chris Lattner <clattner at nondot.org> >> wrote: >> >>> Agreed! Is the code already available? What are your plans for it, and >>> are you interested in collaboration with the rest of the LLVM community? >>> >>> -Chris >>> >>> On Jan 11, 2020, at 11:58 AM, Finkel, Hal J. via llvm-dev < >>> llvm-dev at lists.llvm.org> wrote: >>> >>> Hi, Prashanth, >>> >>> That's great news! It sounds like you've made a lot of progress, and I >>> certainly hope that you can make your source available under the LLVM >>> license and that we can all work together going forward. >>> >>> -Hal >>> On 1/11/20 12:52 PM, Prashanth N R via llvm-dev wrote: >>> >>> Hi- >>> >>> In August we made an announcement of "FC: A new fortran front end" >>> [1]. At that time to get an end-to-end solution, we made FC to emit LLVM IR >>> directly. At present, we have upgraded FC to emit MLIR. Currently the >>> language supported is close to Fortran-95. Apart from 400+ unit test cases, >>> out framework passes two SPEC-2017 benchmarks successfully. Currently we >>> are cleaning up the code and plan to open source the same in a week or so. >>> >>> Apart from the front end changes, we have defined a new high level >>> dialect in MLIR for representing Fortran. We have defined a new Loop Nest >>> Optimization framework along with one Loop Nest Optimization in it for the >>> time being. Also we have supported 4 OpenMP constructs and way to express >>> the same in MLIR framework. >>> >>> Entire code is in the spirit of LLVM. If the community is interested, we >>> would like to work with the community and move forward. >>> >>> thanks, >>> -Prashanth >>> >>> PS: We did try to use F18 for a while and hit the issues raised in [2], >>> [3]. >>> >>> 1. http://lists.llvm.org/pipermail/llvm-dev/2019-August/134620.html >>> 2. http://lists.llvm.org/pipermail/llvm-dev/2020-January/138069.html >>> 3. >>> http://lists.llvm.org/pipermail/flang-dev/attachments/20191202/6e7c1e51/attachment-0001.pdf >>> OR http://lists.llvm.org/pipermail/flang-dev/2019-December/000089.html >>> >>> >>> _______________________________________________ >>> LLVM Developers mailing listllvm-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>> >>> -- >>> Hal Finkel >>> Lead, Compiler Technology and Programming Languages >>> Leadership Computing Facility >>> Argonne National Laboratory >>> >>> _______________________________________________ >>> LLVM Developers mailing list >>> llvm-dev at lists.llvm.org >>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>> >>> >>> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> > > _______________________________________________ > LLVM Developers mailing listllvm-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200217/2f2c9ff7/attachment.html>
Petr Penzin via llvm-dev
2020-Feb-20 06:27 UTC
[llvm-dev] FC : A MLIR+LLVM based Fortran front end
Hi Prashanth, Do those benchmarks run? They seem to be relatively short (bwaves [1], exchange [2]), but if the runs verify correctly that would be pretty good. Do you plan on supporting any of the Fortran 2003 features? -Petr [1]: https://www.spec.org/cpu2017/Docs/runcpu-avoidance.html#pickone [2]: https://www2.hawaii.edu/~nreed/ics606/papers/Metcalf06Sudoku.pdf On 2/17/20 9:19 AM, Prashanth N R wrote:> Hi Petr- > > 1. We compile SPEC benchmarks bwaves and xchange currently. We are > close to compiling fotonik at this point. > 2. We released the source as experimental for the community to take a > look. Soon we will open source the entire history of development(we > are working on the script to upload the history). > > thanks, > -Prashanth > > On Mon, Feb 10, 2020 at 4:20 AM Petr Penzin via llvm-dev > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > > > *FC* > https://github.com/compiler-tree-technologies/fc > Not related to any of the above, but seems to be in some ways > similar to Clang/(old)Flang/Fort. Recursive descent parser; emits > MLIR. Does not use tablegen, has a different way of throwing > errors, has no builtin diagnostics, also no driver. Project has > only seven commits to this date. Not clear on the Fortran standard > support (has flags to support f77 and f95), the claim that it can > compile a couple of larger application from SPEC, but I can't find > which ones. > > > On 1/13/20 9:02 AM, James Y Knight via llvm-dev wrote: >> Neat, another fortran compiler option. >> >> Does anyone have a list/comparison of all the LLVM fortran >> compilers? I'm not really tracking this, since Fortran isn't >> really my area of expertise, but I've seen the following. Perhaps >> there are even more? >> >> "Flang". The original of the name, I think? Abandoned. >> https://github.com/llvm-flang/flang >> "Fort" -- fork of the above flang, renamed. Seems active. >> https://github.com/llvm-fortran/fort/ >> >> "Flag". Different from the other "flang". Active, but deprecated >> in favor of f18. >> https://github.com/flang-compiler/flang >> "f18". Rewrite-from-scratch (?) of adjacent "flang". Active, but >> not fully-functional yet (I think?). >> https://github.com/flang-compiler/f18 >> >> "FC". Newly-developed, independent of the other compilers. >> Active. (But this source-code dates from the previous >> announcement, not yet updated with latest developments): >> https://github.com/compiler-tree-technologies/fc >> >> I don't know how any of these compare with each other, nor why we >> have so many. I have no opinion on which or whether any of these >> should be "blessed", nor do I really want to become educated >> enough on this topic to gain such an opinion personally. >> >> But, given that there appear to be at least 3 fortran compilers >> under active development by different people, I would love to be >> reassured that such a comparison has been done, and that we are >> selecting one of them for good reasons. It'd be great if someone >> (or multiple someones) could post a summary/comparison of what >> these things all are, and why one is the right path forward vs >> another. >> >> On Mon, Jan 13, 2020 at 2:46 AM Prashanth N R via llvm-dev >> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: >> >> Hi Chris- >> We are mostly cleaning up the code for open sourcing. Early >> code drop will happen in a day or two and will continue >> through this week. We would love to work with the rest of the >> community on this. >> >> thanks, >> -Prashanth >> >> On Mon, Jan 13, 2020 at 11:17 AM Chris Lattner >> <clattner at nondot.org <mailto:clattner at nondot.org>> wrote: >> >> Agreed! Is the code already available? What are your >> plans for it, and are you interested in collaboration >> with the rest of the LLVM community? >> >> -Chris >> >>> On Jan 11, 2020, at 11:58 AM, Finkel, Hal J. via >>> llvm-dev <llvm-dev at lists.llvm.org >>> <mailto:llvm-dev at lists.llvm.org>> wrote: >>> >>> Hi, Prashanth, >>> >>> That's great news! It sounds like you've made a lot of >>> progress, and I certainly hope that you can make your >>> source available under the LLVM license and that we can >>> all work together going forward. >>> >>> -Hal >>> >>> On 1/11/20 12:52 PM, Prashanth N R via llvm-dev wrote: >>>> Hi- >>>> >>>> In August we made an announcement of "FC: A new >>>> fortran front end" [1]. At that time to get an >>>> end-to-end solution, we made FC to emit LLVM IR >>>> directly. At present, we have upgraded FC to emit >>>> MLIR. Currently the language supported is close to >>>> Fortran-95. Apart from 400+ unit test cases, out >>>> framework passes two SPEC-2017 benchmarks >>>> successfully. Currently we are cleaning up the code >>>> and plan to open source the same in a week or so. >>>> >>>> Apart from the front end changes, we have defined a new >>>> high level dialect in MLIR for representing Fortran. We >>>> have defined a new Loop Nest Optimization framework >>>> along with one Loop Nest Optimization in it for the >>>> time being. Also we have supported 4 OpenMP constructs >>>> and way to express the same in MLIR framework. >>>> >>>> Entire code is in the spirit of LLVM. If the community >>>> is interested, we would like to work with the community >>>> and move forward. >>>> >>>> thanks, >>>> -Prashanth >>>> >>>> PS: We did try to use F18 for a while and hit the >>>> issues raised in [2], [3]. >>>> >>>> 1. >>>> http://lists.llvm.org/pipermail/llvm-dev/2019-August/134620.html >>>> 2. >>>> http://lists.llvm.org/pipermail/llvm-dev/2020-January/138069.html >>>> 3. >>>> http://lists.llvm.org/pipermail/flang-dev/attachments/20191202/6e7c1e51/attachment-0001.pdf >>>> OR >>>> http://lists.llvm.org/pipermail/flang-dev/2019-December/000089.html >>>> >>>> >>>> _______________________________________________ >>>> LLVM Developers mailing list >>>> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> >>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>> -- >>> Hal Finkel >>> Lead, Compiler Technology and Programming Languages >>> Leadership Computing Facility >>> Argonne National Laboratory >>> _______________________________________________ >>> LLVM Developers mailing list >>> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> >>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200219/f3276f23/attachment.html>
Prashanth N R via llvm-dev
2020-Feb-20 11:48 UTC
[llvm-dev] FC : A MLIR+LLVM based Fortran front end
Hi Petr- Both the benchmarks run. We are currently working on fotonik and roms. We will support some of Fortran 2003 features soon. thanks, -Prashanth On Thu, Feb 20, 2020 at 11:57 AM Petr Penzin <penzin.dev at gmail.com> wrote:> Hi Prashanth, > > Do those benchmarks run? They seem to be relatively short (bwaves [1], > exchange [2]), but if the runs verify correctly that would be pretty good. > > Do you plan on supporting any of the Fortran 2003 features? > > > -Petr > > [1]: https://www.spec.org/cpu2017/Docs/runcpu-avoidance.html#pickone > > [2]: https://www2.hawaii.edu/~nreed/ics606/papers/Metcalf06Sudoku.pdf > On 2/17/20 9:19 AM, Prashanth N R wrote: > > Hi Petr- > > 1. We compile SPEC benchmarks bwaves and xchange currently. We are close > to compiling fotonik at this point. > 2. We released the source as experimental for the community to take a > look. Soon we will open source the entire history of development(we are > working on the script to upload the history). > > thanks, > -Prashanth > > On Mon, Feb 10, 2020 at 4:20 AM Petr Penzin via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> >> *FC* >> https://github.com/compiler-tree-technologies/fc >> Not related to any of the above, but seems to be in some ways similar to >> Clang/(old)Flang/Fort. Recursive descent parser; emits MLIR. Does not use >> tablegen, has a different way of throwing errors, has no builtin >> diagnostics, also no driver. Project has only seven commits to this date. >> Not clear on the Fortran standard support (has flags to support f77 and >> f95), the claim that it can compile a couple of larger application from >> SPEC, but I can't find which ones. >> >> >> On 1/13/20 9:02 AM, James Y Knight via llvm-dev wrote: >> >> Neat, another fortran compiler option. >> >> Does anyone have a list/comparison of all the LLVM fortran compilers? I'm >> not really tracking this, since Fortran isn't really my area of expertise, >> but I've seen the following. Perhaps there are even more? >> >> "Flang". The original of the name, I think? Abandoned. >> https://github.com/llvm-flang/flang >> "Fort" -- fork of the above flang, renamed. Seems active. >> https://github.com/llvm-fortran/fort/ >> >> "Flag". Different from the other "flang". Active, but deprecated in favor >> of f18. >> https://github.com/flang-compiler/flang >> "f18". Rewrite-from-scratch (?) of adjacent "flang". Active, but not >> fully-functional yet (I think?). >> https://github.com/flang-compiler/f18 >> >> "FC". Newly-developed, independent of the other compilers. Active. (But >> this source-code dates from the previous announcement, not yet updated with >> latest developments): >> https://github.com/compiler-tree-technologies/fc >> >> I don't know how any of these compare with each other, nor why we have so >> many. I have no opinion on which or whether any of these should be >> "blessed", nor do I really want to become educated enough on this topic to >> gain such an opinion personally. >> >> But, given that there appear to be at least 3 fortran compilers under >> active development by different people, I would love to be reassured that >> such a comparison has been done, and that we are selecting one of them for >> good reasons. It'd be great if someone (or multiple someones) could post a >> summary/comparison of what these things all are, and why one is the right >> path forward vs another. >> >> On Mon, Jan 13, 2020 at 2:46 AM Prashanth N R via llvm-dev < >> llvm-dev at lists.llvm.org> wrote: >> >>> Hi Chris- >>> We are mostly cleaning up the code for open sourcing. Early code drop >>> will happen in a day or two and will continue through this week. We would >>> love to work with the rest of the community on this. >>> >>> thanks, >>> -Prashanth >>> >>> On Mon, Jan 13, 2020 at 11:17 AM Chris Lattner <clattner at nondot.org> >>> wrote: >>> >>>> Agreed! Is the code already available? What are your plans for it, >>>> and are you interested in collaboration with the rest of the LLVM >>>> community? >>>> >>>> -Chris >>>> >>>> On Jan 11, 2020, at 11:58 AM, Finkel, Hal J. via llvm-dev < >>>> llvm-dev at lists.llvm.org> wrote: >>>> >>>> Hi, Prashanth, >>>> >>>> That's great news! It sounds like you've made a lot of progress, and I >>>> certainly hope that you can make your source available under the LLVM >>>> license and that we can all work together going forward. >>>> >>>> -Hal >>>> On 1/11/20 12:52 PM, Prashanth N R via llvm-dev wrote: >>>> >>>> Hi- >>>> >>>> In August we made an announcement of "FC: A new fortran front end" >>>> [1]. At that time to get an end-to-end solution, we made FC to emit LLVM IR >>>> directly. At present, we have upgraded FC to emit MLIR. Currently the >>>> language supported is close to Fortran-95. Apart from 400+ unit test cases, >>>> out framework passes two SPEC-2017 benchmarks successfully. Currently we >>>> are cleaning up the code and plan to open source the same in a week or so. >>>> >>>> Apart from the front end changes, we have defined a new high level >>>> dialect in MLIR for representing Fortran. We have defined a new Loop Nest >>>> Optimization framework along with one Loop Nest Optimization in it for the >>>> time being. Also we have supported 4 OpenMP constructs and way to express >>>> the same in MLIR framework. >>>> >>>> Entire code is in the spirit of LLVM. If the community is interested, >>>> we would like to work with the community and move forward. >>>> >>>> thanks, >>>> -Prashanth >>>> >>>> PS: We did try to use F18 for a while and hit the issues raised in [2], >>>> [3]. >>>> >>>> 1. http://lists.llvm.org/pipermail/llvm-dev/2019-August/134620.html >>>> 2. http://lists.llvm.org/pipermail/llvm-dev/2020-January/138069.html >>>> 3. >>>> http://lists.llvm.org/pipermail/flang-dev/attachments/20191202/6e7c1e51/attachment-0001.pdf >>>> OR http://lists.llvm.org/pipermail/flang-dev/2019-December/000089.html >>>> >>>> >>>> _______________________________________________ >>>> LLVM Developers mailing listllvm-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>>> >>>> -- >>>> Hal Finkel >>>> Lead, Compiler Technology and Programming Languages >>>> Leadership Computing Facility >>>> Argonne National Laboratory >>>> >>>> _______________________________________________ >>>> LLVM Developers mailing list >>>> llvm-dev at lists.llvm.org >>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>>> >>>> >>>> _______________________________________________ >>> LLVM Developers mailing list >>> llvm-dev at lists.llvm.org >>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>> >> >> _______________________________________________ >> LLVM Developers mailing listllvm-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200220/2b04d0f4/attachment-0001.html>