[llvm-dev] FC : A MLIR+LLVM based Fortran front end

Prashanth N R via llvm-dev llvm-dev at lists.llvm.org
Thu Feb 20 03:48:53 PST 2020


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>


More information about the llvm-dev mailing list