Announcement

Collapse
No announcement yet.

NNSA & NVIDIA To Develop LLVM Fortran Compiler

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • NNSA & NVIDIA To Develop LLVM Fortran Compiler

    Phoronix: NNSA & NVIDIA To Develop LLVM Fortran Compiler

    The US Department of Energy's National Nuclear Security Administration has teamed up with NVIDIA's PGI compiler division to create an open-source Fortran compiler atop LLVM...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    I likely have no idea what I'm talking about and don't really remember where I heard this at, but isn't Fortran pretty dated nowadays? What benefit does it have over other compilers?

    Comment


    • #3
      Fortran is used for high-end mathematics.

      Comment


      • #4
        About time.
        Originally posted by Espionage724 View Post
        I likely have no idea what I'm talking about and don't really remember where I heard this at, but isn't Fortran pretty dated nowadays? What benefit does it have over other compilers?
        There is little to none benefit to writing computational codes in Fortran rather than, say, C, but it has many things for low-to-medium complexity things built in and greatly simplified, and is still very popular.

        Comment


        • #5
          Originally posted by Espionage724 View Post
          I likely have no idea what I'm talking about and don't really remember where I heard this at, but isn't Fortran pretty dated nowadays? What benefit does it have over other compilers?
          Fortran is a language, not a compiler.

          The NNSA probably has a lot of old Fortran code, since newer languages didn't exist when current reactors were designed and built. Rewriting and testing (heavily!) large amounts of working code into a new language would be expensive and risk introducing new bugs.

          An LLVM frontend for Fortran won't just allow compiling for more platforms, it'll allow use of LLVM's excellent static analysis and various runtime debugging tools. That should help with testing the existing code and any changes to it.

          Comment


          • #6
            Originally posted by magika View Post
            About time.

            There is little to none benefit to writing computational codes in Fortran rather than, say, C, but it has many things for low-to-medium complexity things built in and greatly simplified, and is still very popular.
            Fortran is particularly popular among non-software developer types. Such as scientists in other fields who are coding up algorithms to use computers to crunch through lots of data.

            Comment


            • #7
              Originally posted by magika View Post
              About time.

              There is little to none benefit to writing computational codes in Fortran rather than, say, C, but it has many things for low-to-medium complexity things built in and greatly simplified, and is still very popular.
              That's not true. Fortran is a simpler language and so easier for the compiler to optimize. C is extremely general and more complicated. A C compiler can't make as many assumptions and do can't aggressively optimize like a Fortran compiler. One example that comes to mind is the introduction of the "restrict" keyword in C99. Fortran never had to deal with pointer aliasing issues.

              Comment


              • #8
                Can't wait till they add Cobol.

                /snark

                Comment


                • #9
                  Originally posted by nslay View Post

                  That's not true. Fortran is a simpler language and so easier for the compiler to optimize. C is extremely general and more complicated. A C compiler can't make as many assumptions and do can't aggressively optimize like a Fortran compiler. One example that comes to mind is the introduction of the "restrict" keyword in C99. Fortran never had to deal with pointer aliasing issues.
                  You might be correct. However, at the same time there is lot more high level stuff going on that drives me nuts sometimes, like every array having a few additional variables somewhere inside for each dimension, with built in range checking (depends on compiler if that is enabled), more complicated file IO. Threads? Unless you rely on 3rd party stuff then OMP is probably the only choice (threaded behaviour is probably not even defined in standard). SSE/AVX? Again rely on compiler to do that for you, or write C/asm code for that.

                  Comment


                  • #10
                    Originally posted by nslay View Post

                    That's not true. Fortran is a simpler language and so easier for the compiler to optimize. C is extremely general and more complicated. A C compiler can't make as many assumptions and do can't aggressively optimize like a Fortran compiler. One example that comes to mind is the introduction of the "restrict" keyword in C99. Fortran never had to deal with pointer aliasing issues.
                    Also, there isn't a mathematician or physicist in the world who will sacrifice the precision and accuracy of FORTRAN for any C based or higher level language.

                    Comment

                    Working...
                    X